tiramisu/Makefile
Daniel Dehennin 28d053430b Fix installation for non EOLE developpers
The version is extracted from “relase/” tags and they exists only on EOLE
git repository.

* Makefile (install): Depends on version file.
  (version.in): Fake dev version for developpers without devel release
  tags

* setup.py: Add missing subprocess import.
  (fetch_version): Use same fallback version as Makefile.
2013-07-18 12:23:50 +02:00

77 lines
2.2 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: 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