]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Make rebuild GSM, ilbc, or lpc10 codecs if the respective sources change.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 25 Sep 2012 16:17:06 +0000 (16:17 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 25 Sep 2012 16:17:06 +0000 (16:17 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@373618 65c4cc65-6c06-0410-ace0-fbb531ad65f3

codecs/Makefile

index 846c16364a69700750fa2b8ceafd7fd7628fc1ec..6768de0c8e41194d8fc92d044a95b44858e83324 100644 (file)
@@ -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)