X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=Makefile.am;h=cc4da0dccecf94b04ed1073335da375a6a5cf9ee;hp=32c4d02ae9361e6c96e5be0d1b69815f640bf035;hb=034d3a91404addedc1c7a3494862c79532b0b878;hpb=e88b4496dab6eae74e088097dd89bcfcf40006eb diff --git a/Makefile.am b/Makefile.am index 32c4d02..cc4da0d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,10 +43,12 @@ INSTALLATION_DEFINES = \ -DLOG_DIR="\"$(LOGdir)\"" \ -DEXTENSION_DATA="\"$(EXTENSIONdir)\"" +SUBDIRS = include + if ENABLE_MISDN MISDN_INCLUDE = -DWITH_MISDN -DWITH_CRYPT -MISDN_SOURCE = mISDN.cpp dss1.cpp loop.c crypt.cpp remote.cpp joinremote.cpp +MISDN_SOURCE = mISDN.cpp fxs.cpp dss1.cpp crypt.cpp MISDN_LIB = -lmisdn endif @@ -57,17 +59,36 @@ GSM_LIB = if ENABLE_GSM -GSM_INCLUDE += +#if ENABLE_GSMFR -GSM_SOURCE += gsm_audio.c gsm.cpp - -GSM_LIB += /usr/lib/libgsm.a +GSM_INCLUDE += -DWITH_GSMFR + +GSM_LIB += libgsmfr/lib/libgsm.a + +SUBDIRS += libgsmfr + +#endif -#gsm_audio.po: gsm_audio.c gsm_audio.h -# $(CC) -D_GNU_SOURCE -fPIC -c gsm_audio.c -o gsm_audio.po +if ENABLE_GSMHR + +GSM_INCLUDE += -DWITH_GSMHR + +GSM_LIB += libgsmhr/libgsmhr.la + +SUBDIRS += libgsmhr endif +if ENABLE_GSMAMR + +GSM_INCLUDE += -DWITH_GSMAMR + +GSM_LIB += -lopencore-amrnb + +endif + +GSM_SOURCE += gsm_audio.c gsm.cpp + if ENABLE_GSM_BS GSM_INCLUDE += -DWITH_GSM_BS @@ -84,6 +105,9 @@ GSM_SOURCE += gsm_ms.cpp endif +endif + + if ENABLE_SS5 SS5_INCLUDE = -DWITH_SS5 @@ -108,6 +132,18 @@ SIP_LIB += $(SOFIA_LIBS) endif +VOOTP_LIB = + +if ENABLE_VOOTP + +VOOTP_INCLUDE = -DWITH_VOOTP $(VOOTP_CFLAGS) + +VOOTP_SOURCE = + +VOOTP_LIB += $(VOOTP_LIBS) + +endif + bin_PROGRAMS = lcradmin gentones genwave sbin_PROGRAMS = lcr genrc genextension @@ -115,54 +151,73 @@ sbin_PROGRAMS = lcr genrc genextension if ENABLE_ASTERISK_CHANNEL_DRIVER noinst_PROGRAMS = chan_lcr.so chan_lcr_so_SOURCES = -chan_lcr_so_LDFLAGS = -shared -chan_lcr_so_LDADD = chan_lcr.po bchannel.po options.po callerid.po select.po +chan_lcr_so_LDFLAGS = --shared +chan_lcr_so_LDADD = chan_lcr.po options.po callerid.po select.po -chan_lcr.po: chan_lcr.c chan_lcr.h - $(CC) $(INCLUDES) $(AST_CFLAGS) $(CPPFLAGS) $(CFLAGS) -D_GNU_SOURCE -fPIC -c $< -o $@ +# List chan_lcr specific sources for make dist +EXTRA_chan_lcr_so_SOURCES = chan_lcr.c chan_lcr.h -bchannel.po: bchannel.c bchannel.h - $(CC) $(INCLUDES) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ + +chan_lcr.po: chan_lcr.c chan_lcr.h + $(CC) $(AM_CPPFLAGS) $(AST_CFLAGS) $(CPPFLAGS) $(CFLAGS) -D_GNU_SOURCE -fPIC -c $< -o $@ callerid.po: callerid.c callerid.h - $(CC) $(INCLUDES) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ + $(CC) $(AM_CPPFLAGS) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ options.po: options.c options.h - $(CC) $(INCLUDES) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ + $(CC) $(AM_CPPFLAGS) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ select.po: select.c select.h - $(CC) $(INCLUDES) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ + $(CC) $(AM_CPPFLAGS) -D_GNU_SOURCE $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@ -install-exec-hook: +install-exec-hook: chan_lcr.so $(INSTALL) -d '$(DESTDIR)$(astmoddir)' $(INSTALL) chan_lcr.so '$(DESTDIR)$(astmoddir)' + +uninstall-hook: + cd '$(DESTDIR)$(astmoddir)' && rm -f chan_lcr.so endif -INCLUDES = $(all_includes) $(MISDN_INCLUDE) $(GSM_INCLUDE) $(SS5_INCLUDE) $(SIP_INCLUDE) -Wall $(INSTALLATION_DEFINES) +AM_CPPFLAGS = $(all_includes) $(MISDN_INCLUDE) $(GSM_INCLUDE) $(SS5_INCLUDE) $(SIP_INCLUDE) $(VOOTP_INCLUDE) -Wall $(INSTALLATION_DEFINES) lcr_SOURCES = \ main.c select.c trace.c options.c tones.c alawulaw.c cause.c interface.c message.c callerid.c socket_server.c \ - port.cpp vbox.cpp \ - $(MISDN_SOURCE) $(GSM_SOURCE) $(SS5_SOURCE) $(SIP_SOURCE) \ + port.cpp vbox.cpp remote.cpp \ + $(MISDN_SOURCE) $(GSM_SOURCE) $(SS5_SOURCE) $(SIP_SOURCE) $(VOOTP_SOURCE) \ endpoint.cpp endpointapp.cpp \ appbridge.cpp apppbx.cpp route.c action.cpp action_efi.cpp action_vbox.cpp extension.c mail.c \ - join.cpp joinpbx.cpp + join.cpp joinpbx.cpp dov.cpp -lcr_LDADD = $(LIBCRYPTO) $(MISDN_LIB) -lpthread $(GSM_LIB) $(SIP_LIB) +lcr_LDADD = $(LIBCRYPTO) $(MISDN_LIB) -lpthread $(GSM_LIB) $(SIP_LIB) $(VOOTP_LIB) lcradmin_SOURCES = lcradmin.c cause.c options.c genextension_SOURCES = genext.c options.c extension.c + +# List all headers for make dist +noinst_HEADERS = \ + main.h macro.h select.h trace.h options.h tones.h alawulaw.h cause.h interface.h \ + message.h callerid.h socket_server.h port.h vbox.h endpoint.h endpointapp.h \ + appbridge.h apppbx.h route.h extension.h join.h joinpbx.h lcrsocket.h + +noinst_HEADERS += myisdn.h mISDN.h dss1.h crypt.h remote.h fxs.h +noinst_HEADERS += ss5.h ss5_encode.h ss5_decode.h +noinst_HEADERS += mncc.h gsm.h gsm_audio.h gsm_bs.h gsm_ms.h +noinst_HEADERS += ie.cpp sip.h + + # Special install function to preserve existing configs. # Optimization with equivalen results are welcome CONFIGFILES = options.conf interface.conf routing.conf directory.list TONEDIRS = tones_american tones_efi tones_german vbox_english vbox_german +EXTRA_DIST = default debian $(TONEDIRS) + install-data-hook: @fns='strcpy strncpy strcat strncat sprintf snprintf' ; \ files=$$( find $(srcdir) -type f -name "*.c*" \ - | $(GREP) -v -e chan_lcr.c -e bchannel.c -e callerid.c ) ; \ + | $(GREP) -v -e chan_lcr.c -e callerid.c ) ; \ test -z "$$files" || { for fn in $$fns ; do \ $(GREP) -n $$fn $$files ; if test $$? = 0 ; then \ ( echo "dont use $$fn, use makro instead." ; exit -1 ) ; \ @@ -188,6 +243,18 @@ install-data-hook: else mkdir -p "$$destdir" ; cp -a $(srcdir)/$$d/* "$$destdir/" ; fi ; \ done + +# Because distuninstallcheck expects relative filenames, we cannot +# replace './' with $(prefix) in _listfiles. Therefore we do it the +# other way around to filter out configuration files and tones. +distcheck_CONFIGdir = echo $(CONFIGdir) | sed 's|^$(prefix)/|./|' +distcheck_SHAREdir = echo $(SHAREdir) | sed 's|^$(prefix)/|./|' + +distuninstallcheck_listfiles = find . -type f -print \ + | $(GREP) -v "$$( $(distcheck_CONFIGdir) )" \ + | $(GREP) -v "$$( $(distcheck_SHAREdir) )" + + clean-generic: rm -f *.po