find OSP toolkit library properly
[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_adsi.so res_features.so res_musiconhold.so res_indications.so res_monitor.so \
15      res_agi.so
16
17 ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/odbcinst.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/odbcinst.h),)
18   ifneq (${OSARCH},FreeBSD)
19     MODS+=res_config_odbc.so
20   else
21     MODS+=$(shell if test ${BSDVERSION} -ge 500000 ; then echo "res_config_odbc.so"; fi)
22   endif
23   MODS+=res_odbc.so
24 endif
25
26 ifneq ($(NOCRYPTO),yes)
27   MODS+=res_crypto.so
28 endif
29
30 ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libosptk.a),)
31   MODS+=res_osp.so
32   OSPLIB=$(CROSS_COMPILE_TARGET)/usr/lib/libosptk.a
33 else
34   ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libosptk.a),)
35     MODS+=res_osp.so
36     OSPLIB=$(CROSS_COMPILE_TARGET)/usr/local/lib/libosptk.a
37   endif
38 endif
39
40 ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libosp.a),)
41   MODS+=res_osp.so
42   OSPLIB=$(CROSS_COMPILE_TARGET)/usr/lib/libosp.a
43 else
44   ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libosp.a),)
45     MODS+=res_osp.so
46     OSPLIB=$(CROSS_COMPILE_TARGET)/usr/local/lib/libosp.a
47   endif
48 endif
49
50 ifeq ($(findstring BSD,${OSARCH}),BSD)
51   CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include -L$(CROSS_COMPILE_TARGET)/usr/local/lib
52 endif
53
54 CRYPTO_LIBS=-lssl -lcrypto
55
56 CFLAGS+=
57
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
62 #
63 # Work around buggy RedHat 9.0
64 #
65 CFLAGS+=-DOPENSSL_NO_KRB5 -fPIC
66
67 all: depend $(MODS)
68
69 install: all
70         rm -f $(DESTDIR)$(ASTHEADERDIR)/parking.h
71         rm -f $(DESTDIR)$(MODULES_DIR)/app_agi.so 
72         rm -f $(DESTDIR)$(MODULES_DIR)/res_parking.so
73         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
74
75 res_crypto.so: res_crypto.o
76         $(CC) $(SOLINK) -o $@ $< $(CRYPTO_LIBS)
77
78 clean:
79         rm -f *.so *.o .depend
80
81 res_odbc.so: res_odbc.o
82         $(CC) $(SOLINK) -o $@ $< -lodbc
83
84 res_osp.so: res_osp.o $(OSPLIB)
85         $(CC) $(SOLINK) -o $@ $^
86
87 %.so : %.o
88         $(CC) $(SOLINK) -o $@ $<
89
90 ifneq ($(wildcard .depend),)
91   include .depend
92 endif
93
94 depend: .depend
95
96 .depend:
97         @if [ x`which mpg123 2>/dev/null | grep -v '^no'` != x ] ; then \
98           if mpg123 --longhelp 2>&1 | grep -q .59r 2>&1 >/dev/null ; then echo ; else \
99                         echo "*************************************************************";\
100                         echo "*** You have the WRONG version of mpg123... you need .59r ***";\
101                         echo "*** Use 'make mpg123' to get the right verison            ***";\
102                         echo "*************************************************************";\
103           fi ;\
104         else \
105                 echo "*** You don't have mpg123 installed. You're going to need ***";\
106                 echo "***       it if you want MusicOnHold                      ***";\
107         fi
108         ../build_tools/mkdep $(CFLAGS) `ls *.c` 
109
110 env:
111         env