source: trunk/Makefile @ 333

Revision 333, 2.9 KB checked in by marc, 3 years ago (diff)

fixed ln again

  • Property svn:executable set to *
Line 
1INSTALL ?= install
2RM ?= rm
3MSGFMT ?= msgfmt
4MSGMERGE ?= msgmerge
5XGETTEXT ?= xgettext
6FIND ?= find
7
8PREFIX = /usr/local
9# This is for debian
10REAL_PREFIX = $(PREFIX)
11
12LIBDIR = $(PREFIX)/lib/itaka
13BINDIR = $(PREFIX)/bin
14DATADIR = $(PREFIX)/share/itaka
15IMAGESDIR = $(DATADIR)/images
16LOCALEDIR = $(DATADIR)/locale
17APPLICATIONSDIR = $(PREFIX)/share/applications
18ICONDIR = $(PREFIX)/share/pixmaps
19MANDIR = $(PREFIX)/share/man/man1
20
21# For debian compatibility, these are hardcoded
22REPLACEIMAGESDIR = $(REAL_PREFIX)/share/itaka/images/
23REPLACELOCALEDIR = $(REAL_PREFIX)/share/itaka/locale/
24
25
26PYFILES := $(shell $(FIND) . -name "*.py" -print)
27
28install:
29        # Replace images and locales directory
30        mv config.py config.py.old
31        mv itaka.py itaka.py.old
32        sed "s|/usr/local/share/itaka/images/|$(REPLACEIMAGESDIR)|g" config.py.old > config.py
33        sed "s|/usr/share/locale/|$(REPLACELOCALEDIR)|g" itaka.py.old > itaka.py
34       
35        $(INSTALL) -m 755 -d $(BINDIR) $(DATADIR) $(LIBDIR) $(IMAGESDIR) $(APPLICATIONSDIR) $(ICONDIR) $(MANDIR)
36        $(INSTALL) -m 755 *.py $(LIBDIR)
37
38        # We only need a few images
39        $(INSTALL) -m 644 share/images/itaka.png $(IMAGESDIR)
40        $(INSTALL) -m 644 share/images/itaka-take.png $(IMAGESDIR)
41        $(INSTALL) -m 644 share/images/itaka-secure.png $(IMAGESDIR)
42        $(INSTALL) -m 644 share/images/itaka-secure-take.png $(IMAGESDIR)
43        $(INSTALL) -m 644 share/images/itaka16x16-take.png $(IMAGESDIR)
44        $(INSTALL) -m 644 share/images/itaka16x16-secure-take.png $(IMAGESDIR)
45        $(INSTALL) -m 644 share/images/itaka64x64.png $(IMAGESDIR)
46
47        # Would symlink but it fails
48        cp $(IMAGESDIR)/itaka.png $(ICONDIR)/itaka.png
49        #ln -sf share/itaka/images/itaka.png $(ICONDIR)/itaka.png
50
51        $(INSTALL) -m 644 share/itaka.desktop $(APPLICATIONSDIR)
52        gzip -9 -c share/itaka.1 > share/itaka.1.gz
53        $(INSTALL) -m 644 share/itaka.1.gz $(MANDIR)
54        if test -f $(BINDIR)/itaka; then rm $(BINDIR)/itaka; fi
55
56        # Create our binary directory for the symlink
57        if test ! -d $(BINDIR); then mkdir $(BINDIR); fi
58        ln -sf  $(LIBDIR)/itaka.py $(BINDIR)/itaka
59
60        #echo $( ls $(BINDIR)/itaka )
61        chmod +x $(BINDIR)/itaka
62       
63        for lang in locale/*; do
64            if [[ -e $lang/LC_MESSAGES/itaka.po ]]; then
65                for pofile in $lang/LC_MESSAGES/itaka.po; do
66                    msgfmt $pofile -o $lang/LC_MESSAGES/itaka.mo && $(INSTALL) -m 644 $pofile $(LOCALEDIR)/${lang#locale/}/LC_MESSAGES/itaka.mo;
67                done;
68            fi;
69        done
70
71        # Clean up
72        mv config.py.old config.py
73        mv itaka.py.old itaka.py
74
75uninstall:
76        rm -r $(BINDIR)/itaka $(DATADIR) $(LIBDIR) $(ICONDIR)/itaka.png $(APPLICATIONSDIR)/itaka.desktop $(MANDIR)/itaka.1.gz
77
78clean:
79        find . -type f  \( -regex '.+\.py[co]' -o -name 'itaka.1.gz' \) -exec rm -f {} \;
80        rm locale/*/LC_MESSAGES/*.mo
81
82help:
83        @echo Usage:
84        @echo make clean                - delete built modules and object files
85        @echo make install              - install binaries into the official directories
86        @echo make uninstall            - uninstall binaries from the official directories
87        @echo make help                 - prints this help
88        @echo
89
Note: See TracBrowser for help on using the repository browser.