X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=Makefile;h=a5dd458b71b12afa9eed60390642eb003b671324;hp=56f705afc7ec6615d4dc4325c7b9d4fdf650fdb0;hb=b9b543675c9dea92e61524cbe74a8ecf181869c9;hpb=fd2045584f7084d209607f4d717a66bea9afe88e diff --git a/Makefile b/Makefile index 56f705a..a5dd458 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ #*****************************************************************************\ #* ** -#* PBX4Linux ** +#* Linux Call Router ** #* ** #*---------------------------------------------------------------------------** #* Copyright: Andreas Eversberg ** @@ -10,39 +10,42 @@ #*****************************************************************************/ 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. +#WITH-SOCKET = 42 # compile for socket based mISDN (this options is far unfinished !!!) # note: check your location and the names of libraries. # select location to install INSTALL_BIN = /usr/local/bin -INSTALL_DATA = /usr/local/pbx +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 +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 +endif +LCRWATCH = ./lcrwatch GEN = ./gentones GENW = ./genwave GENRC = ./genrc GENEXT = ./genextension -CFLAGS = -Wall -g -DINSTALL_DATA=\"$(INSTALL_DATA)\" -CFLAGS += $(LINUX_INCLUDE) $(MISDNUSER_INCLUDE) +CFLAGS = -Wall -g -DINSTALL_DATA=\"$(INSTALL_DATA)\" -I/usr/include/mISDNuser/ +#CFLAGS = -Wall -g -DINSTALL_DATA=\"$(INSTALL_DATA)\" ifdef WITH-CRYPTO CFLAGS += -DCRYPTO endif -LIBDIR += $(MISDNUSER_LIB) +ifdef WITH-SOCKET +CFLAGS += -DSOCKET_MISDN +endif ifdef WITH-CRYPTO LIBDIR += -L/usr/local/ssl/lib CFLAGS += -I/usr/local/ssl/include @@ -55,122 +58,113 @@ 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" +all: $(CHAN_LCR) $(LCR) $(LCRADMIN) $(GEN) $(GENW) $(GENRC) $(GENEXT) + @sh -c 'grep -n strcpy *.c* --exclude chan_lcr.c --exclude bchannel.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 ; 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 ; 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 ; 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 ; 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 ; if test $$''? = 0 ; then echo "dont use snprintf, use makro instead." ; exit -1 ; fi' + @echo "All LCR binaries done" @sync @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 + $(PP) -c $(CFLAGS) options.c -o options.o 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 -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 + +socket_server.o: socket_server.c *.h Makefile + $(PP) -c $(CFLAGS) socket_server.c -o socket_server.o + +trace.o: trace.c *.h Makefile + $(PP) -c $(CFLAGS) trace.c -o trace.o -#admin_client.o: admin_client.c *.h Makefile -# $(CC) -c $(CFLAGS) admin_client.c -o admin_client.o +chan_lcr.o: chan_lcr.c *.h Makefile + $(CC) -c $(CFLAGS) chan_lcr.c -o chan_lcr.o -admin_server.o: admin_server.c *.h Makefile - $(CC) -c $(CFLAGS) admin_server.c -o admin_server.o +bchannel.o: bchannel.c *.h Makefile + $(CC) -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 \ +$(LCR): main.o \ options.o \ interface.o \ extension.o \ @@ -191,11 +185,12 @@ $(PBX): main.o \ action_vbox.o \ action_efi.o \ mail.o \ - call.o \ - callpbx.o \ - callchan.o \ - admin_server.o - $(LD) $(LIBDIR) \ + join.o \ + joinpbx.o \ + joinremote.o \ + socket_server.o \ + trace.o + $(PP) $(LIBDIR) \ main.o \ options.o \ interface.o \ @@ -217,34 +212,39 @@ $(PBX): main.o \ action_vbox.o \ action_efi.o \ mail.o \ - call.o \ - callpbx.o \ - callchan.o \ - admin_server.o \ - $(LIBS) -o $(PBX) + join.o \ + joinpbx.o \ + joinremote.o \ + socket_server.o \ + trace.o \ + $(LIBS) -o $(LCR) -$(PBXADMIN): admin_client.c cause.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) $(CURSES) -lm admin_client.c cause.c \ - -o $(PBXADMIN) +$(LCRADMIN): lcradmin.c cause.c *.h Makefile + $(PP) $(LIBDIR) $(CFLAGS_LCRADMIN) $(CURSES) -lm lcradmin.c cause.c \ + -o $(LCRADMIN) -$(PBXWATCH): watch.c *.h Makefile - $(CC) $(LIBDIR) $(CFLAGS) -lm watch.c \ - -o $(PBXWATCH) +$(CHAN_LCR): chan_lcr.o bchannel.o + $(CC) $(LIBDIR) chan_lcr.o bchannel.o \ + $(CHANLIBS) -o $(CHAN_LCR) + +$(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) + $(PP) $(CFLAGS) options.o extension.o genext.o -o $(GENEXT) #install: # @echo Remember, this is a beta release. To overwrite your current installed @@ -252,10 +252,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) + -killall -9 -w -q lcr # the following error must be ignored + cp $(LCR) $(INSTALL_BIN) + cp $(LCRADMIN) $(INSTALL_BIN) +ifdef WITH_ASTERISK + cp $(CHAN_LCR) $(INSTALL_BIN) +endif +# cp $(LCRWATCH) $(INSTALL_BIN) cp $(GEN) $(INSTALL_BIN) cp $(GENW) $(INSTALL_BIN) cp $(GENRC) $(INSTALL_BIN) @@ -278,38 +281,55 @@ 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) + @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 sync clean: touch * - rm -f $(PBX) $(PBXADMIN) $(PBXWATCH) $(GEN) $(GENW) $(GENRC) $(GENEXT) + rm -f $(LCR) $(LCRADMIN) $(CHAN_LCR) $(LCRWATCH) $(GEN) $(GENW) $(GENRC) $(GENEXT) rm -f *.o 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 + cd .. && tar --exclude=.git -cvzf lcr_`date +%Y%m%d`.tar.gz lcr -start: $(PBX) +start: $(LCR) sync - -killall -9 -w -q pbx # the following error must be ignored - $(PBX) start + -killall -9 -w -q lcr # the following error must be ignored + $(LCR) start -s: $(PBX) +s: $(LCR) sync - -killall -9 -w -q pbx # the following error must be ignored - $(PBX) start + -killall -9 -w -q lcr # the following error must be ignored + $(LCR) start -fork: $(PBX) +fork: $(LCR) sync - -killall -9 -w -q pbx # the following error must be ignored - $(PBX) fork - + -killall -9 -w -q lcr # the following error must be ignored + $(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