From a71a541edad6963fcbaa25f3999e4851d2a0be20 Mon Sep 17 00:00:00 2001 From: Richard Mudgett <rmudgett@digium.com> Date: Tue, 25 Sep 2012 17:02:21 +0000 Subject: [PATCH] Make rebuild GSM, ilbc, or lpc10 codecs if the respective sources change. ........ Merged revisions 373618 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 373633 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 373635 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373636 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- codecs/Makefile | 66 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 19 deletions(-) diff --git a/codecs/Makefile b/codecs/Makefile index 309d56667a..51f05ac362 100644 --- a/codecs/Makefile +++ b/codecs/Makefile @@ -17,48 +17,75 @@ 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 -endif +GSM_INCLUDE := -I$(SUB_GSM)/inc -ifneq ($(ILBC_INTERNAL),no) -$(if $(filter codec_ilbc,$(EMBEDDED_MODS)),modules.link,codec_ilbc.so): $(LIBILBC) -else -ILBC_INCLUDE+=-DILBC_WEBRTC +$(if $(filter codec_gsm,$(EMBEDDED_MODS)),modules.link,codec_gsm.so): $(SUB_GSM)/lib/libgsm.a endif +# Don't run the implicit rules for this target. +$(SUB_GSM)/lib/libgsm.a: $(SUB_GSM) ; + +$(SUB_GSM): + @mkdir -p $(SUB_GSM)/lib + @$(MAKE) -C $(SUB_GSM) lib/libgsm.a + 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] rm -f speex/*.[oa] -gsm/lib/libgsm.a: - @mkdir -p gsm/lib - @$(MAKE) -C gsm lib/libgsm.a +.PHONY: $(SUB_DIRS) -$(LIBLPC10): - @$(MAKE) -C lpc10 all $(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)" +# Don't run the implicit rules for this target. +$(LIBLPC10): $(SUB_LPC10) ; + +$(SUB_LPC10): + @$(MAKE) -C $(SUB_LPC10) all + + +ifneq ($(ILBC_INTERNAL),no) +$(if $(filter codec_ilbc,$(EMBEDDED_MODS)),modules.link,codec_ilbc.so): $(LIBILBC) +else +ILBC_INCLUDE += -DILBC_WEBRTC +endif + +# Don't run the implicit rules for this target. +$(LIBILBC): $(SUB_ILBC) ; + +$(SUB_ILBC): + @$(MAKE) -C $(SUB_ILBC) all _ASTCFLAGS="$(filter-out -Wmissing-prototypes -Wmissing-declarations -Wshadow,$(_ASTCFLAGS)) $(AST_NO_STRICT_OVERFLOW)" $(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) + ifeq ($(BUILD_CPU),x86_64) SPEEX_RESAMPLE_CFLAGS:=-fPIC else @@ -66,4 +93,5 @@ SPEEX_RESAMPLE_CFLAGS:= endif $(if $(filter codec_resample,$(EMBEDDED_MODS)),modules.link,codec_resample.so): speex/resample.o + speex/resample.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,codec_resample) $(SPEEX_RESAMPLE_CFLAGS) -- GitLab