yate/modules/Makefile.in

292 lines
7.8 KiB
Makefile

# Makefile
# This file holds the make rules for the Telephony Engine modules
# override DESTDIR at install time to prefix the install directory
DESTDIR :=
# override DEBUG at compile time to enable full debug or remove it all
DEBUG :=
CC := @CC@ -Wall
CXX := @CXX@ -Wall
SED := sed
DEFS :=
INCLUDES := -I.. -I@top_srcdir@
CFLAGS := -O2 @MODULE_CFLAGS@ @INLINE_FLAGS@
CPPFLAGS := -O2 @MODULE_CPPFLAGS@ @INLINE_FLAGS@
LDFLAGS:= -L.. -lyate
MODFLAGS:= @MODULE_LDFLAGS@
MODRELAX:= @MODULE_LDRELAX@
MODSTRIP:= @MODULE_SYMBOLS@
INCFILES := @top_srcdir@/yateclass.h @top_srcdir@/yatengine.h @top_srcdir@/yatephone.h ../yateversn.h
SUBDIRS :=
MKDEPS := ../config.status
PROGS := cdrbuild.yate cdrfile.yate regexroute.yate \
tonegen.yate tonedetect.yate wavefile.yate \
extmodule.yate conference.yate moh.yate pbx.yate \
dumbchan.yate callfork.yate mux.yate \
yrtpchan.yate ystunchan.yate \
ysipchan.yate \
yiaxchan.yate \
yjinglechan.yate \
server/pbxassist.yate server/dbpbx.yate server/lateroute.yate \
server/park.yate server/queues.yate \
server/regfile.yate server/accfile.yate server/register.yate \
server/yradius.yate \
server/sipfeatures.yate \
server/heartbeat.yate server/clustering.yate \
server/mgcpgw.yate server/mgcpca.yate \
server/mrcpspeech.yate \
server/ysigchan.yate \
server/analog.yate server/analogdetect.yate \
callgen.yate analyzer.yate rmanager.yate msgsniff.yate
LIBS :=
DIRS := client server gtk2
ifneq (@HAVE_PGSQL@,no)
PROGS := $(PROGS) server/pgsqldb.yate
endif
ifneq (@HAVE_MYSQL@,no)
PROGS := $(PROGS) server/mysqldb.yate
endif
ifneq (@HAVE_RESOLV@,no)
PROGS := $(PROGS) enumroute.yate
endif
ifneq (@HAVE_SOUNDCARD@,no)
PROGS := $(PROGS) client/osschan.yate
endif
ifneq (@HAVE_ALSA@,no)
PROGS := $(PROGS) client/alsachan.yate
endif
ifneq (@HAVE_ZAP@,no)
PROGS := $(PROGS) server/zapcard.yate
endif
ifneq (@HAVE_WANPIPE@,no)
PROGS := $(PROGS) server/wpcard.yate
endif
ifneq (@HAVE_SPANDSP@,no)
PROGS := $(PROGS) faxchan.yate
endif
ifneq (@HAVE_H323@,no)
PROGS := $(PROGS) h323chan.yate
endif
ifneq (@HAVE_GSM@,no)
PROGS := $(PROGS) gsmcodec.yate
endif
ifneq (@HAVE_ILBC@,no)
PROGS := $(PROGS) ilbccodec.yate
endif
ifneq (@HAVE_SPEEX@,no)
PROGS := $(PROGS) speexcodec.yate
endif
ifeq (@HAVE_GTK2@_@HAVE_GMOZ@,yes_yes)
PROGS := $(PROGS) gtk2/gtk2mozilla.yate
endif
ifeq (@HAVE_COREDUMPER@,yes)
COREDUMP_INC := -DHAVE_COREDUMPER @COREDUMPER_INC@
COREDUMP_LIB := @COREDUMPER_LIB@
endif
LOCALFLAGS =
LOCALLIBS =
CCOMPILE = $(CC) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS)
COMPILE = $(CXX) $(DEFS) $(DEBUG) $(INCLUDES) $(CPPFLAGS)
LINK = $(CXX) $(LDFLAGS)
MODLINK = $(CXX) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
prefix = @prefix@
exec_prefix = @exec_prefix@
moddir = @libdir@/yate
# include optional local make rules
-include YateLocal.mak
.PHONY: all debug ddebug xdebug
all: subdirs do-all $(LIBS) $(PROGS)
debug:
$(MAKE) all DEBUG=-g3 MODSTRIP=
ddebug:
$(MAKE) all DEBUG='-g3 -DDEBUG' MODSTRIP=
xdebug:
$(MAKE) all DEBUG='-g3 -DXDEBUG' MODSTRIP=
.PHONY: strip
strip: all do-strip
strip --strip-debug --discard-locals $(PROGS)
.PHONY: clean
clean: do-clean
@-$(RM) $(PROGS) $(LIBS) *.o core 2>/dev/null
.PHONY: install
install: all do-install
@mkdir -p "$(DESTDIR)$(moddir)/" && \
for i in $(DIRS) ; do \
mkdir -p "$(DESTDIR)$(moddir)/$$i" ; \
done; \
for i in $(PROGS) ; do \
install -D "$$i" "$(DESTDIR)$(moddir)/$$i" ; \
done;
.PHONY: uninstall
uninstall: do-uninstall
@-for i in $(PROGS) ; do \
rm "$(DESTDIR)$(moddir)/$$i" ; \
done; \
for i in $(DIRS) $(SUBDIRS) ; do \
rmdir "$(DESTDIR)$(moddir)/$$i" ; \
done;
@-rmdir "$(DESTDIR)$(moddir)"
.PHONY: subdirs
subdirs:
@mkdir -p $(DIRS)
%.o: @srcdir@/%.cpp $(MKDEPS) $(INCFILES)
$(COMPILE) -c $<
do-all do-strip do-clean do-install do-uninstall:
$(if $(SUBDIRS),\
@target=`echo $@ | $(SED) -e 's/^do-//'`; \
for i in $(SUBDIRS) ; do \
if test -f ./$$i/Makefile ; then \
$(MAKE) -C ./$$i $${target} || exit 1;\
fi; \
done \
)
Makefile: @srcdir@/Makefile.in $(MKDEPS)
cd .. && ./config.status
lib%.so: %.o
$(LINK) -shared -o $@ $^
%.yate: @srcdir@/%.cpp $(MKDEPS) $(INCFILES)
$(MODCOMP) -o $@ $(LOCALFLAGS) $< $(LOCALLIBS)
server/%.yate: @srcdir@/server/%.cpp $(MKDEPS) $(INCFILES)
$(MODCOMP) -o $@ $(LOCALFLAGS) $< $(LOCALLIBS)
client/%.yate: @srcdir@/client/%.cpp $(MKDEPS) $(INCFILES)
$(MODCOMP) -o $@ $(LOCALFLAGS) $< $(LOCALLIBS)
gtk2/%.yate: @srcdir@/gtk2/%.cpp $(MKDEPS) $(INCFILES)
$(MODCOMP) -o $@ $(LOCALFLAGS) $< $(LOCALLIBS)
# Take special care of the modules that depend on optional libs
server/ysigchan.yate server/wpcard.yate server/zapcard.yate server/analog.yate: ../libyatesig.so
server/ysigchan.yate server/wpcard.yate server/analog.yate: LOCALFLAGS = -I@top_srcdir@/libs/ysig
server/zapcard.yate: LOCALFLAGS = -I@top_srcdir@/libs/ysig @ZAP_FLAGS@
server/ysigchan.yate server/wpcard.yate server/zapcard.yate server/analog.yate: LOCALLIBS = -lyatesig
server/analogdetect.yate: ../libs/ymodem/libyatemodem.a
server/analogdetect.yate: LOCALFLAGS = -I@top_srcdir@/libs/ymodem
server/analogdetect.yate: LOCALLIBS = -L../libs/ymodem -lyatemodem
h323chan.yate: LOCALFLAGS = -DPHAS_TEMPLATES -D_REENTRANT -DP_HAS_SEMAPHORES @H323_INC@
h323chan.yate: LOCALLIBS = @H323_LIB@
server/pgsqldb.yate: LOCALFLAGS = @PGSQL_INC@
server/pgsqldb.yate: LOCALLIBS = -lpq
server/mysqldb.yate: LOCALFLAGS = @MYSQL_INC@
server/mysqldb.yate: LOCALLIBS = @MYSQL_LIB@
enumroute.yate: LOCALLIBS = -lresolv
client/alsachan.yate: LOCALLIBS = -lasound
yiaxchan.yate: ../libs/yiax/libyateiax.a
yiaxchan.yate: LOCALFLAGS = -I@top_srcdir@/libs/yiax
yiaxchan.yate: LOCALLIBS = -L../libs/yiax -lyateiax
yjinglechan.yate: ../libs/yxml/libyatexml.a ../libs/yjingle/libyatejingle.a
yjinglechan.yate: LOCALFLAGS = -I@top_srcdir@/libs/yxml -I@top_srcdir@/libs/yjingle
yjinglechan.yate: LOCALLIBS = -L../libs/yjingle -L../libs/yxml -lyatejingle -lyatexml
server/dbpbx.yate server/pbxassist.yate: ../libs/ypbx/libyatepbx.a
server/dbpbx.yate server/pbxassist.yate: LOCALFLAGS = -I@top_srcdir@/libs/ypbx
server/dbpbx.yate server/pbxassist.yate: LOCALLIBS = ../libs/ypbx/libyatepbx.a
server/mgcpgw.yate server/mgcpca.yate: ../libs/ymgcp/libyatemgcp.a
server/mgcpgw.yate server/mgcpca.yate: LOCALFLAGS = -I@top_srcdir@/libs/ymgcp
server/mgcpgw.yate server/mgcpca.yate: LOCALLIBS = ../libs/ymgcp/libyatemgcp.a
ilbccodec.yate: ../libs/ilbc/libilbc.a
ilbccodec.yate: LOCALLIBS = ../libs/ilbc/libilbc.a
ilbccodec.yate: LOCALFLAGS = @ILBC_INC@
gsmcodec.yate: LOCALLIBS = -lgsm
gsmcodec.yate: LOCALFLAGS = @GSM_INC@
speexcodec.yate: LOCALLIBS = -lspeex
speexcodec.yate: LOCALFLAGS = @SPEEX_INC@
faxchan.yate: LOCALLIBS = -lspandsp
faxchan.yate: LOCALFLAGS = @SPANDSP_INC@
ysipchan.yate: ../libs/ysip/libyatesip.a
ysipchan.yate: LOCALFLAGS = -I@top_srcdir@/libs/ysip
ysipchan.yate: LOCALLIBS = ../libs/ysip/libyatesip.a
yrtpchan.yate: ../libs/yrtp/libyatertp.a
yrtpchan.yate: LOCALFLAGS = -I@top_srcdir@/libs/yrtp
yrtpchan.yate: LOCALLIBS = ../libs/yrtp/libyatertp.a
gtk2/gtk2mozilla.yate: @top_srcdir@/clients/gtk2/gtk2client.h
gtk2/gtk2mozilla.yate: LOCALFLAGS = @GTK2_INC@ @GMOZ_INC@ -I@top_srcdir@/clients/gtk2
gtk2/gtk2mozilla.yate: LOCALLIBS = @GMOZ_LIB@
gtk2/gtk2mozilla.yate: MODFLAGS = $(MODRELAX)
rmanager.yate: LOCALFLAGS = $(COREDUMP_INC)
rmanager.yate: LOCALLIBS = $(COREDUMP_LIB)
../libyatesig.so ../libs/ysig/libyatesig.a:
$(MAKE) -C ../libs/ysig
../libs/ilbc/libilbc.a:
$(MAKE) -C ../libs/ilbc
../libs/ysip/libyatesip.a:
$(MAKE) -C ../libs/ysip
../libs/yrtp/libyatertp.a:
$(MAKE) -C ../libs/yrtp
../libs/yiax/libyateiax.a:
$(MAKE) -C ../libs/yiax
../libs/ymgcp/libyatemgcp.a:
$(MAKE) -C ../libs/ymgcp
../libs/ymodem/libyatemodem.a:
$(MAKE) -C ../libs/ymodem
../libs/yxml/libyatexml.a:
$(MAKE) -C ../libs/yxml
../libs/yjingle/libyatejingle.a:
$(MAKE) -C ../libs/yjingle
../libs/ypbx/libyatepbx.a:
$(MAKE) -C ../libs/ypbx