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