Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > c94a8a44b37ee38a83dab30942a5257d > files > 2

iaxclient-1.0-0.20060610.3mdv2007.0.src.rpm

--- iaxclient/lib/Makefile.orig	2006-06-10 16:57:08.000000000 +0200
+++ iaxclient/lib/Makefile	2006-06-10 17:07:48.000000000 +0200
@@ -1,57 +1,13 @@
-#
-# iaxclient: a cross-platform IAX softphone library
-#
-# Copyrights:
-# Copyright (C) 2003 HorizonLive.com, (c) 2004, Horizon Wimba, Inc.
-#
-# Contributors <see README for complete list>
-# Steve Kann <stevek@stevek.com>
-# Michael Van Donselaar <mvand@vandonselaar.org>
-# Shawn Lawrence <shawn.lawrence@terracecomm.com>
-#
-#
-# This program is free software, distributed under the terms of
-# the GNU Lesser (Library) General Public License
-#
+CC = gcc
+CFLAGS = $(RPM_OPT_FLAGS) -DCODEC_ILBC -DIAXC_IAX2 -DSPEEX_PREPROCESS -DSPEEX_EC 
+CFLAGS+= -I. -I/usr/include/speex -I/usr/include/gsm -I/usr/include/iax -I/usr/include/ilbc
+CFLAGS+= -DLIBVER='"CVS-$(shell date +%Y/%m/%d-%H:%M)"'
+LIBS = -lgsm -lportaudio -lportmixer -lspeex -liax -lilbc -lm -lpthread
+AR = ar
+RANLIB = ranlib
+VERSION=1.0
 
-
-
-CODEC_ILBC=0
-
-SPEEX_PREPROCESS=1
-SPAN_EC=0
-SPEEX_EC=1
-MEC2_EC=0
-
-USE_NEWJB=1
-
-USE_VIDEO=0
-
-CFLAGS= -I. -Igsm/inc \
-	-Iportaudio/pa_common -Iportaudio/pablio -Iportmixer/px_common \
-	-Ilibspeex/include --std=c99 -Wall -Wmissing-noreturn
-
-#CFLAGS:= $(CFLAGS) -g -Wall -Wpointer-arith
-CFLAGS:= $(CFLAGS) -g -O2
-
-CFLAGS:= $(CFLAGS) -DLIBVER='"SVN $(shell svnversion)"'
-
-ifeq ($(SPEEX_PREPROCESS),1)
-CFLAGS:= $(CFLAGS) -DSPEEX_PREPROCESS=1
-endif
-
-ifeq ($(USE_NEWJB),1)
-CFLAGS:= $(CFLAGS) -DNEWJB
-endif
-
-# debug flags
-# CFLAGS := $(CFLAGS) -DDEBUG_SUPPORT -DDEBUG_DEFAULT -DEXTREME_DEBUG -D_DEBUG 
-# CFLAGS := $(CFLAGS) -DDEBUG_SUPPORT -DDEBUG_DEFAULT -D_DEBUG
-
-OBJS=\
-	portaudio/pa_common/pa_lib.o \
-	portaudio/pablio/pablio.o \
-	portaudio/pablio/ringbuffer.o \
+OBJS= \
 	spandsp/plc.o \
 	audio_encode.o \
 	audio_portaudio.o \
@@ -61,293 +17,22 @@
 	codec_alaw.o \
 	codec_speex.o \
 	jitterbuf.o \
-	iaxclient_lib.o 
-
-OBJS_GSM=\
-	gsm/src/add.o \
-	gsm/src/code.o \
-	gsm/src/debug.o \
-	gsm/src/decode.o \
-	gsm/src/gsm_create.o \
-	gsm/src/gsm_decode.o \
-	gsm/src/gsm_destroy.o \
-	gsm/src/gsm_encode.o \
-	gsm/src/gsm_explode.o \
-	gsm/src/gsm_implode.o \
-	gsm/src/gsm_option.o \
-	gsm/src/gsm_print.o \
-	gsm/src/long_term.o \
-	gsm/src/lpc.o \
-	gsm/src/preprocess.o \
-	gsm/src/rpe.o \
-	gsm/src/short_term.o \
-	gsm/src/table.o
-
-OBJS_LIBSPEEX=\
-        libspeex/nb_celp.o \
-        libspeex/sb_celp.o \
-        libspeex/lpc.o \
-        libspeex/ltp.o \
-        libspeex/lsp.o \
-        libspeex/quant_lsp.o \
-        libspeex/lsp_tables_nb.o \
-        libspeex/gain_table.o \
-        libspeex/gain_table_lbr.o \
-        libspeex/cb_search.o \
-        libspeex/filters.o \
-        libspeex/bits.o \
-        libspeex/modes.o \
-        libspeex/speex.o \
-        libspeex/vq.o \
-        libspeex/high_lsp_tables.o \
-        libspeex/vbr.o \
-        libspeex/hexc_table.o \
-        libspeex/exc_5_256_table.o \
-        libspeex/exc_5_64_table.o \
-        libspeex/exc_8_128_table.o \
-        libspeex/exc_10_32_table.o \
-        libspeex/exc_10_16_table.o \
-        libspeex/exc_20_32_table.o \
-        libspeex/hexc_10_32_table.o \
-        libspeex/misc.o \
-        libspeex/speex_header.o \
-        libspeex/speex_callbacks.o \
-        libspeex/math_approx.o \
-        libspeex/stereo.o \
-        libspeex/preprocess.o \
-        libspeex/smallft.o \
-        libspeex/lbr_48k_tables.o \
-        libspeex/jitter.o \
-        libspeex/mdf.o
-
-OBJS_ILBC=\
-	iLBC/anaFilter.o\
-	iLBC/iCBSearch.o\
-	iLBC/packing.o\
-	iLBC/constants.o\
-	iLBC/gainquant.o\
-	iLBC/iLBC_decode.o\
-	iLBC/StateConstructW.o \
-	iLBC/createCB.o\
-	iLBC/getCBvec.o\
-	iLBC/iLBC_encode.o\
-	iLBC/StateSearchW.o\
-	iLBC/doCPLC.o\
-	iLBC/helpfun.o\
-	iLBC/syntFilter.o\
-	iLBC/enhancer.o\
-	iLBC/hpInput.o\
-	iLBC/LPCdecode.o\
-	iLBC/filter.o\
-	iLBC/hpOutput.o\
-	iLBC/LPCencode.o\
-	iLBC/FrameClassify.o\
-	iLBC/iCBConstruct.o\
-	iLBC/lsf.o
-
-OBJS_VIDEO=\
-	video.o\
-	video_portvideo.o\
-	PortVideoSDL/common/cameraTool.o\
-	PortVideoSDL/common/RingBuffer.o\
-	PortVideoSDL/common/FrameInverter.o\
-	codec_theora.o
-
-
-OBJS:= $(OBJS) $(OBJS_GSM) $(OBJS_LIBSPEEX) 
-
-ifeq ($(CODEC_ILBC),1)
-OBJS:= $(OBJS) $(OBJS_ILBC) codec_ilbc.o
-CFLAGS:= $(CFLAGS) -DCODEC_ILBC
-endif
-
-OBJS_WIN32=\
-	winfuncs.o \
-	portmixer/px_win_wmme/px_win_wmme.o \
-	portaudio/pa_win_wmme/pa_win_wmme.o
-
-OBJS_LINUX=\
-	unixfuncs.o \
-	portmixer/px_unix_oss/px_unix_oss.o \
-	portaudio/pa_unix_oss/pa_unix_oss.o \
-	portaudio/pa_unix_oss/pa_unix.o
-
-OBJS_SOLARIS=\
-	unixfuncs.o \
-	portmixer/px_solaris/px_solaris.o \
-	portaudio/pa_unix_oss/pa_unix_solaris.o \
-	portaudio/pa_unix_oss/pa_unix.o 
-
-OBJS_MACOSX=\
-	unixfuncs.o \
-	portmixer/px_mac_core/px_mac_core.o \
-	portaudio/pa_common/pa_convert.o \
-	portaudio/pa_mac_core/pa_mac_core.o 
-
-OBJS_IAX2=\
-        libiax2/src/md5.o \
-        libiax2/src/iax.o \
-        libiax2/src/iax2-parser.o \
-
-
-
-LIB=libiaxclient.a
-
-RANLIB= echo
-
-all: $(LIB)
-
-# glean the platform
-# We will define this as either Linux, Win32, SOLARIS, or MacOSX
-ifneq (,$(findstring Linux,$(shell uname)))
-OSTYPE=LINUX
-else
-ifneq (,$(findstring Darwin,$(shell uname)))
-OSTYPE=MACOSX
-else
-# CYGWIN reports CYGWIN_NT-5.0 under Win2K
-ifneq (,$(findstring WIN,$(shell uname)))
-OSTYPE=WIN32
-else
-ifneq (,$(findstring MINGW,$(shell uname)))
-OSTYPE=WIN32
-else
-ifneq (,$(findstring SunOS,$(shell uname)))
-OSTYPE=SOLARIS
-else
-$(warning OSTYPE cannot be detected, assuming Linux)
-OSTYPE=LINUX
-endif
-endif
-endif
-endif
-endif
-
-# Setup platform-specific stuff based on gleaning
-ifeq ($(OSTYPE),WIN32)
-OBJS:= $(OBJS) $(OBJS_WIN32) 
-CFLAGS:= -mno-cygwin $(CFLAGS)
-DYNLDFLAGS= -mno-cygwin -lwinmm -lwsock32 -lcomdlg32 -luser32 -lgdi32 -lole32 -lcomctl32 -lctl3d32 \
-   -lstdc++ -lshell32 -loleaut32 -ladvapi32 -luuid -Wl,--output-def,iaxclient.def,--add-stdcall-alias,--enable-stdcall-fixup,--out-implib,libiaxclient.a
-DYNCFLAGS=-DBUILDING_DLL
-DYNLIB=iaxclient.dll
-endif
-
-ifeq ($(OSTYPE),LINUX)
-OBJS:= $(OBJS) $(OBJS_LINUX) 
-DYNCFLAGS=-fPIC
-DYNLIB=libiaxclient.so
-# change below to 1 to include audio_alsa;
-AUDIO_ALSA=0  
-endif
-
-ifeq ($(OSTYPE),SOLARIS)
-OBJS:= $(OBJS) $(OBJS_SOLARIS) 
-# only SPARC solaris machines need the alignment stuff
-ifeq (sparc,$(findstring sparc,$(shell uname -a)))
-CFLAGS:= $(CFLAGS) -DALIGN32 
-endif
-DYNCFLAGS=-fPIC
-DYNLIB=libiaxclient.so
-CC=gcc
-endif
-
-ifeq ($(OSTYPE),MACOSX)
-OBJS:= $(OBJS) $(OBJS_MACOSX) 
-RANLIB= ranlib
-# comment these lines in to build against version  10.2.7.
-#CC=MACOSX_DEPLOYMENT_TARGET=10.2 NEXT_ROOT=/Developer/SDKs/MacOSX10.2.7.sdk cc
-#CFLAGS:= $(CFLAGS) -isystem /Developer/SDKs/MacOSX10.2.7.sdk/usr/include
-# Build Universal Binaries on MacOSX
-CC=NEXT_ROOT=/Developer/SDKs/MacOSX10.4u.sdk/ MACOSX_DEPLOYMENT_TARGET=10.3 gcc -arch i386 -arch ppc
-DYNLIB=libiaxclient.dylib
-endif
-
-ifeq ($(USE_VIDEO),1)
-	OBJS:= $(OBJS) $(OBJS_VIDEO) 
-	CFLAGS:= $(CFLAGS) -DIAXC_VIDEO
-	LIBS:= $(LIBS) -lavcodec -ltheora
-  ifeq ($(OSTYPE),LINUX)
-	OBJS:= $(OBJS) PortVideoSDL/linux/linuxfwCamera.o PortVideoSDL/linux/v4linuxCamera.o
-  endif
-  ifeq ($(OSTYPE),WIN32)
-	CFLAGS:= $(CFLAGS) -IPortVideoSDL/win32/dslib/include -Ic:/DX90SDK/include-gcc -Ic:/DX90SDK/Samples/C++/DirectShow/BaseClasses
-	OBJS:= $(OBJS) PortVideoSDL/win32/dslibCamera.cpp
-  endif
-  ifeq ($(OSTYPE),MACOSX)
-        CFLAGS:= $(CFLAGS) -I../../theora/include -I/sw/include
-        OBJS:= $(OBJS) PortVideoSDL/macosx/macvdCamera.o PortVideoSDL/macosx/vdigGrab.o
-  endif
-endif
-
-
-ifeq ($(AUDIO_ALSA),1)
-OBJS:= $(OBJS) audio_alsa.o
-CFLAGS:= $(CFLAGS) -DAUDIO_ALSA
-endif
-
-
-OBJS:= $(OBJS) $(OBJS_IAX2)
-#CFLAGS:= $(CFLAGS) -Ilibiax2/src -DIAXC_IAX2 -DLIBIAX -DDEBUG_SUPPORT 
-CFLAGS:= $(CFLAGS) -Ilibiax2/src -DLIBIAX 
-
-ifeq ($(SPAN_EC),1)
-OBJS:= $(OBJS) ec/echo.o
-CFLAGS:= $(CFLAGS) -DSPAN_EC=1
-endif
-
-ifeq ($(SPEEX_EC),1)
-CFLAGS:= $(CFLAGS) -DSPEEX_EC=1
-endif
-
-ifeq ($(MEC2_EC),1)
-CFLAGS:= $(CFLAGS) -DUSE_MEC2=1
-endif
-
-CFLAGS:= $(CFLAGS) -D$(OSTYPE)
-
-
-# Treat some included libraries specially:
-# compile gsm w/o warnings, because it was written to less strict warning systems.
-gsm/%.o: gsm/%.c
-	$(CC) -c $(CPPFLAGS) $(CFLAGS) -w $< -o $@
-
-
-
-$(LIB): $(OBJS)
-	rm -f $(LIB)
-	ar cru $(LIB) $(OBJS)
-	$(RANLIB) $(LIB)
-
-MSLIB=iaxclient.lib
-MGLIBDIR=c:/mingw/lib
-GCCLIBDIR=$(MGLIBDIR)/gcc-lib/mingw32/3.2/
-
-GCCLIB=$(GCCLIBDIR)/libgcc.a 
-
-CXXFLAGS=$(CFLAGS)
-
-$(MSLIB): $(OBJS)
-#	rm -f $(MSLIB)
-	cp $(GCCLIB) $(MSLIB)
-	ar rs $(MSLIB) $(OBJS) 
-
-
-shared: CFLAGS := $(CFLAGS) $(DYNCFLAGS)
-#shared: clean libiaxclient.a
-shared: libiaxclient.a
-ifeq ($(OSTYPE),MACOSX)
-	$(CC) -single_module -dylib -dynamiclib -o $(DYNLIB) $(OBJS) $(DYNLDFLAGS) -framework CoreAudio -framework AudioToolbox -framework System
-else
-	$(CC) -shared -o $(DYNLIB) $(OBJS) $(DYNLDFLAGS)
-endif
-
-
+	iaxclient_lib.o \
+	codec_ilbc.o \
+	unixfuncs.o
+
+all: shared static
+
+static: $(OBJS)
+	$(AR) -ruv libiaxclient.a $(OBJS)
+	$(RANLIB) libiaxclient.a
+
+shared: $(OBJS)
+	$(CC) $(CFLAGS) -shared -Wl,-soname=libiaxclient.so.0 -o \
+	libiaxclient.so.0.$(VERSION) $(OBJS) $(LIBS)
 
-plat:
-	echo Platform is $(OSTYPE)
-	echo OBJS are $(OBJS)
-	echo OBJS_LINUX are $(OBJS_LINUX)
+%.o: %.c
+	$(CC) -c $(CFLAGS) $< -o $@
 
 clean:
-	rm -f $(OBJS) $(LIB)
+	rm -f $(OBJS) shared static