| 1 | VERSION ?= 0.8.1 |
|---|
| 2 | |
|---|
| 3 | GAJIM_AP = 0 |
|---|
| 4 | |
|---|
| 5 | MODULES = src src/common po |
|---|
| 6 | PREFIX = /usr/local |
|---|
| 7 | DESTDIR = |
|---|
| 8 | LIBDIR = /lib |
|---|
| 9 | MANDIR = $(DESTDIR)$(PREFIX)/share/man |
|---|
| 10 | |
|---|
| 11 | FIND = find . \( -name '*.glade' -o -name '*.py' -o -name '*.xpm' -o -name '*.gif' -o -name '*.png' -o -name '*.mo' -o -name '*.wav' \) |
|---|
| 12 | |
|---|
| 13 | FILES = `$(FIND)` |
|---|
| 14 | DIRS = `$(FIND) -exec dirname {} \; | sort -u` |
|---|
| 15 | FIND_LIB = find . -name '*.so' |
|---|
| 16 | FILES_LIB = `$(FIND_LIB)` |
|---|
| 17 | |
|---|
| 18 | SCRIPTS = \ |
|---|
| 19 | scripts/gajim \ |
|---|
| 20 | scripts/gajim-remote |
|---|
| 21 | |
|---|
| 22 | all: translation trayicon gtkspell idle |
|---|
| 23 | |
|---|
| 24 | translation: |
|---|
| 25 | ${MAKE} -C po all |
|---|
| 26 | |
|---|
| 27 | trayicon: |
|---|
| 28 | ${MAKE} -C src trayicon.so; |
|---|
| 29 | |
|---|
| 30 | gtkspell: |
|---|
| 31 | ${MAKE} -C src gtkspell.so; |
|---|
| 32 | |
|---|
| 33 | idle: |
|---|
| 34 | ${MAKE} -C src/common all; |
|---|
| 35 | |
|---|
| 36 | clean: |
|---|
| 37 | find . -name '*.pyc' -exec rm {} \; |
|---|
| 38 | find . -name '*.pyo' -exec rm {} \; |
|---|
| 39 | find . -name '*.mo' -exec rm {} \; |
|---|
| 40 | $(foreach sdir, $(MODULES), ${MAKE} -C $(sdir) clean;) |
|---|
| 41 | |
|---|
| 42 | dist: |
|---|
| 43 | rm -rf gajim-$(VERSION) |
|---|
| 44 | mkdir gajim-$(VERSION) |
|---|
| 45 | cp -r data src po gajim-$(VERSION)/ |
|---|
| 46 | cp AUTHORS gajim.1 gajim-remote.1 gajim.desktop COPYING Makefile Changelog README launch.sh gajim-$(VERSION) |
|---|
| 47 | mkdir gajim-$(VERSION)/scripts |
|---|
| 48 | for s in $(SCRIPTS) ; do \ |
|---|
| 49 | cp $$s gajim-$(VERSION)/scripts/; \ |
|---|
| 50 | done |
|---|
| 51 | cp scripts/gajim-remote.py gajim-$(VERSION)/scripts/; \ |
|---|
| 52 | find gajim-$(VERSION) -name '.svn' -type d | xargs rm -rf |
|---|
| 53 | find gajim-$(VERSION) -name '*.pyc' -exec rm {} \; |
|---|
| 54 | find gajim-$(VERSION) -name '*.pyo' -exec rm {} \; |
|---|
| 55 | find gajim-$(VERSION) -name '.*' -exec rm {} \; |
|---|
| 56 | @echo tarring gajim-$(VERSION) ... |
|---|
| 57 | @tar czf gajim-$(VERSION).tar.gz gajim-$(VERSION)/ |
|---|
| 58 | @tar cjf gajim-$(VERSION).tar.bz2 gajim-$(VERSION)/ |
|---|
| 59 | rm -rf gajim-$(VERSION) |
|---|
| 60 | |
|---|
| 61 | install: |
|---|
| 62 | for d in $(DIRS) ; do \ |
|---|
| 63 | if [ ! -d $(DESTDIR)$(PREFIX)/share/gajim/$$d ] ; then \ |
|---|
| 64 | mkdir -p "$(DESTDIR)$(PREFIX)/share/gajim/$$d"; \ |
|---|
| 65 | fi; \ |
|---|
| 66 | done |
|---|
| 67 | for f in $(FILES) ; do \ |
|---|
| 68 | DST=`dirname "$$f"`; \ |
|---|
| 69 | cp "$$f" "$(DESTDIR)$(PREFIX)/share/gajim/$$DST/"; \ |
|---|
| 70 | done |
|---|
| 71 | cp COPYING "$(DESTDIR)$(PREFIX)/share/gajim/"; |
|---|
| 72 | mkdir -p "$(DESTDIR)$(PREFIX)/share/pixmaps"; |
|---|
| 73 | cp data/pixmaps/gajim.png "$(DESTDIR)$(PREFIX)/share/pixmaps/"; |
|---|
| 74 | cp data/pixmaps/gajim_about.png "$(DESTDIR)$(PREFIX)/share/pixmaps/"; |
|---|
| 75 | mkdir -p "$(DESTDIR)$(PREFIX)/share/applications"; |
|---|
| 76 | cp gajim.desktop "$(DESTDIR)$(PREFIX)/share/applications/"; |
|---|
| 77 | mkdir -p "$(MANDIR)/man1"; |
|---|
| 78 | cp gajim.1 "$(MANDIR)/man1"; |
|---|
| 79 | cp gajim-remote.1 "$(MANDIR)/man1"; |
|---|
| 80 | mkdir -p "$(DESTDIR)$(PREFIX)$(LIBDIR)/gajim"; |
|---|
| 81 | for f in $(FILES_LIB) ; do \ |
|---|
| 82 | cp "$$f" "$(DESTDIR)$(PREFIX)$(LIBDIR)/gajim/"; \ |
|---|
| 83 | done |
|---|
| 84 | mkdir -p "$(DESTDIR)$(PREFIX)/bin"; |
|---|
| 85 | for s in $(SCRIPTS) ; do \ |
|---|
| 86 | BASE=`basename "$$s"`; \ |
|---|
| 87 | if [ $(GAJIM_AP) -ne 0 ] ; then \ |
|---|
| 88 | F=`cat "$$s" | sed -e 's!LIB!$(LIBDIR)!g'`; \ |
|---|
| 89 | else \ |
|---|
| 90 | F=`cat "$$s" | sed -e 's!PREFIX!$(PREFIX)!g' -e 's!LIB!$(LIBDIR)!g'`; \ |
|---|
| 91 | fi; \ |
|---|
| 92 | echo "$$F" > "$(DESTDIR)$(PREFIX)/bin/$$BASE"; \ |
|---|
| 93 | chmod +x "$(DESTDIR)$(PREFIX)/bin/$$BASE"; \ |
|---|
| 94 | done |
|---|
| 95 | |
|---|
| 96 | |
|---|
| 97 | |
|---|
| 98 | |
|---|
| 99 | help: |
|---|
| 100 | @echo Usage: |
|---|
| 101 | @echo make - builds all modules |
|---|
| 102 | @echo make clean - delete built modules and object files |
|---|
| 103 | @echo make install - install binaries into the official directories |
|---|
| 104 | @echo make uninstall - uninstall binaries from the official directories |
|---|
| 105 | @echo make help - prints this help |
|---|
| 106 | @echo |
|---|
| 107 | @echo make trayicon - makes only trayicon module |
|---|
| 108 | @echo make idle - makes only idle detection module |
|---|
| 109 | @echo make translation - makes only translation \(mo files\) |
|---|
| 110 | @echo make gtkspell - makes only gtkspell detection module |
|---|
| 111 | @echo |
|---|
| 112 | |
|---|
| 113 | |
|---|
| 114 | |
|---|
| 115 | |
|---|
| 116 | uninstall: |
|---|
| 117 | rm -rf "$(DESTDIR)$(PREFIX)/share/gajim" |
|---|
| 118 | rm -rf "$(DESTDIR)$(PREFIX)/lib/gajim" |
|---|
| 119 | rm -f "$(DESTDIR)$(PREFIX)/bin/gajim" |
|---|
| 120 | rm -f "$(DESTDIR)$(PREFIX)/bin/gajim-remote" |
|---|
| 121 | rm -f "$(MANDIR)/man1/gajim.1.gz" |
|---|
| 122 | rm -f "$(DESTDIR)$(PREFIX)/share/pixmaps/gajim.png" |
|---|
| 123 | rm -f "$(DESTDIR)$(PREFIX)/share/applications/gajim.desktop" |
|---|
| 124 | @echo done uninstalling |
|---|