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