#!/usr/bin/make PACKAGE := tiramisu INSTALL := install INSTALL_DATA := install -m 644 INSTALL_PROGRAM := install -m 755 INSTALL_DIR := install -m 755 -d TRADUC_DIR = translations TRADUC_DEST = $(DESTDIR)/usr/share/locale PYTHON_OPTS = ifneq ($(DESTDIR),) PYTHON_OPTS += --root $(DESTDIR) endif LAST_TAG := $(shell git describe --tags --abbrev=0) VERSION := $(shell echo $(LAST_TAG) | awk -F'/' '{print $$2}' || true) VERSION_FILE := version.in # Build translation files define build_translation if [ -d ${1} ]; then \ for f in `find ${1} -name "*.po"`; do \ msgfmt -o `dirname $$f`/`basename -s ".po" $$f`.mo $$f || true; \ done; \ fi endef # Install Traduction define install_translation if [ -d ${1} ]; then \ for file in `find ${1} -name "*.mo"`; do \ $(INSTALL_DIR) $(TRADUC_DEST)/`echo $$file | cut -d '/' -f 2` || true; \ $(INSTALL_DIR) $(TRADUC_DEST)/`echo $$file | cut -d '/' -f 2`/LC_MESSAGES || true; \ $(INSTALL_DATA) $$file $(TRADUC_DEST)/`echo $$file | cut -d '/' -f 2`/LC_MESSAGES || true; \ done; \ fi endef all: clean: $(RM) -r build $(RM) -r tiramisu.egg-info/ $(RM) -r $(TRADUC_DIR)/*/*.mo #test: clean # py.test build-lang: $(call build_translation, $(TRADUC_DIR)) install-lang: build-lang $(INSTALL_DIR) $(TRADUC_DEST) $(call install_translation, $(TRADUC_DIR)) install: version.in install-lang python setup.py install --no-compile $(PYTHON_OPTS) # List in .PHONY to force generation at each call version.in: @if test -n $(VERSION) ; then \ echo -n $(VERSION) > $(VERSION_FILE) ; \ fi @if test ! -s $(VERSION_FILE); then \ echo -n '0.0-dev' > $(VERSION_FILE); \ fi dist: version.in git archive --format=tar --prefix $(PACKAGE)-$(VERSION)/ -o $(PACKAGE)-$(VERSION).tar $(LAST_TAG) \ && tar --xform "s,\(.*\),$(PACKAGE)-$(VERSION)/\1," -f $(PACKAGE)-$(VERSION).tar -r version.in \ && gzip -9 $(PACKAGE)-$(VERSION).tar .PHONY: all clean test install version.in dist