use proper method of detecting OSS support on Linux and FreeBSD
[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:=$(filter-out $(MENUSELECT_RES),$(patsubst %.c,%.so,$(wildcard res_*.c)))
15
16 ifeq ($(OSARCH),FreeBSD)
17   MODS:=$(filter-out $(shell if test ${BSDVERSION} -lt 500000 ; then echo "res_config_odbc.so"; fi),$(MODS))
18 endif
19
20 # NETsnmp has some difficulties on some platforms (conflict with unload_module)
21 # Until we figure out if the collission is version-specific or what to do
22 # we have disabled res_snmp on OS/X and *BSD
23 ifeq ($(OSARCH),Darwin)
24   MODS:=$(filter-out res_snmp.so,$(MODS))
25 else
26   ifeq ($(findstring BSD,$(OSARCH)),BSD)
27     MODS:=$(filter-out res_snmp.so,$(MODS))
28   endif
29 endif
30
31 ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/net-snmp/net-snmp-config.h),)
32   MODS:=$(filter-out res_snmp.so,$(MODS))
33 else
34   SNMP_LDLIBS+=$(shell net-snmp-config --agent-libs)
35 endif
36
37
38 #
39 # Work around buggy RedHat 9.0
40 #
41 CFLAGS+=-DOPENSSL_NO_KRB5
42
43 all: depend $(MODS)
44
45 install: all
46         rm -f $(DESTDIR)$(ASTHEADERDIR)/parking.h
47         rm -f $(DESTDIR)$(MODULES_DIR)/app_agi.so 
48         rm -f $(DESTDIR)$(MODULES_DIR)/res_parking.so
49         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
50         @if [ x`which mpg123 2>/dev/null | grep -v '^no'` != x ] ; then \
51           if mpg123 --longhelp 2>&1 | grep -q .59r 2>&1 >/dev/null ; then echo ; else \
52                         echo "*************************************************************";\
53                         echo "*** You have the WRONG version of mpg123... you need .59r ***";\
54                         echo "*** Use 'make mpg123' to get the right verison            ***";\
55                         echo "*************************************************************";\
56           fi ;\
57         else \
58                 echo "*** You don't have mpg123 installed. You may need ***";\
59                 echo "***       it if you want to use MusicOnHold       ***";\
60         fi
61
62 uninstall:
63
64 res_crypto.so: res_crypto.o
65         $(CC) $(SOLINK) -o $@ $< $(SSL_LIB)
66
67 res_crypto.o: res_crypto.c
68         $(CC) -c -o $@ $(CFLAGS) $(SSL_INCLUDE) $<
69
70 clean-depend:
71         rm -f .depend
72
73 clean: clean-depend
74         rm -f *.so *.o
75
76 res_odbc.so: res_odbc.o
77         $(CC) $(SOLINK) -o $@ $< $(ODBC_LIB) 
78
79 res_odbc.o: res_odbc.c
80         $(CC) -c -o $@ $(CFLAGS) $(ODBC_INCLUDE) $<
81
82 res_osp.so: res_osp.o
83         $(CC) $(SOLINK) -o $@ $< $(OSPTK_LIB)
84
85 res_osp.o: res_osp.c
86         $(CC) -c -o $@ $(CFLAGS) $(OSPTK_INCLUDE) $<
87
88 %.so : %.o
89         $(CC) -o $@ $(SOLINK) $<
90
91 res_config_odbc.o: res_config_odbc.c
92         $(CC) -c -o $@ $(CFLAGS) $(ODBC_INCLUDE) $<
93
94 res_snmp.so: res_snmp.o snmp/agent.o
95         $(CC) $(SOLINK) $(SNMP_LDFLAGS) -o $@ $< snmp/agent.o $(SNMP_LDLIBS)
96
97 res_config_pgsql.so: res_config_pgsql.o
98         $(CC) $(SOLINK) -o $@ $< $(PGSQL_LIB)
99
100 res_config_pgsql.o: res_config_pgsql.c
101         $(CC) -c -o $@ $(CFLAGS) $(PGSQL_INCLUDE) $<
102
103 ifneq ($(wildcard .depend),)
104   include .depend
105 endif
106
107 depend: .depend
108
109 .depend:
110         ../build_tools/mkdep $(CFLAGS) `ls *.c` 
111
112 env:
113         env