Use gnu make's LDFLAGS variable rather than SOLINK so that the makefiles can integrate with other build tools. Plus changes to channels/Makefile for chan_h323. Index: Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/Makefile,v retrieving revision 1.95 diff -u -r1.95 Makefile --- Makefile 13 Jun 2004 21:25:09 -0000 1.95 +++ Makefile 22 Jun 2004 16:12:05 -0000 @@ -186,10 +180,10 @@ ifeq (${OSARCH},Darwin) OBJS+=poll.o dlfcn.o ASTLINK=-Wl,-dynamic -SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace +LDFLAGS+=-dynamic -bundle -undefined suppress -force_flat_namespace else ASTLINK=-Wl,-E -SOLINK=-shared -Xlinker -x +LDFLAGS+=-shared -Xlinker -x endif CC=gcc @@ -258,7 +252,7 @@ fi asterisk: editline/libedit.a db1-ast/libdb1.a stdtime/libtime.a $(OBJS) - $(CC) $(DEBUG) -o asterisk $(ASTLINK) $(OBJS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LIBS) + $(CC) $(CFLAGS) $(DEBUG) -o asterisk $(ASTLINK) $(OBJS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LIBS) muted: muted.o $(CC) -o muted muted.o Index: apps/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/apps/Makefile,v retrieving revision 1.69 diff -u -r1.69 Makefile --- apps/Makefile 21 Jun 2004 23:00:00 -0000 1.69 +++ apps/Makefile 22 Jun 2004 16:12:11 -0000 @@ -57,10 +57,10 @@ rm -f *.so *.o look .depend %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ app_rpt.so : app_rpt.o - $(CC) $(SOLINK) -o $@ $< -ltonezone + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -ltonezone install: all for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done @@ -68,12 +68,12 @@ app_voicemail.so : app_voicemail.o ifeq ($(USE_MYSQL_VM_INTERFACE),1) - $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql -lmysqlclient -lz + $(CC) $(LDFLAGS) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql -lmysqlclient -lz else ifeq ($(USE_POSTGRES_VM_INTERFACE),1) - $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq + $(CC) $(LDFLAGS) -o $@ $(MLFLAGS) $< -lpq else - $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< + $(CC) $(LDFLAGS) -o $@ $(MLFLAGS) $< endif endif @@ -81,13 +81,13 @@ $(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c app_sql_postgres.so: app_sql_postgres.o - $(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -L/usr/local/pgsql/lib -lpq app_sql_odbc.so: app_sql_odbc.o - $(CC) $(SOLINK) -o $@ $< -lodbc + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lodbc look: look.c - gcc -pipe -O6 -g look.c -o look -lncurses + $(CC) $(CFLAGS) look.c -o look -lncurses ifneq ($(wildcard .depend),) include .depend Index: cdr/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/cdr/Makefile,v retrieving revision 1.22 diff -u -r1.22 Makefile --- cdr/Makefile 31 May 2004 19:40:22 -0000 1.22 +++ cdr/Makefile 22 Jun 2004 16:12:17 -0000 @@ -18,8 +18,8 @@ CFLAGS+=-fPIC OSARCH=$(shell uname -s) -ifeq (${OSARCH},FreeBSD) -SOLINK+=-L/usr/local/lib +ifeq ($(findstring BSD,${OSARCH}),BSD) +LDFLAGS+=-L/usr/local/lib endif # @@ -54,17 +54,17 @@ rm -f *.so *.o .depend %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $(LDFLAGS) -o $@ $< ifneq ($(wildcard .depend),) include .depend endif cdr_odbc.so: cdr_odbc.o - $(CC) $(SOLINK) -o $@ $< -lodbc $(MLFLAGS) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lodbc $(MLFLAGS) cdr_pgsql.so: cdr_pgsql.o - $(CC) $(SOLINK) -o $@ $< -lpq -lz $(MLFLAGS) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lpq -lz $(MLFLAGS) depend: .depend Index: channels/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/channels/Makefile,v retrieving revision 1.54 diff -u -r1.54 Makefile --- channels/Makefile 4 Jun 2004 15:44:14 -0000 1.54 +++ channels/Makefile 22 Jun 2004 16:12:17 -0000 @@ -33,24 +33,53 @@ # #CHANNEL_LIBS+=chan_vofr +ifeq ($(shell if [ -f ${HOME}/openh323/lib/libh323_linux_x86_r_s.a ]; then echo "YES"; fi),YES) +OPENH323DIR=$(HOME)/openh323 +H323LIB=-lh323_linux_x86_r_s +endif + +ifeq ($(shell if [ -f ${HOME}/pwlib/lib/libpt_linux_x86_r_s.a ]; then echo "YES"; fi),YES) +PWLIBDIR=$(HOME)/pwlib +PTLIB=-lpt_linux_x86_r_s +endif + +ifeq ($(shell if [ -f /usr/ports/net/openh323/work/openh323/lib/libh323_FreeBSD_x86_r_s.a ]; then echo "YES"; fi),YES) +OPENH323DIR=/usr/ports/net/openh323/work/openh323 +H323LIB=-lh323_FreeBSD_x86_r_s +endif + +ifeq ($(shell if [ -f /usr/ports/devel/pwlib/work/pwlib/lib/libpt_FreeBSD_x86_r_s.a ]; then echo "YES"; fi),YES) +PWLIBDIR=/usr/ports/devel/pwlib/work/pwlib +PTLIB=-lpt_FreeBSD_x86_r_s +endif + +ifeq (${OSARCH},Linux) +LDFLAGS+=-ldl +endif + ifeq (${OSARCH},OpenBSD) -MYSQLLIB=-L/usr/local/lib/mysql -lmysqlclient CFLAGS+=-I/usr/local/include -PTLIB=-lpt_OpenBSD_x86_r +OPENH323DIR=/usr/local H323LIB=-lh323_OpenBSD_x86_r -CHANH323LIB=-L/usr/local/lib -else +PWLIBDIR=/usr/local +PTLIB=-lpt_OpenBSD_x86_r +endif + +ifdef H323LIB +ifdef PTLIB +CHANNEL_LIBS+=chan_h323.so +endif +endif + +ifeq ($(shell if [ -d /usr/lib/mysql ]; then echo "YES"; fi),YES) MYSQLLIB=-L/usr/lib/mysql -lmysqlclient -PTLIB=-lpt_linux_x86_r -H323LIB=-lh323_linux_x86_r -CHANH323LIB=-ldl endif ifneq (${OSARCH},Darwin) CHANNEL_LIBS+=chan_oss.so endif ifeq (${OSARCH},FreeBSD) -SOLINK+=-L/usr/local/lib +LDFLAGS+=-L/usr/local/lib CHANNEL_LIBS+=chan_oss.so endif @@ -111,7 +140,7 @@ rm -f busy.h ringtone.h gentone gentone-ulaw %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ ifneq ($(wildcard .depend),) include .depend @@ -132,55 +161,60 @@ chan_oss.o: chan_oss.c busy.h ringtone.h ifeq (${OSARCH},OpenBSD) +OSS_LIB=-lossaudio +endif +ifeq ($(findstring BSD,${OSARCH}),BSD) chan_oss.so: chan_oss.o - $(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio + $(CC) $(LDFLAGS) -o $@ chan_oss.o $(OSS_LIB) endif chan_iax2.so: chan_iax2.o iax2-parser.o ifeq ($(USE_MYSQL_FRIENDS),1) - $(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o $(MYSQLLIB) -lz + $(CC) $(LDFLAGS) -o $@ chan_iax2.o iax2-parser.o $(MYSQLLIB) -lz else - $(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o + $(CC) $(LDFLAGS) -o $@ chan_iax2.o iax2-parser.o endif chan_iax.so: chan_iax.o ifeq ($(USE_MYSQL_FRIENDS),1) - $(CC) $(SOLINK) -o $@ chan_iax.o $(MYSQLLIB) -lz + $(CC) $(LDFLAGS) -o $@ chan_iax.o $(MYSQLLIB) -lz else - $(CC) $(SOLINK) -o $@ chan_iax.o + $(CC) $(LDFLAGS) -o $@ chan_iax.o endif chan_zap.o: chan_zap.c $(CC) -c $(CFLAGS) -o chan_zap.o chan_zap.c chan_zap.so: chan_zap.o - $(CC) $(SOLINK) -o $@ $< $(ZAPPRI) $(ZAPR2) -ltonezone + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(ZAPPRI) $(ZAPR2) -ltonezone chan_sip.so: chan_sip.o ifeq ($(USE_SIP_MYSQL_FRIENDS),1) - $(CC) $(SOLINK) -o $@ chan_sip.o $(MYSQLLIB) -lz + $(CC) $(LDFLAGS) -o $@ chan_sip.o $(MYSQLLIB) -lz else - $(CC) $(SOLINK) -o $@ chan_sip.o + $(CC) $(LDFLAGS) -o $@ chan_sip.o endif chan_alsa.o: $(ALSA_SRC) chan_alsa.so: chan_alsa.o - $(CC) $(SOLINK) -o $@ $< -lasound -lm -ldl + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lasound -lm chan_nbs.so: chan_nbs.o - $(CC) $(SOLINK) -o $@ $< -lnbs + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lnbs chan_vpb.o: chan_vpb.c $(CXX) -c $(CFLAGS) -o $@ chan_vpb.c chan_vpb.so: chan_vpb.o - $(CXX) $(SOLINK) -o $@ $< -lvpb -lpthread -lm -ldl + $(CXX) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lvpb -lm chan_h323.so: chan_h323.o h323/libchanh323.a - $(CC) $(SOLINK) -o $@ $< h323/libchanh323.a $(CHANH323LIB) -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lpthread -lcrypto -lssl -lexpat + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ h323/libchanh323.a -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lcrypto -lssl -lexpat +h323/libchanh323.a h323/ast_h323.o: + $(MAKE) -C h323 all #chan_modem.so : chan_modem.o # $(CC) -rdynamic -shared -Xlinker -x -o $@ $< Index: pbx/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/pbx/Makefile,v retrieving revision 1.10 diff -u -r1.10 Makefile --- pbx/Makefile 26 Oct 2003 18:50:49 -0000 1.10 +++ pbx/Makefile 22 Jun 2004 16:12:48 -0000 @@ -40,7 +40,7 @@ $(CC) $(CFLAGS) $(GTK_FLAGS) -c -o $@ $< pbx_gtkconsole.so: pbx_gtkconsole.o - $(CC) $(SOLINK) -o $@ $< $(GTK_LIBS) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(GTK_LIBS) pbx_kdeconsole.o: pbx_kdeconsole.cc pbx_kdeconsole.moc $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $< @@ -49,13 +49,13 @@ $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $< pbx_kdeconsole.so: $(KDE_CONSOLE_OBJS) - $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS) + $(CC) $(LDFLAGS) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS) %.moc : %.h $(MOC) $< -o $@ %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ ifneq ($(wildcard .depend),) include .depend Index: res/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/res/Makefile,v retrieving revision 1.15 diff -u -r1.15 Makefile --- res/Makefile 11 Jun 2004 00:12:35 -0000 1.15 +++ res/Makefile 22 Jun 2004 16:12:48 -0000 @@ -31,16 +31,16 @@ for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done res_crypto.so: res_crypto.o - $(CC) $(SOLINK) -o $@ $< $(CRYPTO_LIBS) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(CRYPTO_LIBS) clean: rm -f *.so *.o .depend res_odbc.so: res_odbc.o - $(CC) $(SOLINK) -o $@ $< -lodbc + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lodbc %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ ifneq ($(wildcard .depend),) include .depend Index: codecs/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/codecs/Makefile,v retrieving revision 1.21 diff -u -r1.21 Makefile --- codecs/Makefile 25 Feb 2004 04:10:32 -0000 1.21 +++ codecs/Makefile 22 Jun 2004 16:12:47 -0000 @@ -63,28 +63,28 @@ $(MAKE) -C ilbc all codec_ilbc.so: codec_ilbc.o $(LIBILBC) - $(CC) $(SOLINK) -o $@ $< $(LIBILBC) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBILBC) codec_g723_1.so : codec_g723_1.o $(LIBG723) - $(CC) $(SOLINK) -o $@ $< $(LIBG723) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBG723) codec_g723_1b.o : codec_g723_1.c $(CC) -c -o $@ $(CFLAGS) -DANNEX_B -Dsingle $< codec_g723_1b.so : codec_g723_1b.o $(LIBG723B) - $(CC) $(SOLINK) -o $@ $< $(LIBG723B) -lm + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBG723B) -lm codec_gsm.so: codec_gsm.o $(LIBGSMT) - $(CC) $(SOLINK) -o $@ $< $(LIBGSM) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBGSM) codec_speex.so: codec_speex.o - $(CC) $(SOLINK) -o $@ $< $(LIBSPEEX) + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBSPEEX) codec_lpc10.so: codec_lpc10.o $(LIBLPC10) - $(CC) $(SOLINK) -o $@ $< $(LIBLPC10) -lm + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBLPC10) -lm %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ include .depend Index: formats/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/formats/Makefile,v retrieving revision 1.17 diff -u -r1.17 Makefile --- formats/Makefile 22 Apr 2004 03:34:13 -0000 1.17 +++ formats/Makefile 22 Jun 2004 16:12:48 -0000 @@ -30,14 +30,14 @@ rm -f *.so *.o .depend %.so : %.o - $(CC) $(SOLINK) -o $@ $< + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ ifneq ($(wildcard .depend),) include .depend endif format_mp3.so : format_mp3.o - $(CC) $(SOLINK) -o $@ $< -lm + $(CC) $^ $(LOADLIBES) $(LDLIBS) -o $@ -lm install: all for x in $(FORMAT_LIBS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done