ogg_vorbis now compiles so put it back in.
[asterisk/asterisk.git] / formats / Makefile
old mode 100755 (executable)
new mode 100644 (file)
index f38101f..85e488e
@@ -3,33 +3,67 @@
 # 
 # Makefile for file format modules
 #
-# Copyright (C) 1999, Mark Spencer
+# Copyright (C) 1999-2006, Digium, Inc.
 #
-# Mark Spencer <markster@linux-support.net>
+# Mark Spencer <markster@digium.com>
 #
 # This program is free software, distributed under the terms of
 # the GNU General Public License
 #
 
-FORMAT_LIBS=format_g723.so format_wav.so format_mp3.so format_wav_gsm.so format_gsm.so format_vox.so
+MODS:=$(patsubst %.c,%.so,$(wildcard format_*.c))
+
+MODS:=$(filter-out format_pcm_alaw.so,$(MODS))
+MODS:=$(filter-out format_au.so,$(MODS))
+
+# merged.      format_pcm_alaw.so
+# merged.      format_au.so
+#
+# OGG/Vorbis format
+# (on FreeBSD is in /usr/local/include/...
+
+ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/vorbis/codec.h),)
+ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/vorbis/codec.h),)
+  MODS:=$(filter-out format_ogg_vorbis.so,$(MODS))
+endif
+endif
 
 GSMLIB=../codecs/gsm/lib/libgsm.a
 
-CFLAGS+=
+ifeq (${OSARCH},CYGWIN)
+  CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
+  CYGSOLIB=-L.. -L. -lasterisk.dll
+else
+  CFLAGS+=-fPIC
+endif
+
+all: depend $(MODS)
 
-all: $(FORMAT_LIBS)
+clean-depend:
+       rm -f .depend
 
-clean:
+clean: clean-depend
        rm -f *.so *.o
 
 %.so : %.o
-       $(CC) -shared -Xlinker -x -o $@ $<
+       $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}
 
-format_wav.so : format_wav.o
-       $(CC) -shared -Xlinker -x -o $@ $< -laudiofile
+ifneq ($(wildcard .depend),)
+  include .depend
+endif
 
 format_mp3.so : format_mp3.o
-       $(CC) -shared -Xlinker -x -o $@ $< -lm
+       $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -lm
+
+format_ogg_vorbis.so : format_ogg_vorbis.o
+       $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -logg -lvorbis -lvorbisenc -lm
 
 install: all
-       for x in $(FORMAT_LIBS); do $(INSTALL) -m 755 $$x $(MODULES_DIR) ; done
+       for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
+
+uninstall:
+
+depend: .depend
+
+.depend:
+       ../build_tools/mkdep $(CFLAGS) `ls *.c`