123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- # Copyright (c) 2007-2014, Anthony Minessale II
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions
- # are met:
- #
- # * Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- #
- # * Redistributions in binary form must reproduce the above copyright
- # notice, this list of conditions and the following disclaimer in the
- # documentation and/or other materials provided with the distribution.
- #
- # * Neither the name of the original author; nor the names of any contributors
- # may be used to endorse or promote products derived from this software
- # without specific prior written permission.
- #
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
- # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- ACLOCAL_AMFLAGS = -I build
- AUTOMAKE_OPTIONS = foreign
- SRC = src
- moddir = @modinstdir@
- libdir = @libdir@
- library_includedir = $(prefix)/include
- INCS = -I$(FT_SRCDIR)/$(SRC)/include -I$(FT_SRCDIR)/$(SRC)/include/private
- # we needed to separate CFLAGS in FTDM_COMPAT_CFLAGS and FTDM_CFLAGS due to -c99 which causes problems with wanpipe headers
- FTDM_COMPAT_CFLAGS = $(INCS) -DFTDM_CONFIG_DIR=\"@confdir@\" -DFTDM_MOD_DIR=\"$(moddir)\" @COMP_VENDOR_COMPAT_CFLAGS@ @DEFS@
- FTDM_CFLAGS = $(INCS) -DFTDM_CONFIG_DIR=\"@confdir@\" -DFTDM_MOD_DIR=\"$(moddir)\" @COMP_VENDOR_CFLAGS@ @DEFS@
- COMPILE = $(CC) $(FTDM_CFLAGS)
- LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(COMPILE)
- LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(FTDM_CFLAGS) $(LDFLAGS) -o $@
- #
- # GNU pkgconfig file
- #
- EXTRA_DIST = freetdm.pc.in
- pkgconfigdir = @pkgconfigdir@
- pkgconfig_DATA = freetdm.pc
- #
- # libfreetdm
- #
- libfreetdm_la_SOURCES = \
- $(SRC)/hashtable.c \
- $(SRC)/hashtable_itr.c \
- $(SRC)/ftdm_io.c \
- $(SRC)/ftdm_state.c \
- $(SRC)/ftdm_queue.c \
- $(SRC)/ftdm_sched.c \
- $(SRC)/ftdm_call_utils.c \
- $(SRC)/ftdm_variables.c \
- $(SRC)/ftdm_config.c \
- $(SRC)/ftdm_callerid.c \
- $(SRC)/fsk.c \
- $(SRC)/uart.c \
- $(SRC)/g711.c \
- $(SRC)/libteletone_detect.c \
- $(SRC)/libteletone_generate.c \
- $(SRC)/ftdm_buffer.c \
- $(SRC)/ftdm_threadmutex.c \
- $(SRC)/ftdm_dso.c \
- $(SRC)/ftdm_cpu_monitor.c \
- $(SRC)/ftdm_backtrace.c
- library_include_HEADERS = \
- $(SRC)/include/freetdm.h \
- $(SRC)/include/ftdm_declare.h \
- $(SRC)/include/ftdm_threadmutex.h \
- $(SRC)/include/ftdm_os.h \
- $(SRC)/include/ftdm_call_utils.h \
- $(SRC)/include/ftdm_dso.h
- lib_LTLIBRARIES = libfreetdm.la
- libfreetdm_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- libfreetdm_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS)
- libfreetdm_la_LIBADD = $(LIBS)
- core: libfreetdm.la
- core-install: install-libLTLIBRARIES
- #
- # tools & test programs
- #
- noinst_PROGRAMS = testtones detect_tones detect_dtmf testpri testr2 testanalog testapp testcid
- testapp_SOURCES = $(SRC)/testapp.c
- testapp_LDADD = libfreetdm.la
- testapp_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- testcid_SOURCES = $(SRC)/testcid.c
- testcid_LDADD = libfreetdm.la
- testcid_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- testtones_SOURCES = $(SRC)/testtones.c
- testtones_LDADD = libfreetdm.la
- testtones_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- detect_tones_SOURCES = $(SRC)/detect_tones.c
- detect_tones_LDADD = libfreetdm.la
- detect_tones_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- detect_dtmf_SOURCES = $(SRC)/detect_dtmf.c
- detect_dtmf_LDADD = libfreetdm.la
- detect_dtmf_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- #testisdn_SOURCES = $(SRC)/testisdn.c
- #testisdn_LDADD = libfreetdm.la
- #testisdn_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- testpri_SOURCES = $(SRC)/testpri.c
- testpri_LDADD = libfreetdm.la
- testpri_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- testr2_SOURCES = $(SRC)/testr2.c
- testr2_LDADD = libfreetdm.la
- testr2_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- testanalog_SOURCES = $(SRC)/testanalog.c
- testanalog_LDADD = libfreetdm.la
- testanalog_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- #
- # ftmod modules
- #
- mod_LTLIBRARIES = ftmod_zt.la ftmod_skel.la ftmod_analog.la ftmod_analog_em.la
- ftmod_zt_la_SOURCES = $(SRC)/ftmod/ftmod_zt/ftmod_zt.c
- ftmod_zt_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_zt_la_LDFLAGS = -shared -module -avoid-version
- ftmod_zt_la_LIBADD = libfreetdm.la
- ftmod_skel_la_SOURCES = $(SRC)/ftmod/ftmod_skel/ftmod_skel.c
- ftmod_skel_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_skel_la_LDFLAGS = -shared -module -avoid-version
- ftmod_skel_la_LIBADD = libfreetdm.la
- ftmod_analog_la_SOURCES = $(SRC)/ftmod/ftmod_analog/ftmod_analog.c
- ftmod_analog_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_analog_la_LDFLAGS = -shared -module -avoid-version
- ftmod_analog_la_LIBADD = libfreetdm.la
- ftmod_analog_em_la_SOURCES = $(SRC)/ftmod/ftmod_analog_em/ftmod_analog_em.c
- ftmod_analog_em_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_analog_em_la_LDFLAGS = -shared -module -avoid-version
- ftmod_analog_em_la_LIBADD = libfreetdm.la
- if HAVE_LIBSANGOMA
- mod_LTLIBRARIES += ftmod_wanpipe.la
- ftmod_wanpipe_la_SOURCES = $(SRC)/ftmod/ftmod_wanpipe/ftmod_wanpipe.c
- # some structures within Wanpipe drivers are not c99 compatible, so we need to compile ftmod_wanpipe
- # without c99 flags, use FTDM_COMPAT_CFLAGS instead
- ftmod_wanpipe_la_CFLAGS = $(FTDM_COMPAT_CFLAGS) $(AM_CFLAGS) -D__LINUX__ -I/usr/include/wanpipe
- ftmod_wanpipe_la_LDFLAGS = -shared -module -avoid-version
- ftmod_wanpipe_la_LIBADD = libfreetdm.la -lsangoma
- endif
- if HAVE_LIBISDN
- mod_LTLIBRARIES += ftmod_isdn.la
- ftmod_isdn_la_SOURCES = $(SRC)/ftmod/ftmod_isdn/ftmod_isdn.c
- ftmod_isdn_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS) -D_GNU_SOURCE $(LIBISDN_CPPFLAGS) $(PCAP_CPPFLAGS)
- ftmod_isdn_la_LDFLAGS = -shared -module -avoid-version $(LIBISDN_LDFLAGS) $(PCAP_LDFLAGS)
- ftmod_isdn_la_LIBADD = libfreetdm.la $(LIBISDN_LIBS) $(PCAP_LIBS)
- endif
- if HAVE_LIBPRI
- mod_LTLIBRARIES += ftmod_libpri.la
- ftmod_libpri_la_SOURCES = $(SRC)/ftmod/ftmod_libpri/ftmod_libpri.c $(SRC)/ftmod/ftmod_libpri/lpwrap_pri.c
- ftmod_libpri_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS) $(LIBPRI_CPPFLAGS)
- ftmod_libpri_la_LDFLAGS = -shared -module -avoid-version $(LIBPRI_LDFLAGS)
- ftmod_libpri_la_LIBADD = libfreetdm.la $(LIBPRI_LIBS)
- endif
- if HAVE_PRITAP
- mod_LTLIBRARIES += ftmod_pritap.la
- ftmod_pritap_la_SOURCES = $(SRC)/ftmod/ftmod_pritap/ftmod_pritap.c
- ftmod_pritap_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_pritap_la_LDFLAGS = -shared -module -avoid-version
- ftmod_pritap_la_LIBADD = libfreetdm.la -lpri
- endif
- if HAVE_SNG_SS7
- mod_LTLIBRARIES += ftmod_sangoma_ss7.la
- ftmod_sangoma_ss7_la_SOURCES = \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cntrl.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cfg.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_sta.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_sts.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_logger.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c \
- $(SRC)/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_relay.c
- ftmod_sangoma_ss7_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS) -D_GNU_SOURCE
- ftmod_sangoma_ss7_la_LDFLAGS = -shared -module -avoid-version
- ftmod_sangoma_ss7_la_LIBADD = libfreetdm.la -lsng_ss7
- endif
- if HAVE_SNG_ISDN
- mod_LTLIBRARIES += ftmod_sangoma_isdn.la
- ftmod_sangoma_isdn_la_SOURCES = \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_trace.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_transfer.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c \
- $(SRC)/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c
- ftmod_sangoma_isdn_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS) -D_GNU_SOURCE
- ftmod_sangoma_isdn_la_LDFLAGS = -shared -module -avoid-version
- ftmod_sangoma_isdn_la_LIBADD = libfreetdm.la -lsng_isdn
- endif
- if HAVE_OPENR2
- mod_LTLIBRARIES += ftmod_r2.la
- ftmod_r2_la_SOURCES = $(SRC)/ftmod/ftmod_r2/ftmod_r2.c $(SRC)/ftmod/ftmod_r2/ftmod_r2_io_mf_lib.c
- ftmod_r2_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_r2_la_LDFLAGS = -shared -module -avoid-version
- ftmod_r2_la_LIBADD = libfreetdm.la -lopenr2
- endif
- if HAVE_WAT
- mod_LTLIBRARIES += ftmod_gsm.la
- ftmod_gsm_la_SOURCES = $(SRC)/ftmod/ftmod_gsm/ftmod_gsm.c
- ftmod_gsm_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS)
- ftmod_gsm_la_LDFLAGS = -shared -module -avoid-version
- ftmod_gsm_la_LIBADD = libfreetdm.la -lwat
- endif
- if HAVE_MISDN
- mod_LTLIBRARIES += ftmod_misdn.la
- ftmod_misdn_la_SOURCES = $(SRC)/ftmod/ftmod_misdn/ftmod_misdn.c
- ftmod_misdn_la_CFLAGS = $(FTDM_CFLAGS) $(AM_CFLAGS) $(MISDN_CFLAGS) -D_GNU_SOURCE
- ftmod_misdn_la_LDFLAGS = -shared -module -avoid-version
- ftmod_misdn_la_LIBADD = libfreetdm.la
- endif
- dox doxygen:
- doxygen $(FT_SRCDIR)/docs/Doxygen.conf
- mod_freetdm/mod_freetdm.so: libfreetdm.la mod_freetdm/mod_freetdm.c
- $(MAKE) -C mod_freetdm
- mod_freetdm: mod_freetdm/mod_freetdm.so
- mod_freetdm-install: mod_freetdm
- $(MAKE) -C mod_freetdm install
- mod_freetdm-clean:
- @if [ -f mod_freetdm/mod_freetdm.so ] ; then \
- $(MAKE) -C mod_freetdm clean ; \
- fi
- install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(prefix)
- $(mkinstalldirs) $(DESTDIR)@confdir@
- @[ -f "$(DESTDIR)@confdir@/freetdm.conf" ] || ( cp conf/*.conf $(DESTDIR)@confdir@)
- @echo FreeTDM Installed
|