1 #*****************************************************************************\
3 #* Linux Call Router **
5 #*---------------------------------------------------------------------------**
6 #* Copyright: Andreas Eversberg **
10 #*****************************************************************************/
12 WITH-CRYPTO = 42 # comment this out, if no libcrypto should be used
13 # note: check your location and the names of libraries.
15 # select location to install
16 INSTALL_BIN = /usr/local/bin
17 INSTALL_DATA = /usr/local/lcr
19 # give locations for the libraries
20 LINUX_INCLUDE = -I/usr/src/linux/include
22 # give location of the mISDN libraries
23 MISDNUSER_INCLUDE = -I../mISDNuser/include -I../mISDNuser/i4lnet
24 MISDNUSER_LIB = -L../mISDNuser/lib -L../mISDNuser/i4lnet
25 LIBS += -lisdnnet -lmISDN -lpthread
27 # give location of the curses or ncurses library
39 GENEXT = ./genextension
40 CFLAGS = -Wall -g -DINSTALL_DATA=\"$(INSTALL_DATA)\"
41 CFLAGS += $(LINUX_INCLUDE) $(MISDNUSER_INCLUDE)
45 LIBDIR += $(MISDNUSER_LIB)
47 LIBDIR += -L/usr/local/ssl/lib
48 CFLAGS += -I/usr/local/ssl/include
50 LIBS += /usr/local/ssl/lib/libcrypto.a
54 # @echo Note that this version is a beta release. It is only for testing purpose.
55 # @echo Please report any bug. To compile use \"make beta\".
58 all: $(LCR) $(LCRADMIN) $(GEN) $(GENW) $(GENRC) $(GENEXT)
59 @sh -c 'grep -n strcpy *.c* ; if test $$''? = 0 ; then echo "dont use strcpy, use makro instead." ; exit -1 ; fi'
60 @sh -c 'grep -n strncpy *.c* ; if test $$''? = 0 ; then echo "dont use strncpy, use makro instead." ; exit -1 ; fi'
61 @sh -c 'grep -n strcat *.c* ; if test $$''? = 0 ; then echo "dont use strcat, use makro instead." ; exit -1 ; fi'
62 @sh -c 'grep -n strncat *.c* ; if test $$''? = 0 ; then echo "dont use strncat, use makro instead." ; exit -1 ; fi'
63 @sh -c 'grep -n sprintf *.c* ; if test $$''? = 0 ; then echo "dont use sprintf, use makro instead." ; exit -1 ; fi'
64 @sh -c 'grep -n snprintf *.c* ; if test $$''? = 0 ; then echo "dont use snprintf, use makro instead." ; exit -1 ; fi'
65 @echo "All LCR binaries done"
69 main.o: main.c *.h Makefile
70 $(CC) -c $(CFLAGS) main.c -o main.o
72 message.o: message.c *.h Makefile
73 $(CC) -c $(CFLAGS) message.c -o message.o
75 options.o: options.c *.h Makefile
76 $(CC) -c $(CFLAGS) options.c -o options.o
78 interface.o: interface.c *.h Makefile
79 $(CC) -c $(CFLAGS) interface.c -o interface.o
81 extension.o: extension.c *.h Makefile
82 $(CC) -c $(CFLAGS) extension.c -o extension.o
84 route.o: route.c *.h Makefile
85 $(CC) -c $(CFLAGS) route.c -o route.o
87 port.o: port.cpp *.h Makefile
88 $(CC) -c $(CFLAGS) port.cpp -o port.o
90 mISDN.o: mISDN.cpp *.h Makefile
91 $(CC) -c $(CFLAGS) mISDN.cpp -o mISDN.o
93 dss1.o: dss1.cpp ie.cpp *.h Makefile
94 $(CC) -c $(CFLAGS) dss1.cpp -o dss1.o
96 #knock.o: knock.cpp *.h Makefile
97 # $(CC) -c $(CFLAGS) knock.cpp -o knock.o
99 vbox.o: vbox.cpp *.h Makefile
100 $(CC) -c $(CFLAGS) vbox.cpp -o vbox.o
102 mail.o: mail.c *.h Makefile
103 $(CC) -c $(CFLAGS) mail.c -o mail.o
105 action.o: action.cpp *.h Makefile
106 $(CC) -c $(CFLAGS) action.cpp -o action.o
108 action_vbox.o: action_vbox.cpp *.h Makefile
109 $(CC) -c $(CFLAGS) action_vbox.cpp -o action_vbox.o
111 action_efi.o: action_efi.cpp *.h Makefile
112 $(CC) -c $(CFLAGS) action_efi.cpp -o action_efi.o
114 endpoint.o: endpoint.cpp *.h Makefile
115 $(CC) -c $(CFLAGS) endpoint.cpp -o endpoint.o
117 endpointapp.o: endpointapp.cpp *.h Makefile
118 $(CC) -c $(CFLAGS) endpointapp.cpp -o endpointapp.o
120 apppbx.o: apppbx.cpp *.h Makefile
121 $(CC) -c $(CFLAGS) apppbx.cpp -o apppbx.o
123 call.o: call.cpp *.h Makefile
124 $(CC) -c $(CFLAGS) call.cpp -o call.o
126 callpbx.o: callpbx.cpp *.h Makefile
127 $(CC) -c $(CFLAGS) callpbx.cpp -o callpbx.o
129 callchan.o: callchan.cpp *.h Makefile
130 $(CC) -c $(CFLAGS) callchan.cpp -o callchan.o
132 cause.o: cause.c *.h Makefile
133 $(CC) -c $(CFLAGS) cause.c -o cause.o
135 alawulaw.o: alawulaw.c *.h Makefile
136 $(CC) -c $(CFLAGS) alawulaw.c -o alawulaw.o
138 tones.o: tones.c *.h Makefile
139 $(CC) -c $(CFLAGS) tones.c -o tones.o
141 crypt.o: crypt.cpp *.h Makefile
142 $(CC) -c $(CFLAGS) crypt.cpp -o crypt.o
144 genext.o: genext.c *.h Makefile
145 $(CC) -c $(CFLAGS) genext.c -o genext.o
147 #admin_client.o: admin_client.c *.h Makefile
148 # $(CC) -c $(CFLAGS) admin_client.c -o admin_client.o
150 admin_server.o: admin_server.c *.h Makefile
151 $(CC) -c $(CFLAGS) admin_server.c -o admin_server.o
153 trace.o: trace.c *.h Makefile
154 $(CC) -c $(CFLAGS) trace.c -o trace.o
157 #$(WIZZARD): wizzard.c Makefile
158 # $(CC) $(LIBDIR) $(CFLAGS) -lm wizzard.c \
216 $(LCRADMIN): admin_client.c cause.c *.h Makefile
217 $(CC) $(LIBDIR) $(CFLAGS) $(CURSES) -lm admin_client.c cause.c \
220 $(LCRWATCH): watch.c *.h Makefile
221 $(CC) $(LIBDIR) $(CFLAGS) -lm watch.c \
224 $(GEN): gentones.c *.h Makefile
225 $(CC) $(LIBDIR) $(CFLAGS) -lm gentones.c \
228 $(GENW):genwave.c *.h Makefile
229 $(CC) $(LIBDIR) $(CFLAGS) -lm genwave.c \
232 $(GENRC): genrc.c *.h Makefile
233 $(CC) $(LIBDIR) $(CFLAGS) -lm genrc.c \
236 $(GENEXT): options.o extension.o genext.o
237 $(CC) $(CFLAGS) options.o extension.o genext.o -o $(GENEXT)
240 # @echo Remember, this is a beta release. To overwrite your current installed
241 # @echo version, use \"make beta_install\".
245 -killall -9 -w -q lcr # the following error must be ignored
246 cp $(LCR) $(INSTALL_BIN)
247 cp $(LCRADMIN) $(INSTALL_BIN)
248 # cp $(LCRWATCH) $(INSTALL_BIN)
249 cp $(GEN) $(INSTALL_BIN)
250 cp $(GENW) $(INSTALL_BIN)
251 cp $(GENRC) $(INSTALL_BIN)
252 cp $(GENEXT) $(INSTALL_BIN)
253 mkdir -p $(INSTALL_DATA)
254 mkdir -p $(INSTALL_DATA)/extensions
255 @if test -a $(INSTALL_DATA)/options.conf ; then \
256 echo "NOTE: options.conf already exists, not changed." ; else \
257 cp -v default/options.conf $(INSTALL_DATA) ; fi
258 @if test -a $(INSTALL_DATA)/interface.conf ; then \
259 echo "NOTE: interface.conf already exists, not changed." ; else \
260 cp -v default/interface.conf $(INSTALL_DATA) ; fi
261 @if test -a $(INSTALL_DATA)/routing.conf ; then \
262 echo "NOTE: routing.conf already exists, not changed." ; else \
263 cp -v default/routing.conf $(INSTALL_DATA) ; fi
264 @if test -a $(INSTALL_DATA)/numbering_int.conf ; then \
265 echo "NOTE: numbering_int.conf is obsolete, please use routing." ; fi
266 @if test -a $(INSTALL_DATA)/numbering_ext.conf ; then \
267 echo "NOTE: numbering_ext.conf is obsolete, please use routing." ; fi
268 @if test -a $(INSTALL_DATA)/directory.list ; then \
269 echo "NOTE: directory.list already exists, not changed." ; else \
270 cp -v default/directory.list $(INSTALL_DATA) ; fi
271 cp -a tones_* $(INSTALL_DATA)
272 cp -a vbox_english/ $(INSTALL_DATA)
273 cp -a vbox_german/ $(INSTALL_DATA)
274 cp -a tones_efi/ $(INSTALL_DATA)
279 rm -f $(LCR) $(LCRADMIN) $(LCRWATCH) $(GEN) $(GENW) $(GENRC) $(GENEXT)
281 rm -f .*.c.sw* .*.cpp.sw* .*.h.sw*
287 cd .. && tar -cvzf lcr_`date +%Y%m%d`.tar.gz lcr
291 -killall -9 -w -q lcr # the following error must be ignored
296 -killall -9 -w -q lcr # the following error must be ignored
301 -killall -9 -w -q lcr # the following error must be ignored