# # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # # Copyright (c) 1998-2004 Luca Deri # Updated 1Q 2000 Rocco Carbone # Updates 2003-2004 Luca Deri and Burton Strauss # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # AUTOMAKE_OPTIONS = 1.6 # Require Automake 1.6 or better. # # The name of the game with its own major, minor and release version. # PKGNAME = @PACKAGE_NAME@ VERSION = @PACKAGE_VERSION@ PROGRAM = $(PKGNAME)-$(VERSION) DEFS = @DEFS@ INCS = @INCS@ INCLUDES = -I. $(INCS) ${RRD_INC} LIBS = BASE_LIBS = @LIBS@ @CORELIBS@ ${RRD_LIB} AS = @AS@ AWK = @AWK@ CC = @CC@ CCLD = @CCLD@ #AM_CFLAGS = #AM_LDFLAGS= DISTCLEANFILES = trivialcompilemessage *.db #* *~ *.log CLEANFILES = $(DISTCLEANFILES) stamp-h1 INSTALLCLEANFILES = addressQueue.db dnsCache.db # # Fake out the missing tests for the auto* tools # ACLOCAL = /bin/sh ./missing --run echo AUTOCONF = /bin/sh ./missing --run echo AUTOMAKE = /bin/sh ./missing --run echo AUTOHEADER = /bin/sh ./missing --run echo # A list of all the files in the current directory which can be regenerated MAINTAINERCLEANFILES = COPYING Makefile.in aclocal.m4 config.guess \ config.h.in config.sub configure install-sh \ ltmain.sh missing mkinstalldirs \ stamp-h.in SUBDIRS = . @PLUGINS@ ETTER_PASSIVE_FILE = etter.finger.os ETTER_PASSIVE = $(ETTER_PASSIVE_FILE).gz ETTER_PASSIVE_DOWNLOAD_FROM = "http://cvs.sourceforge.net/viewcvs.py/ettercap/ettercap_ng/share" ETTER_PASSIVE_DOWNLOAD_PARMS = "rev=HEAD" NTOPDATA = ntop-cert.pem \ p2c.opt.table.gz \ $(ETTER_PASSIVE) \ oui.txt.gz \ specialMAC.txt.gz NTOPHTML = html html/*.js html/*.html html/*.gif html/*.jpg html/*.ico html/*.png \ html/*.css html/*.dtd \ html/PlotKit \ html/PlotKit/*js \ html/MochiKit \ html/MochiKit/*js \ html/img_inquisitor \ html/img_inquisitor/*gif \ html/jscalendar \ html/jscalendar/*js \ html/jscalendar/lang \ html/jscalendar/lang/*js \ html/statsicons \ html/statsicons/flags html/statsicons/os \ html/statsicons/flags/*.gif html/statsicons/os/*.gif \ html/PlotKit html/PlotKit/*.js \ html/MochiKit html/MochiKit/*.js WEBFILES = `cat www/FILES` PLUGINSFILES = `cat plugins/FILES` DATABASEFILES = `cat database/FILES` DOCSFILES = `cat docs/FILES` # # This Makefile is responsible for creating: # 1. libntop.la, the ntop core library # 2. libntopreport.la, the ntop library with all the code for html report # 3. ntop, the binary dynamically linked # # # The Games # bin_PROGRAMS = ntop EXTRA_PROGRAMS = ntops bin_SCRIPTS = ntop_SOURCES = main.c admin.c ntop_DEPENDENCIES = libntopreport.la libntop.la ntop_LDADD = libntopreport.la libntop.la $(BASE_LIBS) ntop_LDFLAGS = $(AM_LDFLAGS) ntop_CFLAGS = noinst_HEADERS = getopt.h globals-core.h globals-report.h ntop.h # all the Archives lib_LTLIBRARIES = libntop.la libntopreport.la # core Archive, or the 'engine' libntop_la_SOURCES = address.c argv.c dataFormat.c fcUtils.c \ getopt.c getopt1.c globals-core.c \ hash.c iface.c initialize.c l7.c leaks.c \ ntop.c pbuf.c database.c \ plugin.c prefs.c protocols.c \ sessions.c term.c util.c utildl.c \ traffic.c vendor.c version.c \ ntop_darwin.c libntop_la_DEPENDENCIES = config.h libntop_la_LIBADD = $(BASE_LIBS) libntop_la_LDFLAGS = $(AM_LDFLAGS) -release $(VERSION) -export-dynamic @DYN_FLAGS@ # Archive for http representation, or the 'viewer' libntopreport_la_SOURCES = emitter.c globals-report.c graph.c \ fcReport.c http.c \ report.c reportUtils.c ssl.c \ webInterface.c libntopreport_la_DEPENDENCIES = libntop.la libntopreport_la_LIBADD = libntop.la $(BASE_LIBS) libntopreport_la_LDFLAGS = $(AM_LDFLAGS) -release $(VERSION) -export-dynamic @DYN_FLAGS@ man_MANS = ntop.8 .PHONY: snapshot acinclude.m4: acinclude.m4.ntop libtool.m4.in @cat acinclude.m4.ntop libtool.m4.in >acinclude.m4 CLEANLIST = `ls -l $(DESTDIR)$(libdir)/*ntop*.so $(DESTDIR)$(libdir)/*Plugin*.so | \ grep -v $(VERSION) | \ grep -v '\->' | \ $(AWK) '{ print $$NF }'` # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # rules to handle nroff documentation # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # ntop.8: @echo "" ntop.txt: ntop.8 @echo "" @echo "-----------------------------------------------" @echo "Converting $< to ASCII format .... Please wait" @echo "" @echo " Oh, yeah..." @echo " If we hang here, then you are probably " @echo " running make not GNU make (gmake)" @echo "" @groff -mandoc -Tascii $< | LANG=C sed 's/_^H//g' | LANG=C sed 's/^H[ -\~]//g' > ntop.txt @echo "$@ done !" @echo "-----------------------------------------------" @echo "" # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # rules to translate ASCII files to HTML # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ntop.html: ntop.8 @echo "" @echo "-----------------------------------------------" @echo "Converting $< to HTML format .... Please wait" @echo "" @echo " Oh, yeah..." @echo " If we hang here, then you are probably " @echo " running make not GNU make (gmake)" @echo "" @groff -mandoc -Thtml $< | LANG=C sed 's/_^H//g' | LANG=C sed 's/^H[ -\~]//g' | @AWK@ -f utils/insertssi.awk > html/ntop.html @cp -f html/ntop.html ntop.html @echo "$@ done !" @echo "-----------------------------------------------" @echo "" # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # rules to translate FAQ file to HTML # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= faq.html: docs/FAQ @echo "" @echo "-----------------------------------------------" @echo "Converting $< to HTML format .... Please wait" @echo "" @echo " Oh, yeah..." @echo " If we hang here, then you are probably " @echo " running make not GNU make (gmake)" @echo "" @@AWK@ -f utils/faqtohtml.awk $< | LANG=C sed 's/_^H//g' | LANG=C sed 's/^H[ -\~]//g' > html/faq.html @cp -f html/faq.html faq.html @echo "$@ done !" @echo "-----------------------------------------------" @echo "" ntop-cert.pem: openssl req -new -x509 -sha1 -extensions v3_ca -nodes -days 365 -out cert.pem cat privkey.pem cert.pem > ntop-cert.pem /bin/rm -f privkey.pem cert.pem listlibclean: @echo "" @echo "This is a list of old shared library files that will be deleted" @echo "if you run 'make libclean'" @echo "" @for file in $(CLEANLIST); do \ if test -f $$file; then \ echo " $$file"; \ fi; \ done @echo "" libclean: @echo "" @echo "Cleanup of old shared library files..." @echo "" @echo " This is a list of files that will be deleted..." @echo "" @for file in $(CLEANLIST); do \ if test -f $$file; then \ echo " $$file"; \ fi; \ done @echo "" @echo "" @echo "Press cntl-c to stop or enter to continue and delete these files..." @read select @echo "" @for file in $(CLEANLIST); do \ if test -f $$file; then \ echo " ...Deleting $$file"; \ rm -f $$file; \ fi; \ done install: install-recursive @mkdir -p $(DESTDIR)/$(CFG_DBFILE_DIR) @echo "" @echo "------------------------------------------------------------" @echo "" @echo " Cleanup of old database files..." @echo "" @for file in $(INSTALLCLEANFILES); do \ if test -f $(DESTDIR)$(datadir)/ntop/$$file; then \ echo " ...Deleting $(DESTDIR)$(datadir)/ntop/$$file"; \ rm -rf $(DESTDIR)$(datadir)/ntop/$$file; \ fi; \ done @if ! test -f $(DESTDIR)/$(CFG_CONFIGFILE_DIR)/AS-list.txt.gz; then \ echo ""; \ echo ""; \ echo "------------------------------------------------------------"; \ echo ""; \ echo "NOTE: ntop can show traffic by AS (Autonomous System) Number"; \ echo ""; \ echo " Because this feature consumes a number of MB of memory,"; \ echo " the datafile is not installed by default."; \ echo ""; \ echo " Which, if there is no file - from this or a previous"; \ echo " install - effectively disables the ASN feature."; \ echo ""; \ echo " To install the AS data, type:"; \ echo ""; \ echo "# make install-data-as"; \ fi @if test ".$(CLEANLIST)" != "."; then \ echo ""; \ echo ""; \ echo "************************************************************"; \ echo ""; \ echo " There appear to be old shared library files on your system."; \ echo " You may wish to delete these if you are no longer using the"; \ echo " older versions."; \ echo ""; \ echo " To see the list of files, run"; \ echo ""; \ echo "# make listlibclean"; \ echo ""; \ echo " To delete them (you will have a chance to abort before the"; \ echo " actual delete):"; \ echo ""; \ echo "# make libclean"; \ echo ""; \ fi @if test -f $(DESTDIR)/$(datadir)/ntop/warnuser; then \ echo ""; \ echo ""; \ echo "************************************************************"; \ echo "************************************************************"; \ echo ""; \ echo " WARNING: This install created a directory for the ntop"; \ echo " files and databases:"; \ echo ""; \ echo " $(DESTDIR)/$(datadir)/ntop"; \ echo ""; \ echo " This directory MUST be owned by the user"; \ echo " which you are going to use to run ntop."; \ echo ""; \ echo " The command you must issue is something like:"; \ echo ""; \ echo " chown -R ntop.ntop $(DESTDIR)/$(datadir)/ntop"; \ echo " or chown -R ntop:users $(DESTDIR)/$(datadir)/ntop"; \ echo ""; \ echo " man chown to check the syntax for YOUR system"; \ echo ""; \ echo "************************************************************"; \ echo "************************************************************"; \ echo ""; \ echo ""; \ rm -f $(DESTDIR)/$(datadir)/ntop/warnuser; \ fi install-data-as: @$(top_srcdir)/mkinstalldirs $(DESTDIR)/$(CFG_CONFIGFILE_DIR); @for file in AS-list.txt.gz; do \ if test -d $$file; then \ $(top_srcdir)/mkinstalldirs $(DESTDIR)/$(CFG_CONFIGFILE_DIR)/$$file; \ else \ cp -p $$file $(DESTDIR)/$(CFG_CONFIGFILE_DIR)/$$file; \ fi; \ done install-data-local: ntop.txt ntop.html faq.html @if ! test -d $(DESTDIR)/$(datadir)/ntop; then \ $(top_srcdir)/mkinstalldirs $(DESTDIR)/$(datadir)/ntop; \ touch $(DESTDIR)/$(datadir)/ntop/warnuser; \ else \ rm -f $(DESTDIR)/$(datadir)/ntop/warnuser; \ fi @$(top_srcdir)/mkinstalldirs $(DESTDIR)/$(datadir)/ntop/html; @for file in $(NTOPHTML); do \ if test -d $$file; then \ $(top_srcdir)/mkinstalldirs $(DESTDIR)/$(datadir)/ntop/$$file; \ else \ cp -p $$file $(DESTDIR)/$(datadir)/ntop/$$file; \ fi; \ done @$(top_srcdir)/mkinstalldirs $(DESTDIR)/$(CFG_CONFIGFILE_DIR); @for file in $(NTOPDATA); do \ if test -d $$file; then \ $(top_srcdir)/mkinstalldirs $(DESTDIR)/$(CFG_CONFIGFILE_DIR)/$$file; \ else \ cp -p $$file $(DESTDIR)/$(CFG_CONFIGFILE_DIR)/$$file; \ fi; \ done # build the IPX SAP table sapt: saptable.h @cat Internet/novell-sap-numbers | cut -c1-3 | sed -f sapt.sed > saptable.h # download the vendor information table dnvt: @echo "" @echo "" @echo -n "Preparing " @if test -f oui.txt; then \ rm -rf oui.txt; \ fi @if test -f oui.txt.gz.old; then \ rm -rf oui.txt.gz.old; \ fi; @mv oui.txt.gz oui.txt.gz.old @echo "(old oui.txt.gz file is now oui.txt.gz.old)" @echo "" @wget -c http://standards.ieee.org/regauth/oui/oui.txt @gzip oui.txt @echo "" @echo "" @echo -n "Old file lines were: " @gunzip -c oui.txt.gz.old | wc -l @echo -n "New file lines are: " @gunzip -c oui.txt.gz | wc -l @echo "" @echo "" @echo "New file is:" @ls -l oui.txt.gz # download the Novell SAP Protocol information table dnsapt: @(cd Internet; wget -c http://www.iana.org/assignments/novell-sap-numbers) # download the passive ethernet fingerprint database dnetter: @echo "" @echo "" @echo "Preparing " @echo "" @if test -f $(ETTER_PASSIVE).old; then \ echo "...Deleting prior file, $(ETTER_PASSIVE).old..."; \ rm -rf $(ETTER_PASSIVE).old; \ fi; @if test -f $(ETTER_PASSIVE); then \ echo "...Moving current $(ETTER_PASSIVE) to $(ETTER_PASSIVE).old"; \ mv $(ETTER_PASSIVE) $(ETTER_PASSIVE).old; \ fi; @for file in $(ETTER_PASSIVE) $(ETTER_PASSIVE).gz \ $(ETTER_PASSIVE_FILE) $(ETTER_PASSIVE_FILE).gz; do \ if test -f $$file; then \ echo "...Deleting prior file, $$file..."; \ rm -rf $$file; \ fi; \ done @echo "" @echo "...Downloading new file..." @wget -O $(ETTER_PASSIVE_FILE) \ $(ETTER_PASSIVE_DOWNLOAD_FROM)/$(ETTER_PASSIVE_FILE)?$(ETTER_PASSIVE_DOWNLOAD_PARMS) @echo "" @echo "gziping downloaded file..." @gzip $(ETTER_PASSIVE_FILE) @echo "" @echo "" @if test -f $(ETTER_PASSIVE).old; then \ echo -n "Old file lines were: "; \ gunzip -c $(ETTER_PASSIVE).old | wc -l; \ fi; @echo -n "New file lines are: " @gunzip -c $(ETTER_PASSIVE) | wc -l @echo "" @echo "" @echo "New file is:" @ls -l $(ETTER_PASSIVE) # download the data for and make the p2c.opt.table p2ctable: @utils/p2c # ntop census census-fail: @echo "This option is no longer available... thanks for trying" census-ok: @echo "This option is no longer available... thanks for trying" # Create ntop's package for Debian GNU/Linux using Official scripts # Please keep silent the building process. QUIET = 1> /dev/null 2>&1 deb-official: @echo "Making Debian package using scripts in packages/debian.official/. Please be patient..." @fakeroot make -f packages/debian.official/rules binary $(QUIET) @rm -f packages/debian.official/files packages/debian.official/ntop.substvars @version=`head -1 packages/debian.official/changelog | cut -d " " -f 2 | sed -e 's|(||' | sed -e 's|)||'` && mv ../ntop_$$version_*.deb packages/debian.official/ @rm -rf packages/debian.official/ntop @echo "Your Debian package is under packages/debian.official/"