From: Richard Mudgett Date: Tue, 25 Sep 2012 16:17:06 +0000 (+0000) Subject: Make rebuild GSM, ilbc, or lpc10 codecs if the respective sources change. X-Git-Tag: 1.8.18.0-rc1~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f5a131c23bb93d6ad3d6cf2ce727e549bdbd550e;p=thirdparty%2Fasterisk.git Make rebuild GSM, ilbc, or lpc10 codecs if the respective sources change. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@373618 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/codecs/Makefile b/codecs/Makefile index 846c16364a..6768de0c8e 100644 --- a/codecs/Makefile +++ b/codecs/Makefile @@ -17,37 +17,64 @@ MODULE_PREFIX=codec MENUSELECT_CATEGORY=CODECS MENUSELECT_DESCRIPTION=Codec Translators -LIBILBC:=ilbc/libilbc.a -LIBLPC10:=lpc10/liblpc10.a +SUB_GSM := gsm + +SUB_ILBC := ilbc +LIBILBC := $(SUB_ILBC)/libilbc.a + +SUB_LPC10 := lpc10 +LIBLPC10 := $(SUB_LPC10)/liblpc10.a + +SUB_DIRS := \ + $(SUB_GSM) \ + $(SUB_ILBC) \ + $(SUB_LPC10) \ all: _all include $(ASTTOPDIR)/Makefile.moddir_rules ifneq ($(GSM_INTERNAL),no) -GSM_INCLUDE:=-Igsm/inc -$(if $(filter codec_gsm,$(EMBEDDED_MODS)),modules.link,codec_gsm.so): gsm/lib/libgsm.a +GSM_INCLUDE := -I$(SUB_GSM)/inc +endif + +$(SUB_GSM): + @mkdir -p $(SUB_GSM)/lib + @$(MAKE) -C $(SUB_GSM) lib/libgsm.a + +# Don't run the implicit rules for this target. +$(SUB_GSM)/lib/libgsm.a: $(SUB_GSM) ; + +ifneq ($(GSM_INTERNAL),no) +$(if $(filter codec_gsm,$(EMBEDDED_MODS)),modules.link,codec_gsm.so): $(SUB_GSM)/lib/libgsm.a endif clean:: - $(MAKE) -C gsm clean - $(MAKE) -C lpc10 clean - $(MAKE) -C ilbc clean + for dir in $(SUB_DIRS); do \ + $(MAKE) -C $$dir clean; \ + done rm -f g722/*.[oa] -gsm/lib/libgsm.a: - @mkdir -p gsm/lib - @$(MAKE) -C gsm lib/libgsm.a +.PHONY: $(SUB_DIRS) + +$(SUB_LPC10): + @$(MAKE) -C $(SUB_LPC10) all -$(LIBLPC10): - @$(MAKE) -C lpc10 all +# Don't run the implicit rules for this target. +$(LIBLPC10): $(SUB_LPC10) ; $(if $(filter codec_lpc10,$(EMBEDDED_MODS)),modules.link,codec_lpc10.so): $(LIBLPC10) -$(LIBILBC): - @$(MAKE) -C ilbc all _ASTCFLAGS="$(filter-out -Wmissing-prototypes -Wmissing-declarations -Wshadow,$(_ASTCFLAGS)) $(AST_NO_STRICT_OVERFLOW)" + +$(SUB_ILBC): + @$(MAKE) -C $(SUB_ILBC) all _ASTCFLAGS="$(filter-out -Wmissing-prototypes -Wmissing-declarations -Wshadow,$(_ASTCFLAGS)) $(AST_NO_STRICT_OVERFLOW)" + +# Don't run the implicit rules for this target. +$(LIBILBC): $(SUB_ILBC) ; $(if $(filter codec_ilbc,$(EMBEDDED_MODS)),modules.link,codec_ilbc.so): $(LIBILBC) + $(if $(filter codec_g722,$(EMBEDDED_MODS)),modules.link,codec_g722.so): g722/g722_encode.o g722/g722_decode.o + g722/g722_encode.o g722/g722_decode.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,codec_g722)