Merge "pjproject_bundled: Replace earlier reverts with official fixes."
[asterisk/asterisk.git] / res / Makefile
1 #
2 # Asterisk -- An open source telephony toolkit.
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 MODULE_PREFIX=res
15 MENUSELECT_CATEGORY=RES
16 MENUSELECT_DESCRIPTION=Resource Modules
17
18 all: _all
19
20 include $(ASTTOPDIR)/Makefile.moddir_rules
21
22 ifneq ($(findstring $(OSARCH), mingw32 cygwin ),)
23   # cygwin has some dependencies among res_ things.
24   # We use order-only dependencies, and then add the libraries as required.
25   res_agi.so: | res_speech.so
26   res_agi.so_LIBS:= -lres_speech.so
27 endif
28
29 res_config_ldap.o: _ASTCFLAGS+=-DLDAP_DEPRECATED
30
31 ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
32 ael/ael_lex.o: _ASTCFLAGS+=-I. -Iael -Wno-unused $(AST_NO_FORMAT_TRUNCATION)
33
34 ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
35 ael/ael.tab.o: _ASTCFLAGS+=-I. -Iael -DYYENABLE_NLS=0
36         ifneq ($(AST_CLANG_BLOCKS),)
37                 _ASTCFLAGS+=-Wno-parentheses-equality
38         endif
39
40 ifneq ($(findstring REBUILD_PARSERS,$(MENUSELECT_CFLAGS)),)
41 ael/ael_lex.c: ael/ael.flex
42 else
43 ael/ael_lex.c:
44 endif
45         $(ECHO_PREFIX) echo "   [FLEX] $< -> $@"
46         $(CMD_PREFIX) (cd ael; $(FLEX) ael.flex)
47         $(CMD_PREFIX) sed 's@#if __STDC_VERSION__ >= 199901L@#if !defined __STDC_VERSION__ || __STDC_VERSION__ >= 199901L@' $@ > $@.fix
48         $(CMD_PREFIX) echo "#define ASTMM_LIBC ASTMM_REDIRECT" > $@
49         $(CMD_PREFIX) echo "#include \"asterisk.h\"" >> $@
50         $(CMD_PREFIX) echo >> $@
51         $(CMD_PREFIX) cat $@.fix >> $@
52         $(CMD_PREFIX) rm $@.fix
53
54 ifneq ($(findstring REBUILD_PARSERS,$(MENUSELECT_CFLAGS)),)
55 ael/ael.tab.c ael/ael.tab.h: ael/ael.y
56 else
57 ael/ael.tab.c ael/ael.tab.h:
58 endif
59         $(ECHO_PREFIX) echo "   [BISON] $< -> $@"
60         $(CMD_PREFIX) (cd ael; $(BISON) -v -d ael.y)
61
62 ael/pval.o: ael/pval.c
63
64 $(call MOD_ADD_C,res_ael_share,ael/ael_lex.c ael/ael.tab.c ael/pval.c)
65 $(call MOD_ADD_C,res_stasis,$(wildcard stasis/*.c))
66 $(call MOD_ADD_C,res_snmp,snmp/agent.c)
67 $(call MOD_ADD_C,res_parking,$(wildcard parking/*.c))
68 $(call MOD_ADD_C,res_pjsip,$(wildcard res_pjsip/*.c))
69 $(call MOD_ADD_C,res_prometheus,$(wildcard prometheus/*.c))
70 $(call MOD_ADD_C,res_ari,ari/cli.c ari/config.c ari/ari_websockets.c)
71 $(call MOD_ADD_C,res_ari_model,ari/ari_model_validators.c)
72 $(call MOD_ADD_C,res_stasis_recording,stasis_recording/stored.c)
73
74 res_parking.o: _ASTCFLAGS+=$(AST_NO_FORMAT_TRUNCATION)
75
76 # Dependencies for res_ari_*.so are generated, so they're in this file
77 include ari.make