summaryrefslogtreecommitdiff
path: root/codecs
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2012-09-25 17:02:21 +0000
committerRichard Mudgett <rmudgett@digium.com>2012-09-25 17:02:21 +0000
commita71a541edad6963fcbaa25f3999e4851d2a0be20 (patch)
treeaa495f48750bb9bbee31d841a6b13b87d557fe22 /codecs
parentc7850a198ba5f8e3f79192997837f1491e3466c0 (diff)
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
Diffstat (limited to 'codecs')
-rw-r--r--codecs/Makefile66
1 files changed, 47 insertions, 19 deletions
diff --git a/codecs/Makefile b/codecs/Makefile
index 309d56667..51f05ac36 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)