fe9f83106c36ecaf6fecadf97f437575b89e53e6
[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, Inc.
7 #
8 # This program is free software, distributed under the terms of
9 # the GNU General Public License
10 #
11
12 -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/menuselect.makedeps
13
14 C_MODS:=$(filter-out $(MENUSELECT_RES),$(patsubst %.c,%,$(wildcard res_*.c)))
15 CC_MODS:=$(filter-out $(MENUSELECT_RES),$(patsubst %.cc,%,$(wildcard res_*.cc)))
16
17 LOADABLE_MODS:=$(C_MODS) $(CC_MODS)
18
19 ifneq ($(findstring res,$(MENUSELECT_EMBED)),)
20   EMBEDDED_MODS:=$(LOADABLE_MODS)
21   LOADABLE_MODS:=
22 endif
23
24 all: _all
25
26 include $(ASTTOPDIR)/Makefile.moddir_rules
27
28 ifneq ($(findstring $(OSARCH), mingw32 cygwin ),)
29   # cygwin has some dependencies among res_ things.
30   # We use order-only dependencies, and then add the libraries as required.
31   res_features.so: | res_monitor.so
32   res_features.so_LIBS:= -lres_monitor.so
33   #
34   res_agi.so: | res_speech.so
35   res_agi.so_LIBS:= -lres_speech.so
36 endif
37
38 ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
39 ael/ael_lex.o: ASTCFLAGS+=-I. -Iael 
40
41 ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
42 ael/ael.tab.o: ASTCFLAGS+=-I. -Iael -DYYENABLE_NLS=0
43
44 $(if $(filter res_snmp,$(EMBEDDED_MODS)),modules.link,res_snmp.so): snmp/agent.o
45
46 $(if $(filter res_ael_share,$(EMBEDDED_MODS)),modules.link,res_ael_share.so): ael/ael_lex.o ael/ael.tab.o ael/pval.o
47
48 ael/ael_lex.c:
49         (cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
50
51 ael/ael.tab.c ael/ael.tab.h:
52         (cd ael; bison -v -d ael.y)
53
54 ael/pval.o: ael/pval.c
55
56 clean::
57         rm -f snmp/*.o
58         rm -f ael/*.o