X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=Makefile;h=171b57b7b6878ada05499b38bd0a450718995b8a;hp=8da735e4b7fc82ac1c7be442a07e8bf82e23d70a;hb=b1ab2b9ac1cfc15d2a8f5850145dd69043cc3ef7;hpb=b53b484c91209f5d8f1e2f9c56026021de1b6142 diff --git a/Makefile b/Makefile index 8da735e..171b57b 100644 --- a/Makefile +++ b/Makefile @@ -1,53 +1,54 @@ #*****************************************************************************\ #* ** -#* PBX4Linux ** +#* Linux Call Router ** #* ** #*---------------------------------------------------------------------------** #* Copyright: Andreas Eversberg ** #* ** -#* Makefile ** +#* Makefile ** #* ** #*****************************************************************************/ WITH-CRYPTO = 42 # comment this out, if no libcrypto should be used +WITH-ASTERISK = 42 # comment this out, if you don't require built-in Asterisk channel driver. # note: check your location and the names of libraries. # select location to install INSTALL_BIN = /usr/local/bin -INSTALL_DATA = /usr/local/pbx +INSTALL_CHAN = /usr/lib/asterisk/modules +INSTALL_DATA = /usr/local/lcr -# give locations for the libraries -LINUX_INCLUDE = -I/usr/src/linux/include - -# give location of the mISDN libraries -MISDNUSER_INCLUDE = -I../mISDNuser/include -MISDNUSER_LIB = -L../mISDNuser/lib -L../mISDNuser/i4lnet -LIBS += -lisdnnet -lmISDN -lpthread +LIBS += -lmisdn -lpthread +CHANLIBS += -lmISDN # give location of the curses or ncurses library CURSES = -lncurses -CC = g++ -LD = $(CC) +CC = gcc +PP = g++ WIZZARD = ./wizzard -PBX = ./pbx -PBXADMIN = ./pbxadmin -PBXWATCH = ./pbxwatch +LCR = ./lcr +LCRADMIN = ./lcradmin +CFLAGS_LCRADMIN = -DINSTALL_DATA=\"$(INSTALL_DATA)\" +ifdef WITH-ASTERISK +CHAN_LCR = ./chan_lcr.so +endif +LCRWATCH = ./lcrwatch GEN = ./gentones GENW = ./genwave GENRC = ./genrc GENEXT = ./genextension CFLAGS = -Wall -g -DINSTALL_DATA=\"$(INSTALL_DATA)\" -CFLAGS += $(LINUX_INCLUDE) $(MISDNUSER_INCLUDE) +CFLAGS += -I/usr/include/mISDNuser +#CFLAGS = -Wall -g -DINSTALL_DATA=\"$(INSTALL_DATA)\" ifdef WITH-CRYPTO CFLAGS += -DCRYPTO endif -LIBDIR += $(MISDNUSER_LIB) ifdef WITH-CRYPTO LIBDIR += -L/usr/local/ssl/lib CFLAGS += -I/usr/local/ssl/include -#LIBS += -lcrypto -LIBS += /usr/local/ssl/lib/libcrypto.a +LIBS += -lcrypto +#LIBS += /usr/local/ssl/lib/libcrypto.a endif #all: @@ -55,126 +56,120 @@ endif # @echo Please report any bug. To compile use \"make beta\". # @exit -all: $(PBXADMIN) $(PBX) $(GEN) $(GENW) $(GENRC) $(GENEXT) - @sh -c 'grep -n strcpy *.c* ; if test $$''? = 0 ; then echo "dont use strcpy, use makro instead." ; exit -1 ; fi' - @sh -c 'grep -n strncpy *.c* ; if test $$''? = 0 ; then echo "dont use strncpy, use makro instead." ; exit -1 ; fi' - @sh -c 'grep -n strcat *.c* ; if test $$''? = 0 ; then echo "dont use strcat, use makro instead." ; exit -1 ; fi' - @sh -c 'grep -n strncat *.c* ; if test $$''? = 0 ; then echo "dont use strncat, use makro instead." ; exit -1 ; fi' - @sh -c 'grep -n sprintf *.c* ; if test $$''? = 0 ; then echo "dont use sprintf, use makro instead." ; exit -1 ; fi' - @sh -c 'grep -n snprintf *.c* ; if test $$''? = 0 ; then echo "dont use snprintf, use makro instead." ; exit -1 ; fi' - @echo "All PBX binaries done" - @sync +all: $(CHAN_LCR) $(LCR) $(LCRADMIN) $(GEN) $(GENW) $(GENRC) $(GENEXT) + @sh -c 'grep -n strcpy *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use strcpy, use makro instead." ; exit -1 ; fi' + @sh -c 'grep -n strncpy *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use strncpy, use makro instead." ; exit -1 ; fi' + @sh -c 'grep -n strcat *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use strcat, use makro instead." ; exit -1 ; fi' + @sh -c 'grep -n strncat *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use strncat, use makro instead." ; exit -1 ; fi' + @sh -c 'grep -n sprintf *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use sprintf, use makro instead." ; exit -1 ; fi' + @sh -c 'grep -n snprintf *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use snprintf, use makro instead." ; exit -1 ; fi' + @echo "All LCR binaries done" @exit main.o: main.c *.h Makefile - $(CC) -c $(CFLAGS) main.c -o main.o + $(PP) -c $(CFLAGS) main.c -o main.o message.o: message.c *.h Makefile - $(CC) -c $(CFLAGS) message.c -o message.o + $(PP) -c $(CFLAGS) message.c -o message.o options.o: options.c *.h Makefile $(CC) -c $(CFLAGS) options.c -o options.o +options.ooo: options.c *.h Makefile + $(PP) -c $(CFLAGS) options.c -o options.ooo interface.o: interface.c *.h Makefile - $(CC) -c $(CFLAGS) interface.c -o interface.o + $(PP) -c $(CFLAGS) interface.c -o interface.o extension.o: extension.c *.h Makefile - $(CC) -c $(CFLAGS) extension.c -o extension.o + $(PP) -c $(CFLAGS) extension.c -o extension.o route.o: route.c *.h Makefile - $(CC) -c $(CFLAGS) route.c -o route.o + $(PP) -c $(CFLAGS) route.c -o route.o port.o: port.cpp *.h Makefile - $(CC) -c $(CFLAGS) port.cpp -o port.o + $(PP) -c $(CFLAGS) port.cpp -o port.o mISDN.o: mISDN.cpp *.h Makefile - $(CC) -c $(CFLAGS) mISDN.cpp -o mISDN.o + $(PP) -c $(CFLAGS) mISDN.cpp -o mISDN.o dss1.o: dss1.cpp ie.cpp *.h Makefile - $(CC) -c $(CFLAGS) dss1.cpp -o dss1.o - -opal.o: opal.cpp *.h Makefile - $(CC) -c $(CFLAGS) opal.cpp -o opal.o - -opal_mgr.o: opal_mgr.cpp *.h Makefile - $(CC) -c $(CFLAGS) opal_mgr.cpp -o opal_mgr.o - -opal_pbxep.o: opal_pbxep.cpp *.h Makefile - $(CC) -c $(CFLAGS) opal_pbxep.cpp -o opal_pbxep.o - -opal_pbxcon.o: opal_pbxcon.cpp *.h Makefile - $(CC) -c $(CFLAGS) opal_pbxcon.cpp -o opal_pbxcon.o - -opal_pbxms.o: opal_pbxms.cpp *.h Makefile - $(CC) -c $(CFLAGS) opal_pbxms.cpp -o opal_pbxms.o + $(PP) -c $(CFLAGS) dss1.cpp -o dss1.o #knock.o: knock.cpp *.h Makefile -# $(CC) -c $(CFLAGS) knock.cpp -o knock.o +# $(PP) -c $(CFLAGS) knock.cpp -o knock.o # vbox.o: vbox.cpp *.h Makefile - $(CC) -c $(CFLAGS) vbox.cpp -o vbox.o + $(PP) -c $(CFLAGS) vbox.cpp -o vbox.o mail.o: mail.c *.h Makefile - $(CC) -c $(CFLAGS) mail.c -o mail.o + $(PP) -c $(CFLAGS) mail.c -o mail.o action.o: action.cpp *.h Makefile - $(CC) -c $(CFLAGS) action.cpp -o action.o + $(PP) -c $(CFLAGS) action.cpp -o action.o action_vbox.o: action_vbox.cpp *.h Makefile - $(CC) -c $(CFLAGS) action_vbox.cpp -o action_vbox.o + $(PP) -c $(CFLAGS) action_vbox.cpp -o action_vbox.o action_efi.o: action_efi.cpp *.h Makefile - $(CC) -c $(CFLAGS) action_efi.cpp -o action_efi.o + $(PP) -c $(CFLAGS) action_efi.cpp -o action_efi.o endpoint.o: endpoint.cpp *.h Makefile - $(CC) -c $(CFLAGS) endpoint.cpp -o endpoint.o + $(PP) -c $(CFLAGS) endpoint.cpp -o endpoint.o endpointapp.o: endpointapp.cpp *.h Makefile - $(CC) -c $(CFLAGS) endpointapp.cpp -o endpointapp.o + $(PP) -c $(CFLAGS) endpointapp.cpp -o endpointapp.o apppbx.o: apppbx.cpp *.h Makefile - $(CC) -c $(CFLAGS) apppbx.cpp -o apppbx.o + $(PP) -c $(CFLAGS) apppbx.cpp -o apppbx.o + +callerid.o: callerid.c *.h Makefile + $(CC) -c $(CFLAGS) callerid.c -o callerid.o +callerid.ooo: callerid.c *.h Makefile + $(PP) -c $(CFLAGS) callerid.c -o callerid.ooo -call.o: call.cpp *.h Makefile - $(CC) -c $(CFLAGS) call.cpp -o call.o +join.o: join.cpp *.h Makefile + $(PP) -c $(CFLAGS) join.cpp -o join.o -callpbx.o: callpbx.cpp *.h Makefile - $(CC) -c $(CFLAGS) callpbx.cpp -o callpbx.o +joinpbx.o: joinpbx.cpp *.h Makefile + $(PP) -c $(CFLAGS) joinpbx.cpp -o joinpbx.o -callchan.o: callchan.cpp *.h Makefile - $(CC) -c $(CFLAGS) callchan.cpp -o callchan.o +joinremote.o: joinremote.cpp *.h Makefile + $(PP) -c $(CFLAGS) joinremote.cpp -o joinremote.o cause.o: cause.c *.h Makefile - $(CC) -c $(CFLAGS) cause.c -o cause.o + $(PP) -c $(CFLAGS) cause.c -o cause.o alawulaw.o: alawulaw.c *.h Makefile - $(CC) -c $(CFLAGS) alawulaw.c -o alawulaw.o + $(PP) -c $(CFLAGS) alawulaw.c -o alawulaw.o tones.o: tones.c *.h Makefile - $(CC) -c $(CFLAGS) tones.c -o tones.o + $(PP) -c $(CFLAGS) tones.c -o tones.o crypt.o: crypt.cpp *.h Makefile - $(CC) -c $(CFLAGS) crypt.cpp -o crypt.o + $(PP) -c $(CFLAGS) crypt.cpp -o crypt.o genext.o: genext.c *.h Makefile - $(CC) -c $(CFLAGS) genext.c -o genext.o + $(PP) -c $(CFLAGS) genext.c -o genext.o -#admin_client.o: admin_client.c *.h Makefile -# $(CC) -c $(CFLAGS) admin_client.c -o admin_client.o - -admin_server.o: admin_server.c *.h Makefile - $(CC) -c $(CFLAGS) admin_server.c -o admin_server.o +socket_server.o: socket_server.c *.h Makefile + $(PP) -c $(CFLAGS) socket_server.c -o socket_server.o trace.o: trace.c *.h Makefile - $(CC) -c $(CFLAGS) trace.c -o trace.o + $(PP) -c $(CFLAGS) trace.c -o trace.o + +chan_lcr.o: chan_lcr.c *.h Makefile + $(CC) -D_GNU_SOURCE -c $(CFLAGS) chan_lcr.c -o chan_lcr.o + +bchannel.o: bchannel.c *.h Makefile + $(CC) -D_GNU_SOURCE -c $(CFLAGS) bchannel.c -o bchannel.o #$(WIZZARD): wizzard.c Makefile -# $(CC) $(LIBDIR) $(CFLAGS) -lm wizzard.c \ +# $(PP) $(LIBDIR) $(CFLAGS) -lm wizzard.c \ # -o $(WIZZARD) -$(PBX): main.o \ - options.o \ +$(LCR): main.o \ + options.ooo \ interface.o \ extension.o \ cause.o \ @@ -189,19 +184,20 @@ $(PBX): main.o \ endpoint.o \ endpointapp.o \ apppbx.o \ + callerid.ooo \ crypt.o \ action.o \ action_vbox.o \ action_efi.o \ mail.o \ - call.o \ - callpbx.o \ - callchan.o \ - admin_server.o \ + join.o \ + joinpbx.o \ + joinremote.o \ + socket_server.o \ trace.o - $(LD) $(LIBDIR) \ - main.o \ - options.o \ + $(PP) $(LIBDIR) \ + main.o \ + options.ooo \ interface.o \ extension.o \ cause.o \ @@ -216,40 +212,45 @@ $(PBX): main.o \ endpoint.o \ endpointapp.o \ apppbx.o \ + callerid.ooo \ crypt.o \ action.o \ action_vbox.o \ action_efi.o \ mail.o \ - call.o \ - callpbx.o \ - callchan.o \ - admin_server.o \ + join.o \ + joinpbx.o \ + joinremote.o \ + socket_server.o \ trace.o \ - $(LIBS) -o $(PBX) + $(LIBS) -o $(LCR) + +$(LCRADMIN): lcradmin.c cause.c options.c *.h Makefile + $(PP) $(LIBDIR) $(CFLAGS_LCRADMIN) $(CURSES) -lm lcradmin.c cause.c \ + options.c -o $(LCRADMIN) -$(PBXADMIN): admin_client.c cause.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) $(CURSES) -lm admin_client.c cause.c \ - -o $(PBXADMIN) +$(CHAN_LCR): chan_lcr.o bchannel.o callerid.o options.o *.h Makefile + $(CC) -shared -Xlinker -x $(LDFLAGS) -o $(CHAN_LCR) chan_lcr.o bchannel.o callerid.o options.o -$(PBXWATCH): watch.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) -lm watch.c \ - -o $(PBXWATCH) + +$(LCRWATCH): watch.c *.h Makefile + $(PP) $(LIBDIR) $(CFLAGS) -lm watch.c \ + -o $(LCRWATCH) $(GEN): gentones.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) -lm gentones.c \ + $(PP) $(LIBDIR) $(CFLAGS) -lm gentones.c \ -o $(GEN) $(GENW):genwave.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) -lm genwave.c \ + $(PP) $(LIBDIR) $(CFLAGS) -lm genwave.c \ -o $(GENW) $(GENRC): genrc.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) -lm genrc.c \ + $(PP) $(LIBDIR) $(CFLAGS) -lm genrc.c \ -o $(GENRC) -$(GENEXT): options.o extension.o genext.o - $(CC) $(CFLAGS) options.o extension.o genext.o -o $(GENEXT) +$(GENEXT): options.ooo extension.o genext.o + $(PP) $(CFLAGS) options.ooo extension.o genext.o -o $(GENEXT) #install: # @echo Remember, this is a beta release. To overwrite your current installed @@ -257,10 +258,13 @@ $(GENEXT): options.o extension.o genext.o # @exit install: - -killall -9 -w -q pbx # the following error must be ignored - cp $(PBX) $(INSTALL_BIN) - cp $(PBXADMIN) $(INSTALL_BIN) -# cp $(PBXWATCH) $(INSTALL_BIN) + make + cp $(LCR) $(INSTALL_BIN) + cp $(LCRADMIN) $(INSTALL_BIN) +ifdef WITH-ASTERISK + cp $(CHAN_LCR) $(INSTALL_CHAN) +endif +# cp $(LCRWATCH) $(INSTALL_BIN) cp $(GEN) $(INSTALL_BIN) cp $(GENW) $(INSTALL_BIN) cp $(GENRC) $(INSTALL_BIN) @@ -283,38 +287,45 @@ install: @if test -a $(INSTALL_DATA)/directory.list ; then \ echo "NOTE: directory.list already exists, not changed." ; else \ cp -v default/directory.list $(INSTALL_DATA) ; fi - cp -a tones_* $(INSTALL_DATA) - cp -a vbox_english/ $(INSTALL_DATA) - cp -a vbox_german/ $(INSTALL_DATA) - cp -a tones_efi/ $(INSTALL_DATA) - sync + @if test -a $(INSTALL_DATA)/tones_american ; then \ + echo "NOTE: american tones already exists, not overwritten." ; else \ + cp -a tones_american $(INSTALL_DATA) ; fi + @if test -a $(INSTALL_DATA)/tones_german ; then \ + echo "NOTE: german tones already exists, not overwritten." ; else \ + cp -a tones_german $(INSTALL_DATA) ; fi + @if test -a $(INSTALL_DATA)/vbox_german ; then \ + echo "NOTE: german vbox tones already exists, not overwritten." ; else \ + cp -a vbox_german $(INSTALL_DATA) ; fi + @if test -a $(INSTALL_DATA)/vbox_english ; then \ + echo "NOTE: english vbox tones already exists, not overwritten." ; else \ + cp -a vbox_english $(INSTALL_DATA) ; fi + @if test -a $(INSTALL_DATA)/tones_efi ; then \ + echo "NOTE: special efi tones already exists, not overwritten." ; else \ + cp -a tones_efi $(INSTALL_DATA) ; fi clean: touch * - rm -f $(PBX) $(PBXADMIN) $(PBXWATCH) $(GEN) $(GENW) $(GENRC) $(GENEXT) - rm -f *.o + rm -f $(LCR) $(LCRADMIN) $(CHAN_LCR) $(LCRWATCH) $(GEN) $(GENW) $(GENRC) $(GENEXT) + rm -f *.o *.ooo rm -f .*.c.sw* .*.cpp.sw* .*.h.sw* - rm -f bla nohup.out + rm -f bla nohup.out a.out rm -f debug*.log tar: make clean - cd .. && tar -cvzf pbx4linux_`date +%Y%m%d`.tar.gz pbx4linux - -start: $(PBX) - sync - -killall -9 -w -q pbx # the following error must be ignored - $(PBX) start + cd .. && tar --exclude=.git -cvzf lcr_`date +%Y%m%d`.tar.gz lcr -s: $(PBX) - sync - -killall -9 -w -q pbx # the following error must be ignored - $(PBX) start +start: $(LCR) + $(LCR) start -fork: $(PBX) - sync - -killall -9 -w -q pbx # the following error must be ignored - $(PBX) fork +fork: $(LCR) + $(LCR) fork +snapshot: clean + DIR=lcr-$$(date +"20%y_%m_%d") ; \ + mkdir -p /tmp/$$DIR ; \ + cp -a * /tmp/$$DIR ; \ + cd /tmp/; \ + tar czf $$DIR.tar.gz $$DIR