## $Id: Makefile.in,v 1.45 1998/10/16 12:38:04 keil Exp $ ## ## ISDN accounting for isdn4linux. ## ## Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de) ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## ## $Log: Makefile.in,v $ ## Revision 1.45 1998/10/16 12:38:04 keil ## fixes to compile and install under 2.0.36 ## ## Revision 1.44 1998/10/13 22:17:09 luethje ## isdnlog: evaluate the variable PATH for program starts. ## ## Revision 1.43 1998/10/03 18:05:48 akool ## - processor.c, takt_at.c : Patch from Michael Reinelt ## try to guess the zone of the calling/called party ## ## - isdnrep.c : cosmetics (i hope, you like it, Stefan!) ## ## Revision 1.42 1998/09/27 11:47:21 akool ## fix segfault of isdnlog after each RELASE ## ## Revision 1.41 1998/09/26 18:28:32 akool ## - quick and dirty Call-History in "-m" Mode (press "h" for more info) added ## - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !! ## - Support for tesion)) Baden-Wuerttemberg Tarif ## - more Providers ## - Patches from Wilfried Teiken ## - better zone-info support in "tools/isdnconf.c" ## - buffer-overrun in "isdntools.c" fixed ## - big Austrian Patch from Michael Reinelt ## - added $(DESTDIR) in any "Makefile.in" ## - new Configure-Switches "ISDN_AT" and "ISDN_DE" ## - splitted "takt.c" and "tools.c" into ## "takt_at.c" / "takt_de.c" ... ## "tools_at.c" / "takt_de.c" ... ## - new feature ## CALLFILE = /var/log/caller.log ## CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6 ## in "isdn.conf" ## - ATTENTION: ## 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?) ## 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS" ## should be fixed soon ## ## Revision 1.40 1998/06/14 15:33:42 akool ## AVM B1 support (Layer 3) ## Telekom's new currency DEM 0,121 supported ## Disable holiday rates #ifdef ISDN_NL ## memory leak in "isdnrep" repaired ## ## Revision 1.39 1998/06/07 21:07:50 akool ## - Accounting for the following new providers implemented: ## o.tel.o, Tele2, EWE TEL, Debitel, Mobilcom, Isis, NetCologne, ## TelePassport, Citykom Muenster, TelDaFax, Telekom, Hutchison Telekom, ## tesion)), HanseNet, KomTel, ACC, Talkline, Esprit, Interoute, Arcor, ## WESTCom, WorldCom, Viag Interkom ## ## Code shamelessly stolen from G.Glendown's (garry@insider.regio.net) ## program http://www.insider.org/tarif/gebuehr.c ## ## - Telekom's 10plus implemented ## ## - Berechnung der Gebuehrenzone implementiert ## (CityCall, RegioCall, GermanCall, GlobalCall) ## The entry "ZONE" is not needed anymore in the config-files ## ## you need the file ## http://swt.wi-inf.uni-essen.de/~omatthes/tgeb/vorwahl2.exe ## and the new entry ## [GLOBAL] ## AREADIFF = /usr/lib/isdn/vorwahl.dat ## for that feature. ## ## Many thanks to Olaf Matthes (olaf.matthes@uni-essen.de) for the ## Data-File and Harald Milz for his first Perl-Implementation! ## ## - Accounting for all "Sonderrufnummern" (0010 .. 11834) implemented ## ## You must install the file ## "isdn4k-utils/isdnlog/sonderrufnummern.dat.bz2" ## as "/usr/lib/isdn/sonderrufnummern.dat" ## for that feature. ## ## ATTENTION: This is *NO* production-code! Please test it carefully! ## ## Revision 1.38 1998/05/10 22:11:47 luethje ## Added support for VORWAHLEN2.EXE ## ## Revision 1.37 1998/03/29 23:17:47 luethje ## mySQL-Patch of Sascha Matzke ## ## Revision 1.36 1998/03/29 19:54:04 luethje ## idnrep: added html feature (incoming/outgoing calls) ## ## Revision 1.35 1998/03/15 22:35:44 tsbogend ## not every CPU is from Intel (greetings from Digital :-)) ## ## Revision 1.34 1998/03/08 11:42:27 luethje ## I4L-Meeting Wuerzburg final Edition, golden code - Service Pack number One ## ## Revision 1.33 1997/10/26 23:14:38 fritz ## Get rid of including ../.config in Makefile ## Now all configuration is done in configure. ## Moved depend depency from install to build ## where it belongs. ## ## Revision 1.32 1997/09/26 09:13:01 fritz ## Set SUBDIRS always to overwrite environment. ## ## Revision 1.31 1997/09/07 00:43:06 luethje ## create new error messages for isdnrep ## ## Revision 1.30 1997/06/21 13:48:55 fritz ## Create ./bin if necessary ## ## Revision 1.29 1997/06/15 23:49:28 luethje ## Some new variables for the isdnlog ## isdnlog starts programs noe with the file system rights ## bugfixes ## ## Revision 1.28 1997/05/25 19:40:43 luethje ## isdnlog: close all files and open again after kill -HUP ## isdnrep: support vbox version 2.0 ## isdnconf: changes by Roderich Schupp ## conffile: ignore spaces at the end of a line ## ## Revision 1.27 1997/05/20 19:00:51 luethje ## some primitve changes ## ## Revision 1.26 1997/05/19 22:58:02 luethje ## - bugfix: it is possible to install isdnlog now ## - improved performance for read files for vbox files and mgetty files. ## - it is possible to decide via config if you want to use avon or ## areacode. ## ## Revision 1.25 1997/05/17 01:08:11 luethje ## some bugfixes ## ## Revision 1.24 1997/05/15 22:32:41 luethje ## new version ## ## Revision 1.23 1997/05/11 22:59:14 luethje ## new version ## ## Revision 1.22 1997/05/10 01:20:52 luethje ## some primitive changes ## ## Revision 1.21 1997/05/09 23:30:37 luethje ## isdnlog: new switch -O ## isdnrep: new format %S ## bugfix in handle_runfiles() ## ## Revision 1.20 1997/05/06 22:13:21 luethje ## bugfixes in HTML-Code of the isdnrep ## ## Revision 1.19 1997/05/05 21:22:14 luethje ## new version ## ## Revision 1.18 1997/05/04 20:19:34 luethje ## README completed ## isdnrep finished ## interval-bug fixed ## ## Revision 1.17 1997/04/20 23:44:46 luethje ## some primitve changes ## ## Revision 1.16 1997/04/20 22:55:14 luethje ## isdnrep has new features (Documentation will follow ;-)): ## -variable format string ## -can create html output (option -w1 or ln -s isdnrep isdnrep.cgi) ## idea and design by Dirk Staneker (dirk.staneker@student.uni-tuebingen.de ## bugfix of processor.c from akool ## ## Revision 1.15 1997/04/17 23:29:39 luethje ## new structure of isdnrep completed. ## ## Revision 1.14 1997/04/16 22:22:43 luethje ## some bugfixes, README completed ## ## Revision 1.13 1997/04/15 22:36:58 luethje ## allows the character `"' in the program argument like the shell. ## some bugfixes. ## ## Revision 1.12 1997/04/15 00:19:53 luethje ## replace variables: some bugfixes, README comleted ## ## Revision 1.11 1997/04/10 23:32:04 luethje ## Added the feature, that environment variables are allowed in the config files. ## ## Revision 1.10 1997/04/08 21:56:42 luethje ## Create the file isdn.conf ## some bug fixes for pid and lock file ## make the prefix of the code in `isdn.conf' variable ## ## Revision 1.9 1997/04/08 00:02:05 luethje ## Bugfix: isdnlog is running again ;-) ## isdnlog creates now a file like /var/lock/LCK..isdnctrl0 ## README completed ## Added some values (countrycode, areacode, lock dir and lock file) to ## the global menu ## ## Revision 1.8 1997/04/06 21:07:25 luethje ## renamed file isdnrep.c to rep_main.c and function.c to isdnrep.c ## ## Revision 1.7 1997/04/03 22:32:36 luethje ## copy the old config files into the new dirctory and create the new config files. ## ## Revision 1.6 1997/04/03 08:56:58 fritz ## Bugfix: Changes for bash-2.00.0: ## workaround for empty list in for-loops. ## workaround for missing allow_null_glob_expansion ## Bugfix: CONFIG_HASX11 was not reset on non-X11 systems. ## ## Revision 1.5 1997/03/24 22:52:00 luethje ## isdnrep completed. ## ## Revision 1.4 1997/03/24 04:03:12 fritz ## Added uninstall target, changed rootperm target. ## ## Revision 1.3 1997/03/24 01:42:31 fritz ## Added capbility to override CFLAGS from commandline. ## ## Revision 1.2 1997/03/23 23:11:48 luethje ## improved performance ## ## Revision 1.1 1997/03/23 19:22:33 fritz ## Make isdnlog configurable. ## ## Revision 2.6.37 1997/02/11 17:53:19 akool .SUFFIXES: .SUFFIXES: .c .o SHELL := /bin/sh GENCONF := install/genconf # # autoconf generic stuff # PREFIX := @prefix@ EXEC_PREFIX := @exec_prefix@ BINDIR := @bindir@ SBINDIR := @sbindir@ LIBEXECDIR := @libexecdir@ DATADIR := @datadir@ SYSCONFDIR := @sysconfdir@ SHAREDSTATEDIR := @sharedstatedir@ LOCALSTATEDIR := @localstatedir@ LIBDIR := @libdir@ INFODIR := @infodir@ INCLUDEDIR := @includedir@ OLDINCLUDEDIR := @oldincludedir@ MANDIR := @mandir@ MAN1DIR := $(MANDIR)/man1 MAN8DIR := $(MANDIR)/man8 MAN1EXT := .1 MAN8EXT := .8 SRCDIR := @srcdir@ # # end of autoconf generic stuff # # # autoconf isdnlog specific stuff # INSTALL := @INSTALL@ INSTALL_DIR := $(INSTALL) -m 0755 -o 0 -g 0 -d INSTALL_SBIN := $(INSTALL) -m 0700 -o 0 -g 0 INSTALL_BIN := $(INSTALL) -m 0755 -o 0 -g 0 INSTALL_DATA := $(INSTALL) -m 0644 -o 0 -g 0 LIBISDNDIR := @LIBISDNDIR@ I4LCONFDIR := @I4LCONFDIR@ CONFFILE := @CONFFILE@ CALLERIDFILE := @CALLERIDFILE@ OLDCONFDIR := @OLDCONFDIR@ OLDCONFFILE := @OLDCONFFILE@ LIBAREA := @LIBAREA@ RUNDIR := @RUNDIR@ DBMLIB := @DBMLIB@ POSTGRES := @POSTGRES@ POSTGRESDIR := @POSTGRESDIR@ MYSQLDB := @MYSQLDB@ MYSQLDIR := @MYSQLDIR@ SERV_PORT := @SERV_PORT@ USERFILE := @USERFILE@ DEFS := SUBDIRS := NATION := @NATION@ export LOGFILE := @LOGFILE@ export COUNTRYCODE := @COUNTRYCODE@ export COUNTRYPREFIX := @COUNTRYPREFIX@ export AREACODE := @AREACODE@ export AREAPREFIX := @AREAPREFIX@ export ILABEL := %b %e %T %ICall to tei %t from %N2 on %n2 export OLABEL := %b %e %T %Itei %t calling %N2 with %n2 export CHARGEMAX := 1000.00 ifndef ROOTDIR export ROOTDIR=$(shell pwd) MAKELIB =1 else #PREFIXDIR=$(ROOTDIR) endif PREFIXDIR=. ifeq ($(MAKELIB),1) SUBDIRS += $(LIBISDNDIR) endif export CFLAGS = -Wall -pipe -O6 -fomit-frame-pointer -fforce-mem -fforce-addr -funroll-loops -fstrength-reduce ifndef _CC export _CC = gcc endif CC = $(_CC) INCLUDE = -I./isdnlog -I./connect -I./tools -I$(PREFIXDIR) -I$(LIBISDNDIR) -I@CONFIG_KERNELDIR@/include LIB = $(DBMLIB) SERVICEFILE = /etc/services ###################################################################### # DON'T EDIT BELOW THIS LINE ###################################################################### VERSION = 2.99.34 ifeq ($(POSTGRES),1) DEFS += -DPOSTGRES INCLUDE += -I$(POSTGRESDIR)/include LIB += -L$(POSTGRESDIR)/lib -lpq endif ifeq ($(MYSQLDB),1) DEFS += -DMYSQLDB INCLUDE += -I$(MYSQLDIR)/include LIB += -L$(MYSQLDIR)/lib -lmysqlclient -lm endif ifdef DBMALLOC DEFS += -DDBMALLOC=1 LIB += -ldbmalloc endif DEFS += \ -DVERSION=\"$(VERSION)\" \ -DI4LVERSION=\"$(I4LVERSION)\" \ -DISDN_DE=1 \ $(INCLUDE) %.o: %.c $(CC) $(CFLAGS) $(DEFS) $(INCLUDE) -c -o $@ $< ISDNLOG_OBJS = isdnlog/isdnlog.o isdnlog/processor.o isdnlog/functions.o \ isdnlog/server.o isdnlog/start_prog.o isdnlog/messages.o \ connect/connect.o connect/socket.o tools/tools.o \ connect/conv_address.o isdnlog/user_access.o \ isdnrep/cheap.o isdnrep/gebuehr.o tools/isdnconf.o \ tools/tools_$(NATION).o isdnlog/takt_$(NATION).o \ $(LIBISDNDIR)/libisdn.a ifeq ($(POSTGRES),1) ISDNLOG_OBJS += isdnlog/postgres.o endif ifeq ($(MYSQLDB),1) ISDNLOG_OBJS += isdnlog/mysqldb.o endif ifdef TESTCENTER ISDNLOG_OBJS += isdnlog/test_center.o endif ISDNREP_OBJS = isdnrep/rep_main.o isdnrep/cheap.o tools/tools.o \ tools/isdnconf.o isdnlog/messages.o isdnrep/isdnrep.o \ isdnrep/gebuehr.o \ tools/tools_$(NATION).o \ $(LIBISDNDIR)/libisdn.a ISDNCONF_OBJS= isdnconf/isdnconf.o tools/tools.o tools/isdnconf.o \ tools/tools_$(NATION).o \ $(LIBISDNDIR)/libisdn.a ISDNLOG = bin/isdnlog ISDNCONF = bin/isdnconf ISDNREP = bin/isdnrep MODS = *.o */*.o PROGS = $(ISDNLOG) $(ISDNREP) $(ISDNCONF) all: depend libs mybin $(PROGS) mybin: -mkdir -p bin libs: set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i; done clean: -rm -f $(MODS) set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i clean; done distclean: clean -rm -f $(PROGS) .depend config.h config.status config.cache \ config.log Makefile confdefs.h policy.h *~ set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i distclean; done ifeq (.depend,$(wildcard .depend)) include .depend HEADERS := $(HEADERS) .depend endif rootperm: @echo 'main(int argc,char**argv){unlink(argv[0]);return(getuid()==0);}'>g @if gcc -x c -o G g && rm -f g && ./G ; then \ echo ""; echo 'Do "make (un)install" as root!' ;echo ""; false; \ fi uninstall: rootperm if ps -x | fgrep $(ISDNLOG) >/dev/null; then kill `cat $(RUNDIR)/isdnlog.pid` 2>/dev/null; fi rm -f $(DESTDIR)$(SBINDIR)/$(ISDNLOG) $(DESTDIR)$(BINDIR)/$(ISDNREP) $(DESTDIR)$(BINDIR)/$(ISDNCONF) rm -f $(DESTDIR)$(MAN8DIR)/isdnlog.8 $(DESTDIR)$(MAN1DIR)/isdnrep.1 installdirs: rootperm $(INSTALL_DIR) $(DESTDIR)$(I4LCONFDIR) $(INSTALL_DIR) $(DESTDIR)$(BINDIR) $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) $(INSTALL_DIR) $(DESTDIR)$(MAN1DIR) $(INSTALL_DIR) $(DESTDIR)$(MAN8DIR) install: all rootperm installdirs @echo "Killing running isdnlog!" -@if ps -x | fgrep $(ISDNLOG) >/dev/null; then kill `cat $(RUNDIR)/isdnlog.pid 2>/dev/null`; fi -@test ! -d $(DESTDIR)$(OLDCONFDIR) || cp -auv $(DESTDIR)$(OLDCONFDIR)/$(USERFILE) $(DESTDIR)$(I4LCONFDIR) -@test ! -d $(DESTDIR)$(OLDCONFDIR) || (cp -auv $(DESTDIR)$(OLDCONFDIR)/$(OLDCONFFILE) $(DESTDIR)$(I4LCONFDIR) \ && $(ISDNREP) 1>/dev/null 2>&1) \ && mv $(DESTDIR)$(I4LCONFDIR)/$(OLDCONFFILE) $(DESTDIR)$(I4LCONFDIR)/$(OLDCONFFILE).old @if [ -n "$(DESTDIR)" ]; then \ $(GENCONF) $(DESTDIR)$(I4LCONFDIR)/$(CONFFILE).new $(DESTDIR)$(I4LCONFDIR)/$(CALLERIDFILE).new ; \ else \ $(GENCONF) $(DESTDIR)$(I4LCONFDIR)/$(CONFFILE) $(DESTDIR)$(I4LCONFDIR)/$(CALLERIDFILE) ; \ fi @echo "Generate config files. Wait a moment..." -@$(ISDNCONF) -c 040 1>/dev/null 2>&1 || echo "Can not read areacode/avon lib." $(INSTALL_BIN) $(ISDNLOG) $(DESTDIR)$(SBINDIR) $(INSTALL_BIN) $(ISDNREP) $(DESTDIR)$(BINDIR) $(INSTALL_BIN) $(ISDNCONF) $(DESTDIR)$(BINDIR) $(INSTALL_DATA) isdnlog/isdnlog.8 $(DESTDIR)$(MAN8DIR) $(INSTALL_DATA) isdnrep/isdnrep.1 $(DESTDIR)$(MAN1DIR) @echo "" @echo "Don't forget to create $(I4LCONFDIR)/$(USERFILE)" @echo "" @(grep isdnlog $(SERVICEFILE) >/dev/null) || \ (echo "";echo "";echo "Add a line to the file $(SERVICEFILE)" ;echo "";echo ""; \ echo "isdnlog $(SERV_PORT)/tcp isdnlog" >> $(SERVICEFILE)) install-strip: $(MAKE) INSTALL_BIN='$(INSTALL_BIN) -s' \ INSTALL_SBIN='$(INSTALL_SBIN) -s' install distrib: distclean cd .. && tar cf /tmp/isdnlog-$(I4LVERSION).tar \ isdnlog-$(I4LVERSION)/Makefile \ isdnlog-$(I4LVERSION)/Isdn \ isdnlog-$(I4LVERSION)/README \ isdnlog-$(I4LVERSION)/NEWS \ isdnlog-$(I4LVERSION)/COPYING \ isdnlog-$(I4LVERSION)/BUGS \ isdnlog-$(I4LVERSION)/TODO \ isdnlog-$(I4LVERSION)/FAQ \ isdnlog-$(I4LVERSION)/samples \ isdnlog-$(I4LVERSION)/tools \ isdnlog-$(I4LVERSION)/isdnconf \ isdnlog-$(I4LVERSION)/isdnlog \ isdnlog-$(I4LVERSION)/isdnrep \ isdnlog-$(I4LVERSION)/connect \ isdnlog-$(I4LVERSION)/lib \ isdnlog-$(I4LVERSION)/contrib \ isdnlog-$(I4LVERSION)/bin gzip -f9 /tmp/isdnlog-$(I4LVERSION).tar # uuencode /tmp/isdnlog-$(I4LVERSION).tar.gz isdnlog-$(I4LVERSION).tar.gz > /tmp/isdnlog-$(I4LVERSION).uue $(ISDNLOG): $(ISDNLOG_OBJS) $(CC) -o $(ISDNLOG) $(LFLAGS) $(ISDNLOG_OBJS) $(LIB) $(ISDNREP): $(ISDNREP_OBJS) $(CC) -o $(ISDNREP) $(LFLAGS) $(ISDNREP_OBJS) $(LIB) $(ISDNCONF): $(ISDNCONF_OBJS) $(CC) -o $(ISDNCONF) $(LFLAGS) $(ISDNCONF_OBJS) $(LIB) tools/tools.h: $(LIBISDNDIR)/libisdn.h $(PREFIXDIR)/policy.h touch tools/tools.h depend: .depend .depend: $(CPP) -M $(CFLAGS) $(DEFS) $(INCLUDE) */*.c >.depend # $(CPP) -M $(CFLAGS) $(DEFS) $(INCLUDE) */*.c */*/*.c >.depend