Merged revisions 80360 via svnmerge from
[asterisk/asterisk.git] / codecs / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for codec modules
5 #
6 # Copyright (C) 1999-2006, Digium, Inc.
7 #
8 # Mark Spencer <markster@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 -include ../menuselect.makeopts ../menuselect.makedeps
15
16 C_MODS:=$(filter-out $(MENUSELECT_CODECS),$(patsubst %.c,%,$(wildcard codec_*.c)))
17 CC_MODS:=$(filter-out $(MENUSELECT_CODECS),$(patsubst %.cc,%,$(wildcard codec_*.cc)))
18
19 LOADABLE_MODS:=$(C_MODS) $(CC_MODS)
20
21 ifneq ($(findstring codecs,$(MENUSELECT_EMBED)),)
22   EMBEDDED_MODS:=$(LOADABLE_MODS)
23   LOADABLE_MODS:=
24 endif
25
26 LIBILBC:=ilbc/libilbc.a
27 LIBLPC10:=lpc10/liblpc10.a
28 LIBG722:=g722/libg722.a
29
30 all: _all
31
32 include $(ASTTOPDIR)/Makefile.moddir_rules
33
34 ifneq ($(GSM_INTERNAL),no)
35 GSM_INCLUDE:=-Igsm/inc
36 $(if $(filter codec_gsm,$(EMBEDDED_MODS)),modules.link,codec_gsm.so): gsm/lib/libgsm.a
37 endif
38
39 clean::
40         $(MAKE) -C gsm clean
41         $(MAKE) -C lpc10 clean
42         $(MAKE) -C ilbc clean
43         $(MAKE) -C g722 clean
44
45 gsm/lib/libgsm.a:
46         @mkdir -p gsm/lib
47         @$(MAKE) -C gsm lib/libgsm.a
48
49 $(LIBLPC10):
50         @$(MAKE) -C lpc10 all
51
52 $(if $(filter codec_lpc10,$(EMBEDDED_MODS)),modules.link,codec_lpc10.so): $(LIBLPC10)
53
54 $(LIBILBC):
55         @$(MAKE) -C ilbc all
56
57 $(if $(filter codec_ilbc,$(EMBEDDED_MODS)),modules.link,codec_ilbc.so): $(LIBILBC)
58
59 $(LIBG722):
60         @$(MAKE) -C g722 all
61
62 $(if $(filter codec_g722,$(EMBEDDED_MODS)),modules.link,codec_g722.so): $(LIBG722)