Important behavior change : to add default_multi value, now use Multi.append(), not...
[tiramisu.git] / Makefile
1 #!/usr/bin/make
2
3 PACKAGE         := tiramisu
4
5 INSTALL         := install
6 INSTALL_DATA    := install -m 644
7 INSTALL_PROGRAM := install -m 755
8 INSTALL_DIR     := install -m 755 -d
9
10 TRADUC_DIR       = translations
11 TRADUC_DEST      = $(DESTDIR)/usr/share/locale
12
13 PYTHON_OPTS      =
14 ifneq ($(DESTDIR),)
15 PYTHON_OPTS     += --root $(DESTDIR)
16 endif
17
18 VERSION                 :=      `cat VERSION`
19
20 define gettext
21     if command -v pygettext >/dev/null 2>&1 ; then \
22         P="pygettext" ; \
23     else \
24             P="pygettext.py" ; \
25     fi ; \
26         $$P -p translations/ -o $(PACKAGE).pot `find $(PACKAGE)/ -name "*.py"`
27 endef
28
29 # Build translation files
30 define build_translation
31     if [ -d ${1} ]; then                                            \
32         for f in `find ${1} -name "*.po"`; do                       \
33             msgfmt -o `dirname $$f`/`basename $$f ".po"`.mo $$f || true; \
34         done;                                                       \
35     fi
36 endef
37
38
39
40 # Install Traduction
41 define install_translation
42     if [ -d ${1} ]; then                          \
43         for file in `find ${1} -name "*.mo"`; do  \
44            $(INSTALL_DIR) $(TRADUC_DEST)/`echo $$file | cut -d '/' -f 2` || true;                     \
45            $(INSTALL_DIR) $(TRADUC_DEST)/`echo $$file | cut -d '/' -f 2`/LC_MESSAGES || true;         \
46            $(INSTALL_DATA) $$file $(TRADUC_DEST)/`echo $$file | cut -d '/' -f 2`/LC_MESSAGES || true; \
47         done;                                     \
48     fi
49 endef
50
51 all: build-lang
52
53 clean:
54         $(RM) -r build
55         $(RM) -r $(PACKAGE).egg-info/
56         $(RM) -r $(TRADUC_DIR)/*/*.mo
57
58 #test: clean
59 #       py.test
60
61 # Build or update Portable Object Base Translation for gettext
62
63 build-pot:
64         $(call gettext)
65
66 build-lang:
67         $(call build_translation, $(TRADUC_DIR))
68
69 install-lang:
70         $(INSTALL_DIR) $(TRADUC_DEST)
71         $(call install_translation, $(TRADUC_DIR))
72
73 install: install-lang
74         python setup.py install --no-compile $(PYTHON_OPTS)
75
76 dist:
77         git archive --format=tar --prefix $(PACKAGE)-$(VERSION)/ HEAD | gzip -9 > $(PACKAGE)-$(VERSION).tar.gz
78
79 # List in .PHONY to force generation at each call
80 .PHONY: all clean build-pot build-lang install-lang install dist