Fix app bug, update skel example, add skel to makefile as option (bug #3869)
[asterisk/asterisk.git] / apps / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for PBX frontends (dynamically loaded)
5 #
6 # Copyright (C) 1999, Mark Spencer
7 #
8 # Mark Spencer <markster@linux-support.net>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 USE_MYSQL_VM_INTERFACE=0
15 USE_POSTGRES_VM_INTERFACE=0
16
17 #APPS=app_dial.so app_playback.so app_directory.so app_intercom.so app_mp3.so 
18 APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_mp3.so\
19      app_system.so app_echo.so app_record.so app_image.so app_url.so app_disa.so \
20      app_adsiprog.so app_getcpeid.so app_milliwatt.so \
21      app_zapateller.so app_setcallerid.so app_festival.so \
22      app_queue.so app_senddtmf.so app_parkandannounce.so app_striplsd.so \
23      app_setcidname.so app_lookupcidname.so app_substring.so app_macro.so \
24      app_authenticate.so app_softhangup.so app_lookupblacklist.so \
25      app_waitforring.so app_privacy.so app_db.so app_chanisavail.so \
26      app_enumlookup.so app_transfer.so app_setcidnum.so app_cdr.so \
27      app_hasnewvoicemail.so app_sayunixtime.so app_cut.so app_read.so \
28      app_setcdruserfield.so app_random.so app_ices.so app_eval.so \
29      app_nbscat.so app_sendtext.so app_exec.so app_sms.so \
30      app_groupcount.so app_txtcidname.so app_controlplayback.so \
31      app_talkdetect.so app_alarmreceiver.so app_userevent.so app_verbose.so \
32      app_test.so app_forkcdr.so app_math.so app_realtime.so \
33      app_dumpchan.so app_waitforsilence.so app_while.so app_setrdnis.so \
34      app_md5.so app_readfile.so app_chanspy.so
35
36 ifneq (${OSARCH},Darwin)
37 ifneq (${OSARCH},SunOS)
38 APPS+=app_intercom.so
39 endif
40 endif
41
42 #
43 # Obsolete things...
44 #
45
46 #APPS+=app_sql_postgres.so
47 #APPS+=app_sql_odbc.so
48 #APPS+=app_rpt.so
49 #
50 # Experimental things
51 #
52 #APPS+=app_ivrdemo.so
53 #APPS+=app_skel.so
54
55 APPS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
56 APPS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
57 APPS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "app_osplookup.so" ; fi)
58
59 CURLLIBS=$(shell curl-config --libs)
60 ifneq (${CURLLIBS},)
61         APPS+=app_curl.so
62         ifeq (${OSARCH},OpenBSD)
63                 CFLAGS+=-I/usr/local/include
64         endif
65 endif
66
67 CFLAGS+=-fPIC
68 #
69 # If you have MySQL 4.1 or later you can use ODBC
70 # storage
71 #
72 #CFLAGS+=-DUSE_ODBC_STORAGE
73
74 all: $(APPS)
75
76 clean:
77         rm -f *.so *.o look .depend
78
79 %.so : %.o
80         $(CC) $(SOLINK) -o $@ $<
81
82 app_rpt.so : app_rpt.o
83         $(CC) $(SOLINK) -o $@ $< -ltonezone
84
85 install: all
86         for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
87         rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
88         rm -f $(DESTDIR)$(MODULES_DIR)/app_qcall.so
89
90 app_curl.so: app_curl.o
91         $(CC) $(SOLINK) -o $@ $< $(CURLLIBS)
92
93 app_voicemail.so : app_voicemail.o
94 ifeq ($(USE_MYSQL_VM_INTERFACE),1)
95         $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql -lmysqlclient -lz
96 else
97 ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
98         $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq
99 else
100         $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< 
101 endif
102 endif
103
104 app_sql_postgres.o: app_sql_postgres.c
105         $(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
106
107 app_sql_postgres.so: app_sql_postgres.o
108         $(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq
109
110 app_sql_odbc.so: app_sql_odbc.o
111         $(CC) $(SOLINK) -o $@ $< -lodbc
112
113 look:   look.c
114         $(CC) -pipe -O6 -g look.c -o look -lncurses
115
116 ifneq ($(wildcard .depend),)
117 include .depend
118 endif
119
120 depend: .depend
121
122 .depend:
123         ../mkdep $(CFLAGS) `ls *.c`
124
125 env:
126         env