root/branches/gajim_0.8.2/Makefile

Revision 3454, 4.5 kB (checked in by nk, 3 years ago)

say 0.8.2 everywhere

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