## $Id: Makefile.in,v 1.96 1999/07/25 15:57:01 akool Exp $
##
## ISDN accounting for isdn4linux.
##
## Copyright 1995, 1999 by Andreas Kool (akool@isdn4linux.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.96  1999/07/25 15:57:01  akool
## isdnlog-3.43
##   added "telnum" module
##
## Revision 1.95  1999/07/24 08:43:38  akool
## isdnlog-3.42
##   rate-de.dat 1.02-Germany [18-Jul-1999 10:44:21]
##   better Support for Ackermann Euracom
##   WEB-Interface for isdnrate
##   many small fixes
##
## Revision 1.94  1999/07/10 21:37:36  akool
## isdnlog-3.41
##   rate-de.dat V:1.02-Germany [10-Jul-1999 23:32:27]
##   country-de.dat V:1.02-Germany [10-Jul-1999 23:32:36]
##   added all "zone-*" files in binary mode
##
## Revision 1.93  1999/07/03 10:23:55  akool
## fixed Makefile
##
## Revision 1.92  1999/06/30 17:17:10  akool
## isdnlog Version 3.39
##
## Revision 1.91  1999/06/28 19:14:59  akool
## isdnlog Version 3.38
##   - new utility "isdnrate" started
##
## Revision 1.90  1999/06/26 12:25:04  akool
## isdnlog Version 3.37
##   fixed some warnings
##
## Revision 1.89  1999/06/26 10:11:06  akool
## isdnlog Version 3.36
##  - EGCS 1.1.2 bug correction from Nima <nima_ghasseminejad@public.uni-hamburg.de>
##  - zone-1.11
##
## Revision 1.88  1999/06/21 19:32:08  akool
## isdnlog Version 3.35
##   zone data for .nl (many thanks to Paul!)
##
##   WARNING: This version of isdnlog dont even compile! *EXPERIMENTAL*!!
##
## Revision 1.87  1999/06/16 19:11:54  akool
## isdnlog Version 3.34
##   fixed some memory faults
##
## Revision 1.86  1999/06/15 20:02:54  akool
## isdnlog Version 3.33
##   - big step in using the new zone files
##   - *This*is*not*a*production*ready*isdnlog*!!
##   - Maybe the last release before the I4L meeting in Nuernberg
##
## Revision 1.85  1999/06/13 14:06:53  akool
## isdnlog Version 3.32
##
##  - new option "-U1" (or "ignoreCOLP=1") to ignore CLIP/COLP Frames
##  - TEI management decoded
##
## Revision 1.84  1999/06/09 19:57:22  akool
## isdnlog Version 3.31
##  - Release 0.91 of zone-Database (aka "Verzonungstabelle")
##  - "rate-de.dat" V:1.02-Germany [09-Jun-1999 21:45:26]
##
## Revision 1.83  1999/06/03 18:49:36  akool
## isdnlog Version 3.30
##  - rate-de.dat V:1.02-Germany [03-Jun-1999 19:49:22]
##  - small fixes
##
## Revision 1.82  1999/05/22 10:17:50  akool
## isdnlog Version 3.29
##
##  - processing of "sonderrufnummern" much more faster
##  - detection for sonderrufnummern of other provider's implemented
##    (like 01929:FreeNet)
##  - Patch from Oliver Lauer <Oliver.Lauer@coburg.baynet.de>
##  - Patch from Markus Schoepflin <schoepflin@ginit.de>
##  - easter computing corrected
##  - rate-de.dat 1.02-Germany [22-May-1999 11:37:33] (from rate-CVS)
##  - countries-de.dat 1.02-Germany [22-May-1999 11:37:47] (from rate-CVS)
##  - new option "-B" added (see README)
##    (using "isdnlog -B16 ..." isdnlog now works in the Netherlands!)
##
## Revision 1.81  1999/05/13 11:38:43  akool
## isdnlog Version 3.28
##
##  - "-u" Option corrected
##  - "ausland.dat" removed
##  - "countries-de.dat" fully integrated
##      you should add the entry
##      "COUNTRYFILE = /usr/lib/isdn/countries-de.dat"
##      into section "[ISDNLOG]" of your config file!
##  - rate-de.dat V:1.02-Germany [13-May-1999 12:26:24]
##  - countries-de.dat V:1.02-Germany [13-May-1999 12:26:26]
##
## Revision 1.80  1999/05/11 20:27:01  akool
## isdnlog Version 3.27
##
##  - country matching fixed (and faster)
##
## Revision 1.79  1999/05/10 20:37:11  akool
## isdnlog Version 3.26
##
##  - fixed the "0800" -> free of charge problem
##  - *many* additions to "ausland.dat"
##  - first relase of "rate-de.dat" from the CVS-Server of the I4L-Tarif-Crew
##
## Revision 1.78  1999/05/09 18:23:42  akool
## isdnlog Version 3.25
##
##  - README: isdnconf: new features explained
##  - rate-de.dat: many new rates from the I4L-Tarifdatenbank-Crew
##  - added the ability to directly enter a country-name into "rate-xx.dat"
##
## Revision 1.77  1999/05/04 19:32:02  akool
## isdnlog Version 3.24
##
##  - fully removed "sondernummern.c"
##  - removed "gcc -Wall" warnings in ASN.1 Parser
##  - many new entries for "rate-de.dat"
##  - better "isdnconf" utility
##
## Revision 1.76  1999/04/30 19:07:28  akool
## isdnlog Version 3.23
##
##  - changed LCR probing duration from 181 seconds to 153 seconds
##  - "rate-de.dat" filled with May, 1. rates
##
## Revision 1.75  1999/04/29 19:02:56  akool
## isdnlog Version 3.22
##
##  - T-Online corrected
##  - more online rates for rate-at.dat (Thanks to Leopold Toetsch <lt@toetsch.at>)
##
## Revision 1.74  1999/04/26 22:11:33  akool
## isdnlog Version 3.21
##
##  - CVS headers added to the asn* files
##  - repaired the "4.CI" message directly on CONNECT
##  - HANGUP message extended (CI's and EH's shown)
##  - reactivated the OVERLOAD message
##  - rate-at.dat extended
##  - fixes from Michael Reinelt
##
## Revision 1.73  1999/04/25 17:34:27  akool
## isdnlog Version 3.20
##
##  - added ASN.1 Parser from Kai Germaschewski <kai@thphy.uni-duesseldorf.de>
##    isdnlog now fully support all fac- and cf-messages!
##
##  - some additions to the "rate-de.dat"
##
## Revision 1.72  1999/04/19 21:25:06  akool
## change permissions of "countries-at.dat"
##
## Revision 1.71  1999/04/19 19:23:14  akool
## isdnlog Version 3.18
##
## - countries-at.dat added
## - spelling corrections in "countries-de.dat" and "countries-us.dat"
## - LCR-function of isdnconf now accepts a duration (isdnconf -c .,duration)
## - "rate-at.dat" and "rate-de.dat" extended/fixed
## - holiday.c and rate.c fixed (many thanks to reinelt@eunet.at)
##
## Revision 1.70  1999/04/17 14:10:36  akool
## isdnlog Version 3.17
##
## - LCR functions of "isdnconf" fixed
## - HINT's fixed
## - rate-de.dat: replaced "1-5" with "W" and "6-7" with "E"
##
## Revision 1.69  1999/04/16 14:39:07  akool
## isdnlog Version 3.16
##
## - more syntax checks for "rate-xx.dat"
## - isdnrep fixed
##
## Revision 1.68  1999/04/15 19:14:09  akool
## isdnlog Version 3.15
##
## - reenable the least-cost-router functions of "isdnconf"
##   try "isdnconf -c <areacode>" or even "isdnconf -c ."
## - README: "rate-xx.dat" documented
## - small fixes in processor.c and rate.c
## - "rate-de.dat" optimized
## - splitted countries.dat into countries-de.dat and countries-us.dat
##
## Revision 1.67  1999/04/14 13:16:01  akool
## isdnlog Version 3.14
##
## - "make install" now install's "rate-xx.dat", "rate.conf" and "ausland.dat"
## - "holiday-xx.dat" Version 1.1
## - many rate fixes (Thanks again to Michael Reinelt <reinelt@eunet.at>)
##
## Revision 1.66  1999/04/10 16:34:57  akool
## isdnlog Version 3.13
##
## WARNING: This is pre-ALPHA-dont-ever-use-Code!
## 	 "tarif.dat" (aka "rate-xx.dat"): the next generation!
##
## You have to do the following to test this version:
##   cp /usr/src/isdn4k-utils/isdnlog/holiday-de.dat /etc/isdn
##   cp /usr/src/isdn4k-utils/isdnlog/rate-de.dat /usr/lib/isdn
##   cp /usr/src/isdn4k-utils/isdnlog/samples/rate.conf.de /etc/isdn/rate.conf
##
## After that, add the following entries to your "/etc/isdn/isdn.conf" or
## "/etc/isdn/callerid.conf" file:
##
## [ISDNLOG]
## SPECIALNUMBERS = /usr/lib/isdn/sonderrufnummern.dat
## HOLIDAYS       = /usr/lib/isdn/holiday-de.dat
## RATEFILE       = /usr/lib/isdn/rate-de.dat
## RATECONF       = /etc/isdn/rate.conf
##
## Please replace any "de" with your country code ("at", "ch", "nl")
##
## Good luck (Andreas Kool and Michael Reinelt)
##
## Revision 1.65  1999/04/03 12:46:39  akool
## - isdnlog Version 3.12
## - "%B" tag in ILABEL/OLABEL corrected
## - isdnlog now register's incoming calls when there are no free B-channels
##   (idea from sergio@webmedia.es)
## - better "samples/rate.conf.de" (suppress provider without true call-by-call)
## - "tarif.dat" V:1.17 [03-Apr-99]
## - Added EWE-Tel rates from Reiner Klaproth <rk1@msjohan.dd.sn.schule.de>
## - isdnconf can now be used to generate a Least-cost-router table
##   (try "isdnconf -c .")
## - isdnlog now simulate a RELEASE COMPLETE if nothing happpens after a SETUP
## - CHARGEMAX Patches from Oliver Lauer <Oliver.Lauer@coburg.baynet.de>
##
## Revision 1.64  1999/03/25 19:39:41  akool
## - isdnlog Version 3.11
## - make isdnlog compile with egcs 1.1.7 (Bug report from Christophe Zwecker <doc@zwecker.com>)
##
## Revision 1.63  1999/03/24 19:37:29  akool
## - isdnlog Version 3.10
## - moved "sondernnummern.c" from isdnlog/ to tools/
## - "holiday.c" and "rate.c" integrated
## - NetCologne rates from Oliver Flimm <flimm@ph-cip.uni-koeln.de>
## - corrected UUnet and T-Online rates
##
## Revision 1.62  1999/03/20 16:54:37  akool
## isdnlog 3.09 : support for all Internet-by-call numbers
##
## Revision 1.61  1999/03/20 14:32:29  akool
## - isdnlog Version 3.08
## - more tesion)) Tarife from Michael Graw <Michael.Graw@bartlmae.de>
## - use "bunzip -f" from Frank Elsner <Elsner@zrz.TU-Berlin.DE>
## - show another "cheapest" hint if provider is overloaded ("OVERLOAD")
## - "make install" now makes the required entry
##     [GLOBAL]
##     AREADIFF = /usr/lib/isdn/vorwahl.dat
## - README: Syntax description of the new "rate-at.dat"
## - better integration of "sondernummern.c" from mario.joussen@post.rwth-aachen.de
## - server.c: buffer overrun fix from Michael.Weber@Post.RWTH-Aachen.DE (Michael Weber)
##
## Revision 1.60  1999/03/16 17:37:08  akool
## - isdnlog Version 3.07
## - Michael Reinelt's patch as of 16Mar99 06:58:58
## - fix a fix from yesterday with sondernummern
## - ignore "" COLP/CLIP messages
## - dont show a LCR-Hint, if same price
##
## Revision 1.59  1999/03/15 21:27:30  akool
## - isdnlog Version 3.06
## - README: explain some terms about LCR, corrected "-c" Option of "isdnconf"
## - isdnconf: added a small LCR-feature - simply try "isdnconf -c 069"
## - isdnlog: dont change CHARGEINT, if rate is't known!
## - sonderrufnummern 1.02 [15-Mar-99] :: added WorldCom
## - tarif.dat 1.09 [15-Mar-99] :: added WorldCom
## - isdnlog now correctly handles the new "Ortstarif-Zugang" of UUnet
##
## Revision 1.58  1999/03/14 14:26:10  akool
## - isdnlog Version 3.05
## - new Option "-u1" (or "ignoreRR=1")
## - added version information to "sonderrufnummern.dat"
## - added debug messages if sonderrufnummern.dat or tarif.dat could not be opened
## - sonderrufnummern.dat V 1.01 - new 01805 rates
##
## Revision 1.57  1999/03/14 12:15:56  akool
## - isdnlog Version 3.04
## - general cleanup
## - new layout for "rate-xx.dat" and "holiday-xx.dat" files from
##     Michael Reinelt <reinelt@eunet.at>
##     unused by now - it's a work-in-progress !
## - bugfix for Wolfgang Siefert <siefert@wiwi.uni-frankfurt.de>
##     The Agfeo AS 40 (Software release 2.1b) uses AOC_AMOUNT, not AOC_UNITS
## - bugfix for Ralf G. R. Bergs <rabe@RWTH-Aachen.DE> - 0800/xxx numbers
##     are free of charge ;-)
## - tarif.dat V 1.08 - new mobil-rates DTAG
##
## Revision 1.56  1999/03/11 09:21:58  paul
## fixed problems with yesterday's commit
##
## Revision 1.55  1999/03/10 08:35:48  paul
## use DATADIR from "make config" phase instead of hardcoded /usr/lib/isdn
##
## Revision 1.54  1999/03/07 18:18:21  akool
## - new 01805 tarif of DTAG
## - new March 1999 tarife
## - added new provider "01051 Telecom"
## - fixed a buffer overrun from Michael Weber <Michael.Weber@Post.RWTH-Aachen.DE>
## - fixed a bug using "sondernnummern.c"
## - fixed chargeint change over the time
## - "make install" now install's "sonderrufnummern.dat", "tarif.dat",
##   "vorwahl.dat" and "tarif.conf"! Many thanks to
##   Mario Joussen <mario.joussen@post.rwth-aachen.de>
## - Euracom Frames would now be ignored
## - fixed warnings in "sondernnummern.c"
## - "10plus" messages no longer send to syslog
##
## Revision 1.53  1999/02/28 19:32:17  akool
## Fixed a typo in isdnconf.c from Andreas Jaeger <aj@arthur.rhein-neckar.de>
## CHARGEMAX fix from Oliver Lauer <Oliver.Lauer@coburg.baynet.de>
## isdnrep fix from reinhard.karcher@dpk.berlin.fido.de (Reinhard Karcher)
## "takt_at.c" fixes from Ulrich Leodolter <u.leodolter@xpoint.at>
## sondernummern.c from Mario Joussen <mario.joussen@post.rwth-aachen.de>
## Reenable usage of the ZONE entry from Schlottmann-Goedde@t-online.de
## Fixed a typo in callerid.conf.5
##
## Revision 1.52  1999/01/10 15:22:43  akool
##  - "message = 0" bug fixed (many thanks to
##    Sebastian Kanthak <sebastian.kanthak@muehlheim.de>)
##  - CITYWEEKEND via config-file possible
##  - fixes from Michael Reinelt <reinelt@eunet.at>
##  - fix a typo in the README from Sascha Ziemann <szi@aibon.ping.de>
##  - Charge for .at optimized by Michael Reinelt <reinelt@eunet.at>
##  - first alpha-Version of the new chargeinfo-Database
##    ATTENTION: This version requires the following manual steps:
##      cp /usr/src/isdn4k-utils/isdnlog/tarif.dat /usr/lib/isdn
##      cp /usr/src/isdn4k-utils/isdnlog/samples/tarif.conf /etc/isdn
##
## Revision 1.51  1998/12/29 14:51:37  paul
## added isdnconf manpage
##
## Revision 1.50  1998/12/01 16:57:09  paul
## support for .in manpages
##
## Revision 1.49  1998/11/24 20:50:59  akool
##  - changed my email-adress
##  - new Option "-R" to supply the preselected provider (-R24 -> Telepassport)
##  - made Provider-Prefix 6 digits long
##  - full support for internal S0-bus implemented (-A, -i Options)
##  - isdnlog now ignores unknown frames
##  - added 36 allocated, but up to now unused "Auskunft" Numbers
##  - added _all_ 122 Providers
##  - Patch from Jochen Erwied <mack@Joker.E.Ruhr.DE> for Quante-TK-Anlagen
##    (first dialed digit comes with SETUP-Frame)
##
## Revision 1.48  1998/11/07 17:12:45  akool
## Final cleanup. This _is_ isdnlog-3.00
##
## Revision 1.47  1998/11/05 19:09:42  akool
##  - Support for all the new L2 frames from HiSax 3.0d (RR, UA, SABME and
##    tei management)
##  - CityWeekend reimplemented
##    Many thanks to Rainer Gallersdoerfer <gallersd@informatik.rwth-aachen.de>
##    for the tip
##  - more providers
##  - general clean-up
##
## Revision 1.46  1998/11/01 08:49:22  akool
##  - fixed "configure.in" problem with NATION_*
##  - DESTDIR fixes (many thanks to Michael Reinelt <reinelt@eunet.at>)
##  - isdnrep: Outgoing calls ordered by Zone/Provider/MSN corrected
##  - new Switch "-i" -> running on internal S0-Bus
##  - more providers
##  - "sonderrufnummern.dat" extended (Frag Fred, Telegate ...)
##  - added AVM-B1 to the documentation
##  - removed the word "Teles" from the whole documentation ;-)
##
## 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 <reinelt@eunet.at>
##    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 <wteiken@terminus.cl-ki.uni-osnabrueck.de>
##    - better zone-info support in "tools/isdnconf.c"
##    - buffer-overrun in "isdntools.c" fixed
##  - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
##    - 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 <roderich@syntec.m.EUnet.de>
## 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
MAN5DIR			:= $(MANDIR)/man5
MAN8DIR			:= $(MANDIR)/man8
MAN1EXT			:= .1
MAN5EXT			:= .5
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

BZIP2                   := @BZIP2@
BUNZIP2                 := $(BZIP2) -f -d

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 AREADIFF		:= @DATADIR@/vorwahl.dat

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) -lm




SERVICEFILE = /etc/services


######################################################################
# DON'T EDIT BELOW THIS LINE
######################################################################

VERSION     = 3.43

MANPAGES    = isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 \
	      isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 \
	      isdnlog/isdnlog.users.5 isdnrep/isdnrep.1 isdnconf/isdnconf.1

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)\"   \
	       -D@NATION_MACRO@=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 		  \
                tools/isdnconf.o 					  \
		tools/rate.o tools/zone.o tools/country.o tools/holiday.o \
		isdnlog/asn1.o isdnlog/asn1_generic.o isdnlog/asn1_aoc.o  \
		isdnlog/asn1_address.o isdnlog/asn1_diversion.o           \
		isdnlog/asn1_basic_service.o isdnlog/asn1_comp.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 tools/tools.o tools/isdnconf.o         \
                isdnlog/messages.o isdnrep/isdnrep.o     		  \
		tools/rate.o tools/zone.o tools/country.o tools/holiday.o \
                $(LIBISDNDIR)/libisdn.a

ISDNCONF_OBJS=  isdnconf/isdnconf.o tools/tools.o tools/isdnconf.o        \
		tools/rate.o tools/zone.o tools/country.o tools/holiday.o \
                $(LIBISDNDIR)/libisdn.a

ISDNRATE_OBJS=  tools/isdnrate.o tools/isdnconf.o tools/tools.o           \
		tools/rate.o tools/zone.o tools/country.o tools/holiday.o \
		tools/telnum.o						  \
                $(LIBISDNDIR)/libisdn.a

ISDNLOG      =  bin/isdnlog
ISDNCONF     =  bin/isdnconf
ISDNREP      =  bin/isdnrep
ISDNRATE     =  bin/isdnrate

MODS         =  *.o */*.o

PROGS        =  $(ISDNLOG) $(ISDNREP) $(ISDNCONF) $(ISDNRATE)

all:            depend libs mybin $(PROGS) $(MANPAGES)

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 $(MANPAGES)
		-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.isdnctrl0.pid` 2>/dev/null; fi
		rm -f	$(DESTDIR)$(SBINDIR)/$(ISDNLOG) \
			$(DESTDIR)$(BINDIR)/$(ISDNREP)	\
			$(DESTDIR)$(BINDIR)/$(ISDNCONF)
		rm -f	$(DESTDIR)$(MAN8DIR)/isdnlog$(MAN8EXT)		\
			$(DESTDIR)$(MAN1DIR)/isdnrep$(MAN1EXT)		\
			$(DESTDIR)$(MAN1DIR)/isdnconf$(MAN1EXT)		\
			$(DESTDIR)$(MAN5DIR)/callerid.conf$(MAN5EXT)	\
			$(DESTDIR)$(MAN5DIR)/isdnlog$(MAN5EXT)		\
			$(DESTDIR)$(MAN5DIR)/isdnlog.users$(MAN5EXT)    \
			$(DESTDIR)$(DATADIR)/country-$(NATION).dat	\
			$(DESTDIR)$(DATADIR)/rate-$(NATION).dat         \
			$(DESTDIR)$(DATADIR)/vorwahl.dat                \

installdirs: rootperm
		$(INSTALL_DIR) $(DESTDIR)$(I4LCONFDIR)
		$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
		$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
		$(INSTALL_DIR) $(DESTDIR)$(MAN1DIR)
		$(INSTALL_DIR) $(DESTDIR)$(MAN5DIR)
		$(INSTALL_DIR) $(DESTDIR)$(MAN8DIR)
		$(INSTALL_DIR) $(DESTDIR)$(DATADIR)

install: all rootperm installdirs
		@echo "Killing running isdnlog!"
		-@if ps x | fgrep $(ISDNLOG) >/dev/null; then kill `cat $(RUNDIR)/isdnlog.isdnctrl0.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_BIN) $(ISDNRATE) $(DESTDIR)$(BINDIR)
		$(INSTALL_DATA) isdnlog/isdnlog.8       $(DESTDIR)$(MAN8DIR)/isdnlog$(MAN8EXT)
		$(INSTALL_DATA) isdnrep/isdnrep.1       $(DESTDIR)$(MAN1DIR)/isdnrep$(MAN1EXT)
		$(INSTALL_DATA) isdnconf/isdnconf.1     $(DESTDIR)$(MAN1DIR)/isdnconf$(MAN1EXT)
		$(INSTALL_DATA) isdnlog/callerid.conf.5 $(DESTDIR)$(MAN5DIR)/callerid.conf$(MAN5EXT)
		$(INSTALL_DATA) isdnlog/isdnlog.5       $(DESTDIR)$(MAN5DIR)/isdnlog$(MAN5EXT)
		$(INSTALL_DATA) isdnlog/isdnlog.users.5 $(DESTDIR)$(MAN5DIR)/isdnlog.users$(MAN5EXT)
		$(INSTALL_DATA) country-$(NATION).dat	$(DESTDIR)$(DATADIR)
		$(INSTALL_DATA) rate-$(NATION).dat      $(DESTDIR)$(DATADIR)
		$(INSTALL_DATA) holiday-$(NATION).dat   $(DESTDIR)$(DATADIR)
		$(INSTALL_DATA) zone-$(NATION)-dtag.gdbm $(DESTDIR)$(DATADIR)
		$(INSTALL_DATA) vorwahl.dat.bz2         $(DESTDIR)$(DATADIR)
		$(BUNZIP2) $(DESTDIR)$(DATADIR)/vorwahl.dat.bz2
		@if [ ! -f "$(DESTDIR)$(I4LCONFDIR)/rate.conf" ]; then \
			$(INSTALL_DATA) samples/rate.conf.$(NATION) $(DESTDIR)$(I4LCONFDIR)/rate.conf ; \
		else \
			$(INSTALL_DATA) samples/rate.conf.$(NATION) $(DESTDIR)$(I4LCONFDIR)/rate.conf.new ; \
		fi
		@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)

$(ISDNRATE):    $(ISDNRATE_OBJS)
		$(CC) -o $(ISDNRATE) $(LFLAGS) $(ISDNRATE_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
