aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-29 22:48:43 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-29 22:48:43 +0000
commita8442c9b22767096823aa7a169bc1496a8dd2c42 (patch)
tree88f2aec2951b6ce52b91c03ed0bd4a697b1642c9
parentfcfda97ed2478ac34b65ba502ad183583c446476 (diff)
Merged revisions 44055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r44055 | kpfleming | 2006-09-29 17:47:40 -0500 (Fri, 29 Sep 2006) | 2 lines fix a few build system bugs, and convert Makefiles to be compatible with GNU make 3.80 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44056 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--Makefile.moddir_rules38
-rw-r--r--Makefile.rules77
-rw-r--r--agi/Makefile6
-rw-r--r--build_tools/embed_modules.xml2
-rw-r--r--channels/Makefile8
-rw-r--r--codecs/Makefile6
-rw-r--r--codecs/gsm/Makefile6
-rw-r--r--codecs/ilbc/Makefile5
-rw-r--r--codecs/lpc10/Makefile5
-rwxr-xr-xconfigure31
-rw-r--r--configure.ac23
-rw-r--r--main/db1-ast/Makefile5
-rw-r--r--pbx/Makefile12
-rw-r--r--res/Makefile2
-rw-r--r--utils/Makefile51
15 files changed, 103 insertions, 174 deletions
diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules
index 2144e50a2..6925636b9 100644
--- a/Makefile.moddir_rules
+++ b/Makefile.moddir_rules
@@ -27,35 +27,18 @@ include $(ASTTOPDIR)/Makefile.rules
comma:=,
-define module_o_template
-$(2): $(3)
-$(2): ASTCFLAGS+=-DAST_MODULE=\"$(1)\" $$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
-endef
+$(addsuffix .o,$(C_MODS)): ASTCFLAGS+=-DAST_MODULE=\"$*\" $(MENUSELECT_OPTS_$*:%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_INCLUDE))
+$(addsuffix .oo,$(CC_MODS)): ASTCFLAGS+=-DAST_MODULE=\"$*\" $(MENUSELECT_OPTS_$*:%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_INCLUDE))
-define module_so_template
-$(1)=$(1).so
-$(1).so: ASTCFLAGS+=-fPIC
-$(1).so: LIBS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
-$(1).so: ASTLDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LDFLAGS))
-$(1).so: $(2)
-endef
+$(LOADABLE_MODS:%=%.so): ASTCFLAGS+=-fPIC
+$(LOADABLE_MODS:%=%.so): LIBS+=$(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_LIB))
+$(LOADABLE_MODS:%=%.so): ASTLDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_LDFLAGS))
-define module_a_template
-$(1)=modules.link
-modules.link: $(2)
-endef
+$(addsuffix .so,$(filter $(LOADABLE_MODS),$(C_MODS))): %.so: %.o
+$(addsuffix .so,$(filter $(LOADABLE_MODS),$(CC_MODS))): %.so: %.oo
-$(foreach mod,$(C_MODS),$(eval $(call module_o_template,$(mod),$(mod).o,$(mod).c)))
-
-$(foreach mod,$(CC_MODS),$(eval $(call module_o_template,$(mod),$(mod).oo,$(mod).cc)))
-
-$(foreach mod,$(filter-out $(EMBEDDED_MODS),$(C_MODS)),$(eval $(call module_so_template,$(mod),$(mod).o)))
-
-$(foreach mod,$(filter-out $(EMBEDDED_MODS),$(CC_MODS)),$(eval $(call module_so_template,$(mod),$(mod).oo)))
-
-$(foreach mod,$(filter $(EMBEDDED_MODS),$(C_MODS)),$(eval $(call module_a_template,$(mod),$(mod).o)))
-
-$(foreach mod,$(filter $(EMBEDDED_MODS),$(CC_MODS)),$(eval $(call module_a_template,$(mod),$(mod).oo)))
+modules.link: $(addsuffix .o,$(filter $(EMBEDDED_MODS),$(C_MODS)))
+modules.link: $(addsuffix .oo,$(filter $(EMBEDDED_MODS),$(CC_MODS)))
.PHONY: clean clean-depend depend uninstall _all
@@ -81,7 +64,8 @@ endif
modules.link:
@rm -f $@
- @for file in $(patsubst $(ASTTOPDIR)/%,%,$(realpath $^)); do echo "INPUT (../$${file})" >> $@; done
+ @for file in $(patsubst %,$(SUBDIR)/%,$(filter %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
+ @for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
clean-depend::
rm -f .depend
diff --git a/Makefile.rules b/Makefile.rules
index cdad748df..59ced05ea 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -36,65 +36,30 @@ OPTIMIZE?=-O6
ASTCFLAGS+=$(OPTIMIZE)
endif
-define ast_make_o_c
-$(1): $(2)
- $(ECHO_PREFIX) echo " [CC] $$< -> $$@"
- $(CMD_PREFIX) $$(CC) -o $$@ -c $$< $$(ASTCFLAGS)
-endef
+%.o: %.c
+ $(ECHO_PREFIX) echo " [CC] $< -> $@"
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS)
-define ast_make_oo_cc
-$(1): $(2)
- $(ECHO_PREFIX) echo " [CXX] $$< -> $$@"
- $(CMD_PREFIX) $$(CXX) -o $$@ -c $$< $$(ASTCFLAGS)
-endef
+%.oo: %.cc
+ $(ECHO_PREFIX) echo " [CXX] $< -> $@"
+ $(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS)
-define ast_make_c_y
-$(1): $(2)
- $(ECHO_PREFIX) echo " [BISON] $$< -> $$@"
- $(CMD_PREFIX) bison -o $$@ -d --name-prefix=ast_yy $$<
-endef
+%.c: %.y
+ $(ECHO_PREFIX) echo " [BISON] $< -> $@"
+ $(CMD_PREFIX) bison -o $@ -d --name-prefix=ast_yy $<
-define ast_make_c_fl
-$(1): $(2)
- $(ECHO_PREFIX) echo " [FLEX] $$< -> $$@"
- $(CMD_PREFIX) flex -o $$@ --full $$<
-endef
+%.c: %.fl
+ $(ECHO_PREFIX) echo " [FLEX] $< -> $@"
+ $(CMD_PREFIX) flex -o $@ --full $<
-define ast_make_so_o
-$(1): $(2)
- $(ECHO_PREFIX) echo " [LD] $$^ -> $$@"
- $(CMD_PREFIX) $$(CC) $$(STATIC_BUILD) -o $$@ $$(ASTLDFLAGS) $$(SOLINK) $$^ $$(LIBS)
-endef
+%.so: %.o
+ $(ECHO_PREFIX) echo " [LD] $^ -> $@"
+ $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $(SOLINK) $^ $(LIBS)
-define ast_make_so_oo
-$(1): $(2)
- $(ECHO_PREFIX) echo " [LDXX] $$^ -> $$@"
- $(CMD_PREFIX) $$(CXX) $$(STATIC_BUILD) -o $$@ $$(ASTLDFLAGS) $$(SOLINK) $$^ $$(LIBS)
-endef
+%.soo: %.oo
+ $(ECHO_PREFIX) echo " [LDXX] $^ -> $@"
+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $(SOLINK) $^ $(LIBS)
-define ast_make_a_o
-$(1): $(2)
- $(ECHO_PREFIX) echo " [AR] $$^ -> $$@"
- $(CMD_PREFIX) $$(AR) cr $$@ $$^
- $(CMD_PREFIX) $$(RANLIB) $$@
-endef
-
-define ast_make_final
-$(1): $(2)
- $(ECHO_PREFIX) echo " [LD] $$^ -> $$@"
- $(CMD_PREFIX) $$(CXX) $$(STATIC_BUILD) -o $$@ $$(ASTLDFLAGS) $$^ $$(LIBS)
-endef
-
-define ast_make_final_host
-$(1): $(2)
- $(ECHO_PREFIX) echo " [LD] $$^ -> $$@"
- $(CMD_PREFIX) $$(HOST_CC) $$(STATIC_BUILD) -o $$@ $$(HOST_CFLAGS) $$(HOST_LDFLAGS) $$^ $$(LIBS)
-endef
-
-$(eval $(call ast_make_o_c,%.o,%.c))
-
-$(eval $(call ast_make_oo_cc,%.oo,%.cc))
-
-$(eval $(call ast_make_so_o,%.so,%.o))
-
-$(eval $(call ast_make_final,%,%.o))
+%: %.o
+ $(ECHO_PREFIX) echo " [LD] $^ -> $@"
+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $^ $(LIBS)
diff --git a/agi/Makefile b/agi/Makefile
index 08de2f751..3a3495138 100644
--- a/agi/Makefile
+++ b/agi/Makefile
@@ -23,12 +23,13 @@ include $(ASTTOPDIR)/Makefile.rules
all: $(AGIS)
+strcompat.c: ../main/strcompat.c
+ @cp $< $@
+
eagi-test: eagi-test.o strcompat.o
eagi-sphinx-test: eagi-sphinx-test.o
-$(eval $(call ast_make_o_c,strcompat.o,../main/strcompat.c))
-
install: all
mkdir -p $(DESTDIR)$(AGI_DIR)
for x in $(AGIS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(AGI_DIR) ; done
@@ -41,6 +42,7 @@ clean-depend:
clean: clean-depend
rm -f *.so *.o look eagi-test eagi-sphinx-test
+ rm -f strcompat.c
ifneq ($(wildcard .depend),)
include .depend
diff --git a/build_tools/embed_modules.xml b/build_tools/embed_modules.xml
index 85c3d6298..b064b842d 100644
--- a/build_tools/embed_modules.xml
+++ b/build_tools/embed_modules.xml
@@ -5,7 +5,7 @@
</member>
<member name="channels" displayname="Channels" remove_on_change="channels/*.o channels/misdn/*.o">
</member>
- <member name="codecs" displayname="Coders/Decoders" remove_on_change="codecs/*.o">
+ <member name="codecs" displayname="Coders/Decoders" remove_on_change="codecs/*.o codecs/gsm/src/*.o codecs/ilbc/*.o codecs/lpc10/*.o codecs/gsm/lib/libgsm.a codecs/lpc10/liblpc10.a codecs/ilbc/libilbc.a">
</member>
<member name="formats" displayname="File Formats" remove_on_change="formats/*.o">
</member>
diff --git a/channels/Makefile b/channels/Makefile
index 6c10010a9..3d36793d4 100644
--- a/channels/Makefile
+++ b/channels/Makefile
@@ -80,7 +80,9 @@ h323/libchanh323.a h323/Makefile.ast:
$(CMD_PREFIX) exit 1
endif
-$(eval $(call ast_make_final_host,gentone,gentone.c))
+gentone: gentone.c
+ $(ECHO_PREFIX) echo " [LD] $^ -> $@"
+ $(CMD_PREFIX) $(HOST_CC) $(STATIC_BUILD) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $^ $(LIBS)
gentone: LIBS+=-lm
busy.h: gentone
@@ -91,7 +93,7 @@ ringtone.h: gentone
chan_oss.o: busy.h ringtone.h
-$(chan_iax2): iax2-parser.o iax2-provision.o
+$(if $(filter chan_iax2,$(EMBEDDED_MODS)),modules.link,chan_iax2.so): iax2-parser.o iax2-provision.o
chan_alsa.o: busy.h ringtone.h
@@ -109,4 +111,4 @@ chan_misdn.o: ASTCFLAGS+=-Imisdn
misdn_config.o: ASTCFLAGS+=-Imisdn
-$(chan_misdn): chan_misdn.o misdn_config.o misdn/isdn_lib.o misdn/isdn_msg_parser.o
+$(if $(filter chan_misdn,$(EMBEDDED_MODS)),modules.link,chan_misdn.so): chan_misdn.o misdn_config.o misdn/isdn_lib.o misdn/isdn_msg_parser.o
diff --git a/codecs/Makefile b/codecs/Makefile
index 8996ad452..c3ab707f6 100644
--- a/codecs/Makefile
+++ b/codecs/Makefile
@@ -32,7 +32,7 @@ include $(ASTTOPDIR)/Makefile.moddir_rules
ifneq ($(GSM_INTERNAL),)
GSM_INCLUDE:=-Igsm/inc
-$(codec_gsm): gsm/lib/libgsm.a
+$(if $(filter codec_gsm,$(EMBEDDED_MODS)),modules.link,codec_gsm.so): gsm/lib/libgsm.a
endif
clean::
@@ -47,9 +47,9 @@ gsm/lib/libgsm.a:
$(LIBLPC10):
@$(MAKE) -C lpc10 all
-$(codec_lpc10): $(LIBLPC10)
+$(if $(filter codec_lpc10,$(EMBEDDED_MODS)),modules.link,codec_lpc10.so): $(LIBLPC10)
$(LIBILBC):
@$(MAKE) -C ilbc all
-$(codec_ilbc): $(LIBILBC)
+$(if $(filter codec_ilbc,$(EMBEDDED_MODS)),modules.link,codec_ilbc.so): $(LIBILBC)
diff --git a/codecs/gsm/Makefile b/codecs/gsm/Makefile
index ba3a20062..ec2694a65 100644
--- a/codecs/gsm/Makefile
+++ b/codecs/gsm/Makefile
@@ -347,7 +347,11 @@ $(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
ln -fs libgsm.so.1.0.10 lib/libgsm.so.1
ln -fs libgsm.so.1.0.10 lib/libgsm.so
-$(eval $(call ast_make_a_o,$(LIBGSM),$(GSM_OBJECTS)))
+$(LIBGSM): $(GSM_OBJECTS)
+ $(ECHO_PREFIX) echo " [AR] $^ -> $@"
+ $(CMD_PREFIX) $(AR) cr $@ $^
+ $(CMD_PREFIX) $(RANLIB) $@
+
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
diff --git a/codecs/ilbc/Makefile b/codecs/ilbc/Makefile
index 1060579ab..3c4668ba8 100644
--- a/codecs/ilbc/Makefile
+++ b/codecs/ilbc/Makefile
@@ -11,7 +11,10 @@ include $(ASTTOPDIR)/Makefile.rules
all: $(LIB)
-$(eval $(call ast_make_a_o,$(LIB),$(OBJS)))
+$(LIB): $(OBJS)
+ $(ECHO_PREFIX) echo " [AR] $^ -> $@"
+ $(CMD_PREFIX) $(AR) cr $@ $^
+ $(CMD_PREFIX) $(RANLIB) $@
clean:
rm -f $(LIB) *.o
diff --git a/codecs/lpc10/Makefile b/codecs/lpc10/Makefile
index 75b3f858f..18b7c0bcc 100644
--- a/codecs/lpc10/Makefile
+++ b/codecs/lpc10/Makefile
@@ -64,7 +64,10 @@ OBJ=f2clib.o analys.o bsynz.o chanwr.o dcbias.o decode.o \
placea.o placev.o preemp.o prepro.o random.o rcchk.o \
synths.o tbdm.o voicin.o vparms.o
-$(eval $(call ast_make_a_o,$(LIB),$(OBJ)))
+$(LIB): $(OBJ)
+ $(ECHO_PREFIX) echo " [AR] $^ -> $@"
+ $(CMD_PREFIX) $(AR) cr $@ $^
+ $(CMD_PREFIX) $(RANLIB) $@
clean:
rm -f *.o $(LIB)
diff --git a/configure b/configure
index 72667e912..c32a38a95 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Revision: 43830 .
+# From configure.ac Revision: 44013 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.60a.
#
@@ -4905,35 +4905,6 @@ fi
-# http://www.mail-archive.com/bug-make@gnu.org/msg02871.html
-echo 'define A' > testMakefile
-echo '12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc) $(1:.idl=DynSK.cc)' >> testMakefile
-echo 'endef' >> testMakefile
-echo '$(eval $(call A,01234567890123456789012345678901.idl))' >> testMakefile
-echo '01234567890123456789012345678901.hh:' >> testMakefile
-echo '01234567890123456789012345678901S.h:' >> testMakefile
-echo '01234567890123456789012345678901C.h:' >> testMakefile
-echo '01234567890123456789012345678901SK.cc:' >> testMakefile
-echo '01234567890123456789012345678901DynSK.cc:' >> testMakefile
-$GNU_MAKE -r -f testMakefile 2>&1 > /dev/null
-if test "$?" != "0" ; then
- rm -f testMakefile
- { echo "$as_me:$LINENO: ********** ERROR **********" >&5
-echo "$as_me: ********** ERROR **********" >&6;}
- { echo "$as_me:$LINENO: Your version of GNU Make contains a bug that will cause the Asterisk build" >&5
-echo "$as_me: Your version of GNU Make contains a bug that will cause the Asterisk build" >&6;}
- { echo "$as_me:$LINENO: system to not function properly. This bug is known to be fixed in version" >&5
-echo "$as_me: system to not function properly. This bug is known to be fixed in version" >&6;}
- { echo "$as_me:$LINENO: 3.81 as well as distributions of 3.80 that contain backported bug fixes. You" >&5
-echo "$as_me: 3.81 as well as distributions of 3.80 that contain backported bug fixes. You" >&6;}
- { echo "$as_me:$LINENO: must update GNU make to build Asterisk." >&5
-echo "$as_me: must update GNU make to build Asterisk." >&6;}
- { echo "$as_me:$LINENO: ***************************" >&5
-echo "$as_me: ***************************" >&6;}
- exit 1
-fi
-rm -f testMakefile
-
# Extract the first word of "grep", so it can be a program name with args.
set dummy grep; ac_word=$2
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
diff --git a/configure.ac b/configure.ac
index c64d37e6e..598f57364 100644
--- a/configure.ac
+++ b/configure.ac
@@ -126,29 +126,6 @@ AC_PROG_LN_S
AC_PROG_RANLIB
AST_CHECK_GNU_MAKE
-# http://www.mail-archive.com/bug-make@gnu.org/msg02871.html
-echo 'define A' > testMakefile
-echo '12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc) $(1:.idl=DynSK.cc)' >> testMakefile
-echo 'endef' >> testMakefile
-echo '$(eval $(call A,01234567890123456789012345678901.idl))' >> testMakefile
-echo '01234567890123456789012345678901.hh:' >> testMakefile
-echo '01234567890123456789012345678901S.h:' >> testMakefile
-echo '01234567890123456789012345678901C.h:' >> testMakefile
-echo '01234567890123456789012345678901SK.cc:' >> testMakefile
-echo '01234567890123456789012345678901DynSK.cc:' >> testMakefile
-$GNU_MAKE -r -f testMakefile 2>&1 > /dev/null
-if test "$?" != "0" ; then
- rm -f testMakefile
- AC_MSG_NOTICE(********** ERROR **********)
- AC_MSG_NOTICE(Your version of GNU Make contains a bug that will cause the Asterisk build)
- AC_MSG_NOTICE(system to not function properly. This bug is known to be fixed in version)
- AC_MSG_NOTICE(3.81 as well as distributions of 3.80 that contain backported bug fixes. You)
- AC_MSG_NOTICE(must update GNU make to build Asterisk.)
- AC_MSG_NOTICE(***************************)
- exit 1
-fi
-rm -f testMakefile
-
AC_PATH_PROG([GREP], [grep], :)
AC_PATH_PROG([AR], [ar], :)
AC_PATH_PROG([FIND], [find], :)
diff --git a/main/db1-ast/Makefile b/main/db1-ast/Makefile
index 4fb92fc3c..59ad0e25e 100644
--- a/main/db1-ast/Makefile
+++ b/main/db1-ast/Makefile
@@ -36,7 +36,10 @@ include $(ASTTOPDIR)/Makefile.rules
all: $(LIBDB) #$(LIBDBSO) $(PROG)
-$(eval $(call ast_make_a_o,$(LIBDB),$(OBJS)))
+$(LIBDB): $(OBJS)
+ $(ECHO_PREFIX) echo " [AR] $^ -> $@"
+ $(CMD_PREFIX) $(AR) cr $@ $^
+ $(CMD_PREFIX) $(RANLIB) $@
$(LIBDBSO): $(SHOBJS)
$(CC) -Wl,-O1 -Wl,--version-script=libdb.map -Wl,-soname=$(LIBDBSO) -shared -o $@ $^
diff --git a/pbx/Makefile b/pbx/Makefile
index 43812f1dc..0f9c9d165 100644
--- a/pbx/Makefile
+++ b/pbx/Makefile
@@ -28,13 +28,13 @@ include $(ASTTOPDIR)/Makefile.moddir_rules
clean::
rm -f ael/*.o
-$(eval $(call ast_make_o_c,ael/aelflex.o,ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h))
-ael/aelflex.o: ASTCFLAGS+=-I.
+ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
+ael/ael_lex.o: ASTCFLAGS+=-I.
-$(eval $(call ast_make_o_c,ael/aelbison.o,ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h))
-ael/aelbison.o: ASTCFLAGS+=-I.
+ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
+ael/ael.tab.o: ASTCFLAGS+=-I.
-$(pbx_ael): ael/aelbison.o ael/aelflex.o
+$(if $(filter pbx_ael,$(EMBEDDED_MODS)),modules.link,pbx_ael.so): ael/ael.tab.o ael/ael_lex.o
ael/ael_lex.c:
(cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
@@ -45,4 +45,4 @@ ael/ael.tab.c ael/ael.tab.h:
dundi-parser.o: dundi-parser.h
dundi-parser.o: ASTCFLAGS+=-I.
-$(pbx_dundi): dundi-parser.o
+$(if $(filter pbx_dundi,$(EMBEDDED_MODS)),modules.link,pbx_dundi.so): dundi-parser.o
diff --git a/res/Makefile b/res/Makefile
index 380f022fe..f2d50ebab 100644
--- a/res/Makefile
+++ b/res/Makefile
@@ -25,7 +25,7 @@ all: _all
include $(ASTTOPDIR)/Makefile.moddir_rules
-$(res_snmp): snmp/agent.o
+$(if $(filter res_snmp,$(EMBEDDED_MODS)),modules.link,res_snmp.so): snmp/agent.o
clean::
rm -f snmp/*.o
diff --git a/utils/Makefile b/utils/Makefile
index 5e5bdca88..88f653065 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -13,7 +13,10 @@
.PHONY: clean clean-depend all depend uninstall
-UTILS:=astman smsq stereorize streamplayer aelparse muted
+ALL_UTILS:=astman smsq stereorize streamplayer aelparse muted
+UTILS:=$(ALL_UTILS)
+
+include $(ASTTOPDIR)/Makefile.rules
ifeq ($(OSARCH),SunOS)
LIBS+=-lsocket -lnsl
@@ -32,8 +35,6 @@ ifneq ($(filter pbx_ael,$(MENUSELECT_PBX)),)
UTILS:=$(filter-out aelparse,$(UTILS))
endif
-include $(ASTTOPDIR)/Makefile.rules
-
all: $(UTILS)
install:
@@ -44,21 +45,27 @@ install:
done
uninstall:
- for x in $(UTILS); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
+ for x in $(ALL_UTILS); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
clean-depend:
rm -f .depend
clean: clean-depend
- rm -f *.o $(UTILS) check_expr
+ rm -f *.o $(ALL_UTILS) check_expr
+ rm -f md5.c strcompat.c ast_expr2.c ast_expr2f.c pbx_ael.c
+ rm -f aelparse.c aelbison.c
+
+md5.c: ../main/md5.c
+ @cp $< $@
-$(eval $(call ast_make_final,astman,astman.o ../main/md5.o))
+astman: astman.o md5.o
astman: LIBS+=-lnewt -lslang -ldl
-$(eval $(call ast_make_final,stereorize,stereorize.o frame.o))
+stereorize: stereorize.o frame.o
stereorize: LIBS+=-lm
-$(eval $(call ast_make_o_c,strcompat.o,../main/strcompat.c))
+strcompat.c: ../main/strcompat.c
+ @cp $< $@
../main/ast_expr2.c:
@echo " [BISON] ../main/ast_expr2.y -> $@"
@@ -68,25 +75,33 @@ $(eval $(call ast_make_o_c,strcompat.o,../main/strcompat.c))
@echo " [FLEX] ../main/ast_expr2.fl -> $@"
@flex -o $@ --full ../main/ast_expr2.fl
-$(eval $(call ast_make_o_c,ast_expr2.o,../main/ast_expr2.c))
+ast_expr2.c: ../main/ast_expr2.c
+ @cp $< $@
-$(eval $(call ast_make_o_c,ast_expr2f.o,../main/ast_expr2f.c))
-ast_expr2f.o: ASTCFLAGS+=-DSTANDALONE_AEL
+ast_expr2f.c: ../main/ast_expr2f.c
+ @cp $< $@
-$(eval $(call ast_make_final,check_expr,check_expr.c ast_expr2.o ast_expr2f.o))
+ast_expr2f.o: ASTCFLAGS+=-DSTANDALONE_AEL -I../main
-$(eval $(call ast_make_o_c,aelflex.o,../pbx/ael/ael_lex.c ../include/asterisk/ael_structs.h ../pbx/ael/ael.tab.h))
-aelflex.o: ASTCFLAGS+=-I../pbx -DSTANDALONE_AEL
+check_expr: check_expr.c ast_expr2.o ast_expr2f.o
-$(eval $(call ast_make_o_c,aelbison.o,../pbx/ael/ael.tab.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h))
+aelbison.c: ../pbx/ael/ael.tab.c
+ @cp $< $@
+aelbison.o: aelbison.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h
aelbison.o: ASTCFLAGS+=-I../pbx
-$(eval $(call ast_make_o_c,pbx_ael.o,../pbx/pbx_ael.c))
+pbx_ael.c: ../pbx/pbx_ael.c
+ @cp $< $@
pbx_ael.o: ASTCFLAGS+=-DSTANDALONE_AEL
-$(eval $(call ast_make_final,aelparse,aelflex.o aelbison.o pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o strcompat.o))
+ael_main.o: ael_main.c ../include/asterisk/ael_structs.h
+
+aelparse.c: ../pbx/ael/ael_lex.c
+ @cp $< $@
+aelparse.o: aelparse.c ../include/asterisk/ael_structs.h ../pbx/ael/ael.tab.h
+aelparse.o: ASTCFLAGS+=-I../pbx -DSTANDALONE_AEL
-$(eval $(call ast_make_o_c,ael_main.o,ael_main.c ../include/asterisk/ael_structs.h))
+aelparse: aelparse.o aelbison.o pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o strcompat.o
testexpr2s: ../main/ast_expr2f.c ../main/ast_expr2.c ../main/ast_expr2.h
$(CC) -g -c -I../include -DSTANDALONE_AEL ../main/ast_expr2f.c -o ast_expr2f.o