b8a6b91f06ad89f60764b48301dffcac4fe055b2
[asterisk/asterisk.git] / apps / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for PBX applications
5 #
6 # Copyright (C) 1999-2006, Digium, Inc.
7 #
8 # Mark Spencer <markster@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 MODS:=$(patsubst %.c,%.so,$(wildcard app_*.c))
15
16 #
17 # Experimental things
18 #
19 MODS:=$(filter-out app_ivrdemo.so,$(MODS))
20 MODS:=$(filter-out app_skel.so,$(MODS))
21 MODS:=$(filter-out app_rpt.so,$(MODS))
22
23 ifndef WITHOUT_ZAPTEL
24 ZAPAVAIL:=$(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/zaptel.h $(CROSS_COMPILE_TARGET)/usr/local/include/zaptel.h)
25 endif
26
27 ifeq (${ZAPAVAIL},)
28   MODS:=$(filter-out app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so app_page.so,$(MODS))
29 endif
30
31 ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/osp/osp.h $(CROSS_COMPILE_TARGET)/usr/include/osp/osp.h),)
32   MODS:=$(filter-out app_osplookup.so,$(MODS))
33 endif
34
35 ifneq ($(shell if [[ 0x`$(CROSS_COMPILE_BIN)curl-config --vernum` -ge 0x70907 ]]; then echo "OK" ; fi),)
36   CURLLIBS:=$(shell $(CROSS_COMPILE_BIN)curl-config --libs)
37 endif
38
39 ifeq (${CURLLIBS},)
40   MODS:=$(filter-out app_curl.so,$(MODS))
41 endif
42
43 ifneq (${WITH_SMDI},)
44   CFLAGS+=-DWITH_SMDI
45 endif
46
47 ifeq (${OSARCH},CYGWIN)
48   CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
49   CYGSOLIB=-L.. -L. -L../res -lasterisk.dll -lres_features.so -lres_adsi.so -lres_monitor.so
50   MODS:=$(filter-out app_sms.so,$(MODS))
51 else
52   CFLAGS+=-fPIC
53 endif
54
55 # If you have UnixODBC you can use ODBC voicemail
56 # storage
57 #
58 # Uncomment to use ODBC storage
59 #CFLAGS+=-DUSE_ODBC_STORAGE
60 # Uncomment for extended ODBC voicemail storage
61 #CFLAGS+=-DEXTENDED_ODBC_STORAGE
62 # See doc/README.odbcstorage for more information
63
64 all: $(MODS)
65
66 clean:
67         rm -f *.so *.o look .depend
68
69 %.so : %.o
70         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}
71
72 app_rpt.so : app_rpt.o
73         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -ltonezone
74
75 install: all
76         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
77         rm -f $(DESTDIR)$(MODULES_DIR)/app_cut.so
78         rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
79         rm -f $(DESTDIR)$(MODULES_DIR)/app_qcall.so
80
81 uninstall:
82
83 app_curl.so: app_curl.o
84         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CURLLIBS)
85
86 look:   look.c
87         $(CC) -pipe -O6 -g look.c -o look -lncurses
88
89 ifeq (SunOS,$(shell uname))
90 app_chanspy.so: app_chanspy.o
91         $(CC) $(SOLINK) -o $@ $< -lrt
92 endif
93
94
95 ifneq ($(wildcard .depend),)
96  include .depend
97 endif
98
99 depend: .depend
100
101 .depend:
102         ../build_tools/mkdep $(CFLAGS) `ls *.c`
103
104 env:
105         env