unified socket application interface (for asterisk and maybe other apps)
[lcr.git] / Makefile
index d57816a..3fbf24b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 #*****************************************************************************\
 #*                                                                           **
-#* PBX4Linux                                                                 **
+#* Linux Call Router                                                         **
 #*                                                                           **
 #*---------------------------------------------------------------------------**
 #* Copyright: Andreas Eversberg                                              **
@@ -9,25 +9,19 @@
 #*                                                                           **
 #*****************************************************************************/ 
 
-WITH-PBX = 42 # MUST BE SET for now
-#WITH-H323 = 42 # comment this out, if no h323 should be compiled
-#WITH-OPAL = 42 # NOT SUPPORTED YET
 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_DATA = /usr/local/lcr
 
-# give locations for the libraries (comment out H323_LIB and PWLIB_LIB, if they are installed on the system)
+# give locations for the libraries
 LINUX_INCLUDE = -I/usr/src/linux/include
-H323_INCLUDE = -I/usr/local/include/openh323
-#H323_LIB = -L/usr/local/lib
-#PWLIB_INCLUDE = -I/usr/local/include/ptlib/unix
-#PWLIB_LIB = -L/usr/local/lib
 
 # give location of the mISDN libraries
-MISDNUSER_INCLUDE = -I../mISDNuser/include
+MISDNUSER_INCLUDE = -I../mISDNuser/include -I../mISDNuser/i4lnet
 MISDNUSER_LIB = -L../mISDNuser/lib -L../mISDNuser/i4lnet
 LIBS += -lisdnnet -lmISDN -lpthread
 
@@ -37,37 +31,22 @@ CURSES = -lncurses
 CC = g++
 LD = $(CC)
 WIZZARD = ./wizzard
-PBX = ./pbx
-PBXADMIN = ./pbxadmin
-PBXWATCH = ./pbxwatch
+LCR = ./lcr
+LCRADMIN = ./lcradmin
+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)
-ifdef WITH-PBX
-CFLAGS += -DPBX
-endif
 ifdef WITH-CRYPTO
 CFLAGS += -DCRYPTO
 endif
-CFLAGS_OPAL = $(CFLAGS)
-CFLAGS_H323 = $(CFLAGS)
 LIBDIR += $(MISDNUSER_LIB)
-ifdef WITH-OPAL
-OPAL = opal.o opal_mgr.o opal_pbxep.o opal_pbxcon.o opal_pbxms.o
-CFLAGS += -DOPAL
-CFLAGS_OPAL += $(OPAL_INCLUDE) -DOPAL
-LIBDIR += $(OPAL_LIB)
-endif
-ifdef WITH-H323
-H323 = h323.o h323_ep.o h323_con.o h323_chan.o
-LIBS += -lh323_linux_x86_r -lpt_linux_x86_r -ldl
-CFLAGS += -DH323
-CFLAGS_H323 += $(H323_INCLUDE) $(PWLIB_INCLUDE) -DH323INCLUDE -DH323 -D_REENTRANT -DPBYTE_ORDER=PLITTLE_ENDIAN -DP_PTHREADS -DP_HAS_SEMAPHORES -DPHAS_TEMPLATES -DP_LINUX -DPTRACING
-LIBDIR += $(H323_LIB) $(PWLIB_LIB)
-endif
 ifdef WITH-CRYPTO
 LIBDIR += -L/usr/local/ssl/lib
 CFLAGS += -I/usr/local/ssl/include
@@ -80,19 +59,19 @@ endif
 #      @echo Please report any bug. To compile use \"make beta\".
 #      @exit
 
-all: $(PBXADMIN) $(PBX) $(GEN) $(GENW) $(GENRC) $(GENEXT)
+all: $(LCR) $(LCRADMIN) $(CHAN_LCR) $(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"
+       @echo "All LCR binaries done"
        @sync
        @exit
 
 main.o: main.c *.h Makefile
-       $(CC) -c $(CFLAGS_H323) main.c -o main.o
+       $(CC) -c $(CFLAGS) main.c -o main.o
 
 message.o: message.c *.h Makefile
        $(CC) -c $(CFLAGS) message.c -o message.o
@@ -103,9 +82,6 @@ options.o: options.c *.h Makefile
 interface.o: interface.c *.h Makefile
        $(CC) -c $(CFLAGS) interface.c -o interface.o
 
-h323conf.o: h323conf.c *.h Makefile
-       $(CC) -c $(CFLAGS) h323conf.c -o h323conf.o
-
 extension.o: extension.c *.h Makefile
        $(CC) -c $(CFLAGS) extension.c -o extension.o
 
@@ -121,21 +97,6 @@ mISDN.o: mISDN.cpp *.h Makefile
 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
-
 #knock.o: knock.cpp *.h Makefile
 #      $(CC) -c $(CFLAGS) knock.cpp -o knock.o
 #
@@ -163,14 +124,14 @@ endpointapp.o: endpointapp.cpp *.h Makefile
 apppbx.o: apppbx.cpp *.h Makefile
        $(CC) -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
+       $(CC) -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
+       $(CC) -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
+       $(CC) -c $(CFLAGS) joinremote.cpp -o joinremote.o
 
 cause.o: cause.c *.h Makefile
        $(CC) -c $(CFLAGS) cause.c -o cause.o
@@ -184,37 +145,23 @@ tones.o: tones.c *.h Makefile
 crypt.o: crypt.cpp *.h Makefile
        $(CC) -c $(CFLAGS) crypt.cpp -o crypt.o
 
-h323.o: h323.cpp *.h Makefile
-       $(CC) -c $(CFLAGS_H323) h323.cpp -o h323.o
-
-h323_ep.o: h323_ep.cpp *.h Makefile
-       $(CC) -c $(CFLAGS_H323) h323_ep.cpp -o h323_ep.o
-
-h323_chan.o: h323_chan.cpp *.h Makefile
-       $(CC) -c $(CFLAGS_H323) h323_chan.cpp -o h323_chan.o
-
-h323_con.o: h323_con.cpp *.h Makefile
-       $(CC) -c $(CFLAGS_H323) h323_con.cpp -o h323_con.o
-
 genext.o: genext.c *.h Makefile
        $(CC) -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
 
+trace.o: trace.c *.h Makefile
+       $(CC) -c $(CFLAGS) trace.c -o trace.o
+
 
 #$(WIZZARD): wizzard.c Makefile
 #      $(CC) $(LIBDIR) $(CFLAGS) -lm wizzard.c \
 #      -o $(WIZZARD) 
 
-$(PBX):        $(H323) $(OPAL) \
-               main.o \
+$(LCR): main.o \
        options.o \
        interface.o \
-       h323conf.o \
        extension.o \
        cause.o \
        alawulaw.o \
@@ -233,15 +180,15 @@ $(PBX):   $(H323) $(OPAL) \
        action_vbox.o \
        action_efi.o \
        mail.o \
-       call.o \
-       callpbx.o \
-       callchan.o \
-       admin_server.o
-       $(LD) $(LIBDIR) $(H323) $(OPAL) \
+       join.o \
+       joinpbx.o \
+       joinremote.o \
+       admin_server.o \
+       trace.o
+       $(LD) $(LIBDIR) \
                main.o \
        options.o \
        interface.o \
-       h323conf.o \
        extension.o \
        cause.o \
        alawulaw.o \
@@ -260,19 +207,24 @@ $(PBX):   $(H323) $(OPAL) \
        action_vbox.o \
        action_efi.o \
        mail.o \
-       call.o \
-       callpbx.o \
-       callchan.o \
+       join.o \
+       joinpbx.o \
+       joinremote.o \
        admin_server.o \
-       $(LIBS) -o $(PBX) 
+       trace.o \
+       $(LIBS) -o $(LCR) 
 
-$(PBXADMIN): admin_client.c cause.c *.h Makefile
+$(LCRADMIN): admin_client.c cause.c *.h Makefile
        $(CC) $(LIBDIR) $(CFLAGS) $(CURSES) -lm admin_client.c cause.c \
-       -o $(PBXADMIN) 
+       -o $(LCRADMIN) 
 
-$(PBXWATCH): watch.c *.h Makefile
+$(CHAN_LCR): asterisk_client.c *.h Makefile
+       $(CC) $(LIBDIR) $(CFLAGS) $(CURSES) -lm asterisk_client.c \
+       -o $(CHAN_LCR) 
+
+$(LCRWATCH): watch.c *.h Makefile
        $(CC) $(LIBDIR) $(CFLAGS) -lm watch.c \
-       -o $(PBXWATCH) 
+       -o $(LCRWATCH) 
 
 $(GEN):        gentones.c *.h Makefile 
        $(CC) $(LIBDIR) $(CFLAGS) -lm gentones.c \
@@ -295,10 +247,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)
@@ -318,9 +273,6 @@ install:
                echo "NOTE: numbering_int.conf is obsolete, please use routing." ; fi
        @if test -a $(INSTALL_DATA)/numbering_ext.conf ; then \
                echo "NOTE: numbering_ext.conf is obsolete, please use routing." ; fi
-       @if test -a $(INSTALL_DATA)/h323_gateway.conf ; then \
-               echo "NOTE: h323_gateway.conf already exists, not changed." ; else \
-               cp -v default/h323_gateway.conf $(INSTALL_DATA) ; fi
        @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
@@ -332,7 +284,7 @@ install:
 
 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
@@ -340,22 +292,22 @@ clean:
 
 tar:
        make clean
-       cd .. &&  tar -cvzf pbx4linux_`date +%Y%m%d`.tar.gz pbx4linux
+       cd .. &&  tar -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