# 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 := CXX := @CXX@ -Wall SED := sed DEFS := INCLUDES := -I.. -I@top_srcdir@ CFLAGS := -O2 @MODULE_CPPFLAGS@ @INLINE_FLAGS@ LDFLAGS:= -L.. -lyate MODFLAGS:= @MODULE_LDFLAGS@ MODSTRIP:= @MODULE_SYMBOLS@ INCFILES := @top_srcdir@/yatengine.h @top_srcdir@/yatephone.h ../yateversn.h SUBDIRS := MKDEPS := ../config.status PROGS := cdrbuild.yate cdrfile.yate \ regexroute.yate callgen.yate \ tonegen.yate wavefile.yate moh.yate \ rmanager.yate extmodule.yate osschan.yate regfile.yate ysipchan.yate LIBS := ifneq (@HAVE_PGSQL@,no) PROGS := $(PROGS) pgsqlroute.yate cdrpgsql.yate register.yate endif ifneq (@HAVE_PRI@,no) PROGS := $(PROGS) zapchan.yate endif ifneq (@HAVE_H323@,no) PROGS := $(PROGS) h323chan.yate endif ifneq (@HAVE_ORTP@,no) PROGS := $(PROGS) ortpchan.yate endif ifneq (@HAVE_IAX2@,no) PROGS := $(PROGS) iaxchan.yate endif ifneq (@HAVE_SPANDSP@,no) PROGS := $(PROGS) faxchan.yate endif ifneq (@HAVE_GSM@,no) PROGS := $(PROGS) gsmcodec.yate endif ifneq (@HAVE_GTK@,no) PROGS := $(PROGS) gtkclient.yate endif ifneq (@HAVE_QT@,no) PROGS := $(PROGS) qtclient.yate endif LOCALFLAGS = LOCALLIBS = COMPILE = $(CXX) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS) LINK = $(CXX) $(LDFLAGS) MODLINK = $(CXX) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS) MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS) prefix = @prefix@ exec_prefix = @exec_prefix@ moddir = @libdir@/yate .PHONY: all all: do-all $(LIBS) $(PROGS) .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)/" && \ install $(PROGS) "$(DESTDIR)$(moddir)/" .PHONY: uninstall uninstall: do-uninstall @-for i in $(PROGS) ; do \ rm "$(DESTDIR)$(moddir)/$$i" ; \ done; \ rmdir "$(DESTDIR)$(moddir)" %.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) # Take special care of the modules that depend on optional libs zapchan.yate: LOCALFLAGS = -lpri h323chan.yate: LOCALFLAGS = -DPHAS_TEMPLATES -D_REENTRANT -DP_HAS_SEMAPHORES @H323_INC@ @H323_LIB@ pgsqlroute.yate cdrpgsql.yate register.yate: LOCALFLAGS = @PGSQL_INC@ -lpq ortpchan.yate: @ORTP_DEP@ ortpchan.yate: LOCALLIBS = @ORTP_LIB@ ortpchan.yate: LOCALFLAGS = @ORTP_INC@ @GLIB_INC@ iaxchan.yate: @IAX2_DEP@ iaxchan.yate: LOCALLIBS = @IAX2_DEP@ iaxchan.yate: LOCALFLAGS = @IAX2_INC@ @IAX2_LIB@ faxchan.yate: LOCALLIBS = @SPANDSP_LIB@ faxchan.yate: LOCALFLAGS = @SPANDSP_INC@ gsmcodec.yate: LOCALLIBS = -lgsm gsmcodec.yate: LOCALFLAGS = @GSM_INC@ gtkclient.yate: LOCALFLAGS = @GTK_INC@ @GTK_LIB@ qtclient.yate: ../contrib/qt/libqtclientform.a qtclient.yate: LOCALFLAGS = -I@QT_INC@ qtclient.yate: LOCALLIBS = ../contrib/qt/libqtclientform.a -L@QT_DIR@/lib -lqt-mt ysipchan.yate: ../contrib/ysip/libysip.a ysipchan.yate: LOCALFLAGS = -I@top_srcdir@/contrib/ysip ysipchan.yate: LOCALLIBS = ../contrib/ysip/libysip.a ../contrib/iax/libiax.a: $(MAKE) -C ../contrib/iax ../contrib/ortp/libortp.a: $(MAKE) -C ../contrib/ortp ../contrib/qt/libqtclientform.a: $(MAKE) -C ../contrib/qt ../contrib/ysip/libysip.a: $(MAKE) -C ../contrib/ysip