8b47f8d2dcfdcf6c6ccd3bdd9412771e84b3e410
[asterisk/asterisk.git] / formats / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for file format 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 MODS:=$(patsubst %.c,%.so,$(wildcard format_*.c))
15
16 MODS:=$(filter-out format_pcm_alaw.so,$(MODS))
17 MODS:=$(filter-out format_au.so,$(MODS))
18
19 # merged.       format_pcm_alaw.so
20 # merged.       format_au.so
21 #
22 # OGG/Vorbis format
23 #
24 ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/vorbis/codec.h),)
25   MODS:=$(filter-out format_ogg_vorbis.so,$(MODS))
26 endif
27
28 GSMLIB=../codecs/gsm/lib/libgsm.a
29
30 ifeq (${OSARCH},CYGWIN)
31   CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
32   CYGSOLIB=-L.. -L. -lasterisk.dll
33 else
34   CFLAGS+=-fPIC
35 endif
36
37 all: depend $(MODS)
38
39 clean-depend:
40         rm -f .depend
41
42 clean: clean-depend
43         rm -f *.so *.o
44
45 %.so : %.o
46         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}
47
48 ifneq ($(wildcard .depend),)
49   include .depend
50 endif
51
52 format_mp3.so : format_mp3.o
53         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -lm
54
55 format_ogg_vorbis.so : format_ogg_vorbis.o
56         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -logg -lvorbis -lvorbisenc -lm
57
58 install: all
59         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
60
61 uninstall:
62
63 depend: .depend
64
65 .depend:
66         ../build_tools/mkdep $(CFLAGS) `ls *.c`