32c6889456f340ee763daacf7a4b150bf27e80f8
[asterisk/asterisk.git] / res / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for resource modules
5 #
6 # Copyright (C) 1999-2005, Digium
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=res_indications.so res_monitor.so res_adsi.so res_agi.so res_features.so res_clioriginate.so
15
16 ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/odbcinst.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/odbcinst.h),)
17   ifneq (${OSARCH},FreeBSD)
18     MODS+=res_config_odbc.so
19   else
20     MODS+=$(shell if test ${BSDVERSION} -ge 500000 ; then echo "res_config_odbc.so"; fi)
21   endif
22   MODS+=res_odbc.so
23 endif
24
25 ifneq ($(NOCRYPTO),yes)
26   MODS+=res_crypto.so
27 endif
28
29 ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libosptk.a),)
30   MODS+=res_osp.so
31   OSPLIB=$(CROSS_COMPILE_TARGET)/usr/lib/libosptk.a
32 else
33   ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libosptk.a),)
34     MODS+=res_osp.so
35     OSPLIB=$(CROSS_COMPILE_TARGET)/usr/local/lib/libosptk.a
36   endif
37 endif
38
39 ifeq ($(findstring BSD,${OSARCH}),BSD)
40   CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include
41   SOLINK+=-L$(CROSS_COMPILE_TARGET)/usr/local/lib
42 endif
43
44 ifeq (${OSARCH},CYGWIN)
45 CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
46 CYGSOLIB=-L.. -L. -lasterisk.dll
47 CYG_RES_CONFIG_ODBC_LIB=-lres_odbc.so
48 CYG_RES_FEATURES_LIB=-lres_adsi.so -lres_monitor.so
49 else
50 MODS+=res_musiconhold.so 
51 endif
52
53 CRYPTO_LIBS=-lssl -lcrypto
54
55 CFLAGS+=
56
57 ifndef WITHOUT_ZAPTEL
58 ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/zaptel.h),)
59   CFLAGS+=-DZAPATA_MOH
60 endif
61 endif # WITHOUT_ZAPTEL
62
63 #
64 # Work around buggy RedHat 9.0
65 #
66 ifeq (${OSARCH},CYGWIN)
67 CFLAGS+=-DOPENSSL_NO_KRB5
68 else
69 CFLAGS+=-DOPENSSL_NO_KRB5 -fPIC
70 endif
71
72 all: depend $(MODS)
73
74 install: all
75         rm -f $(DESTDIR)$(ASTHEADERDIR)/parking.h
76         rm -f $(DESTDIR)$(MODULES_DIR)/app_agi.so 
77         rm -f $(DESTDIR)$(MODULES_DIR)/res_parking.so
78         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
79         @if [ x`which mpg123 2>/dev/null | grep -v '^no'` != x ] ; then \
80           if mpg123 --longhelp 2>&1 | grep -q .59r 2>&1 >/dev/null ; then echo ; else \
81                         echo "*************************************************************";\
82                         echo "*** You have the WRONG version of mpg123... you need .59r ***";\
83                         echo "*** Use 'make mpg123' to get the right verison            ***";\
84                         echo "*************************************************************";\
85           fi ;\
86         else \
87                 echo "*** You don't have mpg123 installed. You may need ***";\
88                 echo "***       it if you want to use MusicOnHold       ***";\
89         fi
90
91 res_crypto.so: res_crypto.o
92         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CRYPTO_LIBS)
93
94 clean:
95         rm -f *.so *.o .depend
96
97 res_odbc.so: res_odbc.o
98         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -lodbc
99
100 res_osp.so: res_osp.o $(OSPLIB)
101         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(OSPLIB)
102
103 %.so : %.o
104         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}
105
106 res_features.so: res_features.o
107         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} ${CYG_RES_FEATURES_LIB}
108
109 res_config_odbc.so: res_config_odbc.o
110         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} ${CYG_RES_CONFIG_ODBC_LIB}
111
112 ifneq ($(wildcard .depend),)
113   include .depend
114 endif
115
116 depend: .depend
117
118 .depend:
119         ../build_tools/mkdep $(CFLAGS) `ls *.c` 
120
121 env:
122         env