74 lines
2.1 KiB
Makefile
74 lines
2.1 KiB
Makefile
#!/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: 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 $(VERSION) > $(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
|