Imported gammu 0.90.7
[gammu.git] / cfg / Makefile.glo
blobc5735f4f93bddb4119541872a6ab9f1131c07578
2 # --------------- Makefile options, which doesn't depend on OS ----------------
4 # Version used for soname, should change on each API change
5 SONAME_MAJOR = 0
6 SONAME_MINOR = 0
8 # these subdirectories from /docs are copied to docs dir
9 # ("\" CHAR IS AFTER NAME WITHOUT SPACE)
10 DOCS      = docs\
11             examples
13 # common files
14 COMMON    = $(TOPDIR)/common/gsmcomon.o \
15             $(TOPDIR)/common/gsmstate.o \
16             $(TOPDIR)/common/misc/misc.o \
17             $(TOPDIR)/common/misc/cfg.o \
18             $(TOPDIR)/common/misc/coding/coding.o \
19             $(TOPDIR)/common/misc/coding/md5.o \
20             $(TOPDIR)/common/service/sms/gsmsms.o \
21             $(TOPDIR)/common/service/sms/gsmems.o \
22             $(TOPDIR)/common/service/sms/gsmmulti.o \
23             $(TOPDIR)/common/service/gsmcal.o \
24             $(TOPDIR)/common/service/gsmwap.o \
25             $(TOPDIR)/common/service/gsmpbk.o \
26             $(TOPDIR)/common/service/gsmring.o \
27             $(TOPDIR)/common/service/gsmlogo.o \
28             $(TOPDIR)/common/service/gsmmisc.o \
29             $(TOPDIR)/common/service/gsmnet.o \
30             $(TOPDIR)/common/service/backup/gsmback.o \
31             $(TOPDIR)/common/service/backup/backldif.o \
32             $(TOPDIR)/common/service/backup/backlmb.o \
33             $(TOPDIR)/common/service/backup/backtext.o \
34             $(TOPDIR)/common/service/backup/backvcs.o \
35             $(TOPDIR)/common/service/backup/backvcf.o \
36             $(TOPDIR)/common/service/backup/backics.o \
37             $(TOPDIR)/common/device/bluetoth/bluetoth.o \
38             $(TOPDIR)/common/device/serial/ser_unx.o \
39             $(TOPDIR)/common/device/serial/ser_djg.o \
40             $(TOPDIR)/common/device/irda/irda.o \
41             $(TOPDIR)/common/device/devfunc.o \
42             $(TOPDIR)/common/protocol/at/at.o \
43             $(TOPDIR)/common/protocol/alcatel/alcabus.o \
44             $(TOPDIR)/common/protocol/nokia/mbus2.o \
45             $(TOPDIR)/common/protocol/nokia/fbus2.o \
46             $(TOPDIR)/common/protocol/nokia/phonet.o \
47             $(TOPDIR)/common/protocol/obex/obex.o \
48             $(TOPDIR)/common/protocol/symbian/mrouter.o \
49             $(TOPDIR)/common/phone/pfunc.o \
50             $(TOPDIR)/common/phone/at/atgen.o \
51             $(TOPDIR)/common/phone/at/siemens.o \
52             $(TOPDIR)/common/phone/at/sonyeric.o \
53             $(TOPDIR)/common/phone/alcatel/alcatel.o \
54             $(TOPDIR)/common/phone/nokia/dct3/n6110.o \
55             $(TOPDIR)/common/phone/nokia/dct3/n7110.o \
56             $(TOPDIR)/common/phone/nokia/dct3/n9210.o \
57             $(TOPDIR)/common/phone/nokia/dct3/dct3func.o \
58             $(TOPDIR)/common/phone/nokia/dct4/n3650.o \
59             $(TOPDIR)/common/phone/nokia/dct4/n6510.o \
60             $(TOPDIR)/common/phone/nokia/dct4/dct4func.o \
61             $(TOPDIR)/common/phone/nokia/nauto.o \
62             $(TOPDIR)/common/phone/nokia/nfunc.o \
63             $(TOPDIR)/common/phone/nokia/nfuncold.o \
64             $(TOPDIR)/common/phone/obex/obexgen.o \
65             $(TOPDIR)/common/phone/symbian/mroutgen.o
67 # files for command line gammu
68 GAMMU     = $(TOPDIR)/gammu/depend/dct3.o \
69             $(TOPDIR)/gammu/depend/dct3trac/wmx.o \
70             $(TOPDIR)/gammu/depend/dct3trac/wmx-gsm.o \
71             $(TOPDIR)/gammu/depend/dct3trac/wmx-list.o \
72             $(TOPDIR)/gammu/depend/dct3trac/wmx-sim.o \
73             $(TOPDIR)/gammu/depend/dct3trac/wmx-util.o \
74             $(TOPDIR)/gammu/depend/dct4.o \
75             $(TOPDIR)/gammu/depend/dsiemens.o \
76             $(TOPDIR)/gammu/smsd/smsdcore.o \
77             $(TOPDIR)/gammu/smsd/s_files.o \
78             $(TOPDIR)/gammu/sniff.o \
79             $(TOPDIR)/gammu/gammu.o
81 LOCALE    = $(TOPDIR)/common/misc/misc.o \
82             $(TOPDIR)/common/misc/cfg.o \
83             $(TOPDIR)/common/misc/coding/coding.o \
84             $(TOPDIR)/cfg/locale/locale.o
85      
86 LOCALE2   = $(TOPDIR)/cfg/locale
88 include $(TOPDIR)/cfg/Makefile.cfg
90 DESTDIR = 
92 # --------------------------- internal source ---------------------------------
94 %.o: %.c
95         @( echo Making $<; \
96             curdir=`pwd`; \
97             cd $(@D); \
98             $(CC) -c $(CFLAGS) -I$${curdir}/common/ $(CPPFLAGS) $(<F) -o $(@F) \
99         )
100     
101 all: gammu
103 $(TOPDIR)/gammu/gammu: $(COMMON) $(GAMMU)
104         @echo Linking
105         @$(CC) $(LDLIBS) $(COMMON) $(GAMMU) -lm -o $(TOPDIR)/gammu/gammu
106   
107 gammu: $(TOPDIR)/gammu/gammu
109 $(TOPDIR)/common/libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR): $(COMMON)
110         @echo Linking libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR)
111         @$(CC) $(LDLIBS) -shared -Wl,-soname -Wl,libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR) -o $(TOPDIR)/common/libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR) $(COMMON)
112         @$(LN) -s libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR) $(TOPDIR)/common/libGammu.so.$(SONAME_MAJOR)
113         @$(LN) -s libGammu.so.$(SONAME_MAJOR) $(TOPDIR)/common/libGammu.so
115 $(TOPDIR)/common/libGammu.a: $(COMMON)
116         @echo Linking libGammu.a
117         @$(RM) $(TOPDIR)/common/libGammu.a
118         @$(AR) cru $(TOPDIR)/common/libGammu.a $(COMMON)
119         @$(RANLIB) $(TOPDIR)/common/libGammu.a
121 $(TOPDIR)/gammu/gammu-shared: $(COMMON) $(GAMMU) $(TOPDIR)/common/libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR)
122         @echo Linking
123         @$(CC) $(LDFLAGS) $(LDLIBS) $(GAMMU) -lm -L$(TOPDIR)/common -lGammu -o $(TOPDIR)/gammu/gammu-shared
125 shared: $(TOPDIR)/common/libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR) $(TOPDIR)/common/libGammu.a $(TOPDIR)/gammu/gammu-shared
127 # Backward compatibility
128 makelib: shared
130 clean:
131         @echo Cleaning binaries and object files
132         @$(RM) $(COMMON) $(GAMMU) core $(TOPDIR)/common/libGammu*
133         @$(RM) $(TOPDIR)/gammu/gammu $(TOPDIR)/gammu/gammu-shared tags
134         @$(RM) $(TOPDIR)/cfg/locale/locale.o $(TOPDIR)/cfg/locale/locale
135         @echo Cleaning autoconf stuff
136         @$(RM) -r $(TOPDIR)/cfg/autoconf/*.cache \
137             $(TOPDIR)/cfg/autoconf/config.log \
138             $(TOPDIR)/cfg/autoconf/config.status \
139             $(TOPDIR)/cfg/autoconf/VERSION \
140             $(TOPDIR)/cfg/autoconf/configure
141         @echo Cleaning API documentation
142         @$(RM) -r gammu-doc
144 makelocale: $(LOCALE)
145         @echo Linking locale application
146         @$(CC) $(LOCALE) -lm -o $(TOPDIR)/cfg/locale/locale
147         @for xxx in $(LOCALE2); do \
148             ( cd $$xxx; \
149                 ./locale \
150             ) \
151         done
152         @$(RM) $(TOPDIR)/cfg/locale/locale.o $(TOPDIR)/cfg/locale/locale
154 distclean: makelocale clean
155         @echo Setting default config
156         @chmod a+x $(TOPDIR)/docs/examples/ppp/*
157         @chmod a+x $(TOPDIR)/docs/examples/fax/*
158         @chmod a+x $(TOPDIR)/other/config/*
159         @chmod a+x $(TOPDIR)/other/smsdutil/*
160         @chmod a+x $(TOPDIR)/other/perms/perms
161         @chmod a+x $(TOPDIR)/configure
162         @$(TOPDIR)/configure
163         @echo Cleaning autoconf stuff
164         @$(RM) -r $(TOPDIR)/cfg/autoconf/*.cache \
165         $(TOPDIR)/cfg/autoconf/config.log \
166         $(TOPDIR)/cfg/autoconf/config.status \
167         $(TOPDIR)/cfg/autoconf/VERSION \
168         $(TOPDIR)/cfg/autoconf/configure
169    
170 uninstall:
171         @echo Uninstalling Gammu
172         @$(RM) $(DESTDIR)$(INSTALL_BIN_DIR)/gammu $(DESTDIR)$(INSTALL_LIB_DIR)/libGammu.so*
173         @$(RM) $(DESTDIR)$(INSTALL_MAN_DIR)/gammu.1 $(DESTDIR)$(INSTALL_LIB_DIR)/libGammu.a
174         @$(RM) -r $(DESTDIR)$(INSTALL_DOC_DIR)/
175         @$(RM) -r $(DESTDIR)$(INSTALL_LOC_DIR)/
177 installlocales:
178         @echo Installing locales to $(DESTDIR)$(INSTALL_LOC_DIR)
179         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_LOC_DIR)
180         @$(FIND) docs/docs/locale -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(INSTALL_LOC_DIR) \;
182 installdocs:
183         @echo Installing docs to $(DESTDIR)$(INSTALL_DOC_DIR)
184         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_DOC_DIR)
185         @for xxx in $(DOCS); do \
186             ( cd $(TOPDIR)/docs/$$xxx; \
187                 $(FIND) . -type d \! -path "*CVS*" \
188                     -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_DOC_DIR)/$$xxx/{} \; ; \
189                 $(FIND) . -type f \! -path "*CVS*" \
190                     -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(INSTALL_DOC_DIR)/$$xxx/{} \; \
191             ) \
192         done
193         @$(RM) -rf $(DESTDIR)$(INSTALL_DOC_DIR)/docs/locale
194         @$(INSTALL) -m 0644 $(TOPDIR)/changelog $(DESTDIR)$(INSTALL_DOC_DIR)
195         @$(INSTALL) -m 0644 $(TOPDIR)/readme.txt $(DESTDIR)$(INSTALL_DOC_DIR)
196         @$(INSTALL) -m 0644 $(TOPDIR)/copying $(DESTDIR)$(INSTALL_DOC_DIR)
197         @echo Installing man to $(DESTDIR)$(INSTALL_MAN_DIR)
198         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_MAN_DIR)
199         @$(INSTALL) -m 0644 $(TOPDIR)/docs/docs/english/gammu.1 $(DESTDIR)$(INSTALL_MAN_DIR)
200         @$(RM) $(DESTDIR)$(INSTALL_DOC_DIR)/docs/english/gammu.1
202 install: uninstall all installdocs installlocales installonly
204 installonly: all
205         @echo Installing binaries to $(DESTDIR)$(INSTALL_BIN_DIR)
206         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_BIN_DIR)
207         @$(INSTALL) -m 0755 $(TOPDIR)/gammu/gammu $(DESTDIR)$(INSTALL_BIN_DIR)
209 installshared: installlib
210 installlib: uninstall makelib installdocs installlocales installlibonly
212 installlibonly: shared
213         @echo Installing binaries to $(DESTDIR)$(INSTALL_BIN_DIR)
214         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_BIN_DIR)
215         @$(INSTALL) -m 0755 $(TOPDIR)/gammu/gammu-shared $(DESTDIR)$(INSTALL_BIN_DIR)/gammu
217         @echo Installing shared library to $(DESTDIR)$(INSTALL_LIB_DIR)
218         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_LIB_DIR)
219         @$(INSTALL) -m 0644 $(TOPDIR)/common/libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR) $(DESTDIR)$(INSTALL_LIB_DIR)
220         @$(LN) -s libGammu.so.$(SONAME_MAJOR).$(SONAME_MINOR) $(DESTDIR)$(INSTALL_LIB_DIR)/libGammu.so.$(SONAME_MAJOR)
221         @$(LN) -s libGammu.so.$(SONAME_MAJOR) $(DESTDIR)$(INSTALL_LIB_DIR)/libGammu.so
223         @echo Installing static library to $(DESTDIR)$(INSTALL_LIB_DIR)
224         @$(INSTALL) -m 0644 $(TOPDIR)/common/libGammu.a $(DESTDIR)$(INSTALL_LIB_DIR)
226         @echo Installing include files to $(DESTDIR)$(INSTALL_H_DIR)
227         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_H_DIR)
228         @for xxx in '$(TOPDIR)/common'; do \
229             ( cd $(TOPDIR)/$$xxx; \
230                 $(FIND) . -type d \! -path "*CVS*" \
231                     -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_H_DIR)/{} \; ; \
232                 $(FIND) . -type f \! -path "*CVS*" -name '*.h' \
233                     -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(INSTALL_H_DIR)/{} \; \
234             ) \
235         done
236         @$(INSTALL) -m 0644 cfg/config.h $(DESTDIR)$(INSTALL_H_DIR)/config.h
238         @echo Installing pkgconfig file
239         @$(INSTALL) -m 0755 -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
240         @$(INSTALL) -m 0644 cfg/pkgconfig/gammu.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
242 apidoc:
243         @if test -z "$(DOXYGEN)" ; then \
244             echo "You need doxygen to generate API documentation."; \
245             echo "Install doxygen and rerun configure." ; \
246             exit 1 ;\
247         fi
248         @echo "Generating API documentation in gammu-doc directory"
249         @$(DOXYGEN) cfg/doxygen/Doxyfile
251 tags: $(shell find . -name '*.[ch]' -o -name '*.cpp')
252         @echo Generating tags file
253         @ctags $(shell find . -name '*.[ch]' -o -name '*.cpp')
255 # This will convert all *.[ch] files to CRLF (DOS/Windoze), it expects all
256 # files are LF only or CRLF only
257 todos:
258         @echo "Converting to CRLF:"
259         @find . -name '*.[ch]' -o -name '*.cpp' | \
260         while read fname ; do \
261             echo "$${fname}"; \
262             todos "$${fname}"; \
263         done
265 # This will convert all *.[ch] files to LF (Unix/Linux), it expects all
266 # files are LF only or CRLF only
267 fromdos:
268         @echo "Converting to LF:"
269         @find . -name '*.[ch]' -o -name '*.cpp' | \
270         while read fname ; do \
271             echo "$${fname}"; \
272             fromdos "$${fname}"; \
273         done
275 # This will convert all *.[ch] files to LF (Unix/Linux), it will convert any
276 # possible single remaining CR to LF
277 fixcrlf:
278         @echo "Converting to LF with fixup:"
279         @tmpfile=`mktemp /tmp/gammu-fixcrlf.XXXXXX` export tmpfile ; \
280         find . -name '*.[ch]' -o -name '*.cpp' | \
281         while read fname ; do \
282             echo -n "$${fname}" ; \
283             fromdos "$${fname}" ; \
284             if ( file "$${fname}" | grep -q 'CR' ) ; then \
285                 cat "$${fname}" > "$${tmpfile}" ; \
286                 tr '\r' '\n' < "$${tmpfile}" > "$${fname}" ; \
287                 echo " fixed" ; \
288             else \
289                 echo " OK" ; \
290             fi \
291         done ; \
292         rm -f "$${fname}" ; \
293         unset tempfile
295 cleantree:
296         @echo Making Gammu tree snapshot
297         @$(INSTALL) -d $(TEMP_DIR)/gammu-$(VERSION)/
298         @for xxx in '.'; do \
299             ( cd $(TOPDIR)/$$xxx; \
300                 $(FIND) . -type d \! -path "*CVS*" \
301                     -exec $(INSTALL) -m 0755 -d $(TEMP_DIR)/gammu-$(VERSION)/{} \; ; \
302                 $(FIND) . -type f \! -path "*CVS*" \
303                     -exec $(INSTALL) -m 0644 {} $(TEMP_DIR)/gammu-$(VERSION)/{} \; \
304             ) \
305         done
306         @$(RM) -rf gammu-$(VERSION)/
307         @$(INSTALL) -d gammu-$(VERSION)
308         @cp $(TEMP_DIR)/gammu-$(VERSION)/* --target-directory=gammu-$(VERSION) -r
309         @$(RM) $(TEMP_DIR)/gammu-$(VERSION) -r 
310         @chmod a+rwx gammu-$(VERSION)/configure
311         make -C gammu-$(VERSION) clean
313 rpm: cleantree
314         @find gammu-$(VERSION)/ -exec chmod u+w {} \;
315         @echo Creating $(RPM_DIR)/SOURCES/gammu-$(VERSION).tar.gz file
316         @tar cvfz $(RPM_DIR)/SOURCES/gammu-$(VERSION).tar.gz gammu-$(VERSION) > /dev/null
317         @echo Removing Gammu tree snapshot
318         @$(RM) -r gammu-$(VERSION)/
319         @echo Installing $(RPM_DIR)/SPECS/gammu.spec
320         @$(INSTALL) -m 0444 $(TOPDIR)/gammu.spec $(RPM_DIR)/SPECS/gammu.spec
321         @echo Making packages
322         @$(RPMBUILD) -ba -v $(RPM_DIR)/SPECS/gammu.spec
323         @$(RM) $(RPM_DIR)/SPECS/gammu.spec
324         @$(RM) $(RPM_DIR)/SOURCES/gammu-$(VERSION).tar.gz
325         @$(RM) -r $(RPM_DIR)/BUILD/gammu-$(VERSION)
326         @$(MV) $(RPM_DIR)/SRPMS/gammu-$(VERSION)*.rpm ..
327         @$(MV) $(RPM_DIR)/RPMS/*/gammu-*$(VERSION)*.rpm ..
328         @ls -l ../gammu-*$(VERSION)*.rpm
330 deb: 
331         @echo Building Debian package
332         @fakeroot make -f debian/rules binary