| 1 | INSTALL ?= install |
|---|
| 2 | RM ?= rm |
|---|
| 3 | FIND ?= find |
|---|
| 4 | |
|---|
| 5 | PREFIX = /usr/local |
|---|
| 6 | # This is for debian |
|---|
| 7 | REAL_PREFIX = $(PREFIX) |
|---|
| 8 | |
|---|
| 9 | LIBDIR = $(PREFIX)/lib/itaka |
|---|
| 10 | BINDIR = $(PREFIX)/bin |
|---|
| 11 | DATADIR = $(PREFIX)/share/itaka |
|---|
| 12 | IMAGESDIR = $(DATADIR)/images |
|---|
| 13 | APPLICATIONSDIR = $(PREFIX)/share/applications |
|---|
| 14 | ICONDIR = $(PREFIX)/share/pixmaps |
|---|
| 15 | MANDIR = $(PREFIX)/share/man/man1 |
|---|
| 16 | |
|---|
| 17 | # For debian compatibility, these are hardcoded |
|---|
| 18 | REPLACEIMAGESDIR = $(REAL_PREFIX)/share/itaka/images/ |
|---|
| 19 | |
|---|
| 20 | PYFILES := $(shell $(FIND) . -name "*.py" -print) |
|---|
| 21 | |
|---|
| 22 | install: |
|---|
| 23 | # Replace images directory |
|---|
| 24 | mv config.py config.py.old |
|---|
| 25 | sed "s|/usr/local/share/itaka/images/|$(REPLACEIMAGESDIR)|g" config.py.old > config.py |
|---|
| 26 | |
|---|
| 27 | gzip -9 -c share/itaka.1 > share/itaka.1.gz |
|---|
| 28 | |
|---|
| 29 | $(INSTALL) -m 755 -d $(BINDIR) $(DATADIR) $(LIBDIR) $(IMAGESDIR) $(APPLICATIONSDIR) $(ICONDIR) $(MANDIR) |
|---|
| 30 | $(INSTALL) -m 755 *.py $(LIBDIR) |
|---|
| 31 | |
|---|
| 32 | # We only need a few images |
|---|
| 33 | $(INSTALL) -m 644 share/images/itaka.png $(IMAGESDIR) |
|---|
| 34 | $(INSTALL) -m 644 share/images/itaka-take.png $(IMAGESDIR) |
|---|
| 35 | $(INSTALL) -m 644 share/images/itaka-secure.png $(IMAGESDIR) |
|---|
| 36 | $(INSTALL) -m 644 share/images/itaka-secure-take.png $(IMAGESDIR) |
|---|
| 37 | $(INSTALL) -m 644 share/images/itaka16x16-take.png $(IMAGESDIR) |
|---|
| 38 | $(INSTALL) -m 644 share/images/itaka16x16-secure-take.png $(IMAGESDIR) |
|---|
| 39 | $(INSTALL) -m 644 share/images/itaka64x64.png $(IMAGESDIR) |
|---|
| 40 | |
|---|
| 41 | # Would symlink but it fails |
|---|
| 42 | cp $(IMAGESDIR)/itaka.png $(ICONDIR)/itaka.png |
|---|
| 43 | #ln -sf share/itaka/images/itaka.png $(ICONDIR)/itaka.png |
|---|
| 44 | |
|---|
| 45 | $(INSTALL) -m 644 share/itaka.desktop $(APPLICATIONSDIR) |
|---|
| 46 | $(INSTALL) -m 644 share/itaka.1.gz $(MANDIR) |
|---|
| 47 | if test -f $(BINDIR)/itaka; then rm $(BINDIR)/itaka; fi |
|---|
| 48 | |
|---|
| 49 | # Create our binary directory for the symlink |
|---|
| 50 | if test ! -d $(BINDIR); then mkdir $(BINDIR); fi |
|---|
| 51 | ln -sf $(LIBDIR)/itaka.py $(BINDIR)/itaka |
|---|
| 52 | |
|---|
| 53 | #echo $( ls $(BINDIR)/itaka ) |
|---|
| 54 | chmod +x $(BINDIR)/itaka |
|---|
| 55 | |
|---|
| 56 | # Clean up |
|---|
| 57 | # Get our pre-modified config.py back |
|---|
| 58 | mv config.py.old config.py |
|---|
| 59 | |
|---|
| 60 | uninstall: |
|---|
| 61 | rm -r $(BINDIR)/itaka $(DATADIR) $(LIBDIR) $(ICONDIR)/itaka.png $(APPLICATIONSDIR)/itaka.desktop $(MANDIR)/itaka.1.gz |
|---|
| 62 | |
|---|
| 63 | clean: |
|---|
| 64 | find . -type f \( -regex '.+\.py[co]' -o -name 'itaka.1.gz' \) -exec rm -f {} \; |
|---|
| 65 | |
|---|
| 66 | help: |
|---|
| 67 | @echo Usage: |
|---|
| 68 | @echo make install - install binaries into the official directories |
|---|
| 69 | @echo make clean - delete built modules and object files |
|---|
| 70 | @echo make uninstall - uninstall binaries from the official directories |
|---|
| 71 | @echo make help - prints this help |
|---|
| 72 | @echo |
|---|
| 73 | |
|---|