Make rebuild GSM, ilbc, or lpc10 codecs if the respective sources change.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 25 Sep 2012 17:02:21 +0000 (17:02 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 25 Sep 2012 17:02:21 +0000 (17:02 +0000)
........

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

index 309d566..51f05ac 100644 (file)
@@ -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)