Nmap Development mailing list archives

Re: QSCAN patch updated for 4.50


From: Arturo 'Buanzo' Busleiman <buanzo () buanzo com ar>
Date: Mon, 31 Dec 2007 10:44:52 -0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Applied cleanly to nmap-4.50, but does not compile:

make clean
./configure
make
[...]

make[1]: Entering directory `/root/dl/nmap-4.50'
make[1]: *** No rule to make target `qscan.o', needed by `nmap'.  Stop.
make[1]: Leaving directory `/root/dl/nmap-4.50'
make: *** [all] Error 2

Attached resulting Makefile.in after applying patch and Makefile.


- --
Arturo "Buanzo" Busleiman
BUSCO Baterista para estilo brit-pop Zona Norte BsAs
Independent Security Consultant - SANS - OISSG
http://www.buanzo.com.ar/pro/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHeOREAlpOsGhXcE0RCv6UAJ9zqyYyTCTfqMT9QnbUSuIIpUaDbwCfTkAu
ahk2xRsRfjtXhsF0eiN9Fz0=
=ZuLv
-----END PGP SIGNATURE-----
# Extract the version string from nmap.h.
export NMAP_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_VERSION' nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q')
NMAP_NAME= Nmap
NMAP_URL= http://insecure.org
NMAP_PLATFORM=i686-pc-linux-gnu
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
mandir = ${prefix}/man
srcdir = .
nmaplibexecdir = ${exec_prefix}/libexec/nmap
nmapdatadir = ${prefix}/share/nmap
deskdir = $(prefix)/share/applications
NMAPDEVDIR=~/nmap-dev

export NBASEDIR=nbase
export NSOCKDIR=nsock
export LIBLUADIR = liblua
export NDIR=$(shell pwd)
export LIBLUA_LIBS = liblua/liblua.a
CC = gcc
CXX = g++
CCOPT = 
DBGFLAGS = 
STRIP = /usr/bin/strip
LIBPCAPDIR = libpcap
LIBPCREDIR = libpcre
export LIBDNETDIR = libdnet-stripped
ZENMAPDIR = zenmap
PYTHON = /usr/bin/python
DEFS = -DHAVE_CONFIG_H -DNMAP_NAME=\"$(NMAP_NAME)\" -DNMAP_URL=\"$(NMAP_URL)\" -DNMAP_PLATFORM=\"$(NMAP_PLATFORM)\" 
-DNMAPDATADIR=\"$(nmapdatadir)\" -DNMAPLIBEXECDIR=\"$(nmaplibexecdir)\"
# For mtrace debugging -- see MTRACE define in main.cc for instructions
# Should only be enabled during debugging and not in any real release.
# DEFS += -DMTRACE=1
CXXFLAGS = -Iliblua -Ilibdnet-stripped/include -g -O2 -Wall  -fno-strict-aliasing -Ilibpcap -Inbase -Insock/include 
$(DBGFLAGS) $(CCOPT) $(DEFS)
CPPFLAGS = 
export CFLAGS = $(CXXFLAGS)
# CFLAGS = $(DEFS) $(INCLS)
STATIC =
LDFLAGS = -Llibpcap -Wl,-E  -Lnbase -Lnsock/src/ $(DBGFLAGS) $(STATIC)
LIBS =  -lnbase -lnsock -lpcre -lpcap -lssl -lcrypto libdnet-stripped/src/.libs/libdnet.a liblua/liblua.a -ldl  
# LIBS =  -lefence -ldl 
# LIBS =  -lrmalloc -ldl 
SHTOOL = ./shtool
INSTALL = $(SHTOOL) install 
# MAKEDEPEND = @MAKEDEPEND@
export RPMTDIR=$(HOME)/rpm


# DESTDIR is used by some package maintainers to install Nmap under
# its usual directory structure into a different tree.  See the 
# CHANGELOG for more info.
DESTDIR =

TARGET = nmap
INSTALLNSE=install-nse
BUILDZENMAP=build-zenmap
INSTALLZENMAP=install-zenmap

ifneq (liblua/liblua.a,)
NSE_SRC=nse_main.cc nse_auxiliar.cc nse_nsock.cc nse_init.cc nse_nmaplib.cc nse_debug.cc nse_pcrelib.cc nse_string.cc 
NSE_HDRS=nse_main.h nse_auxiliar.h nse_nsock.h nse_init.h nse_nmaplib.h nse_debug.h nse_macros.h nse_pcrelib.h 
nse_string.h
NSE_OBJS=nse_main.o nse_auxiliar.o nse_nsock.o nse_init.o nse_nmaplib.o nse_debug.o nse_pcrelib.o nse_string.o
NSESTDLIB=nsestdlib
endif

export SRCS = main.cc nmap.cc targets.cc tcpip.cc nmap_error.cc utils.cc idle_scan.cc osscan.cc osscan2.cc output.cc 
scan_engine.cc timing.cc charpool.cc services.cc protocols.cc nmap_rpc.cc portlist.cc NmapOps.cc TargetGroup.cc 
Target.cc FingerPrintResults.cc service_scan.cc NmapOutputTable.cc MACLookup.cc nmap_tty.cc nmap_dns.cc traceroute.cc 
portreasons.cc qscan.cc $(NSE_SRC) 

export HDRS = charpool.h FingerPrintResults.h global_structures.h idle_scan.h MACLookup.h nmap_amigaos.h nmap_dns.h 
nmap_error.h nmap.h NmapOps.h NmapOutputTable.h nmap_rpc.h nmap_tty.h nmap_winconfig.h osscan.h osscan2.h output.h 
portlist.h protocols.h scan_engine.h service_scan.h services.h TargetGroup.h Target.h targets.h tcpip.h timing.h 
utils.h traceroute.h portreasons.h $(NSE_HDRS)

OBJS = main.o nmap.o targets.o tcpip.o nmap_error.o utils.o idle_scan.o osscan.o osscan2.o output.o scan_engine.o 
timing.o charpool.o services.o protocols.o nmap_rpc.o portlist.o NmapOps.o TargetGroup.o Target.o FingerPrintResults.o 
service_scan.o NmapOutputTable.o MACLookup.o nmap_tty.o nmap_dns.o  traceroute.o portreasons.o qscan.o $(NSE_OBJS) 

# %.o : %.cc -- nope this is a GNU extension
.cc.o:
        $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@

all: lua_build pcap_build  dnet_build nbase_build nsock_build
        $(MAKE) $(TARGET) $(NSESTDLIB) $(BUILDZENMAP)

$(TARGET): liblua/liblua.a $(LIBPCAPDIR)/libpcap.a  libdnet-stripped/src/.libs/libdnet.a $(NBASEDIR)/libnbase.a 
$(NSOCKDIR)/src/libnsock.a $(OBJS)
        echo Compiling nmap
        rm -f $@
        $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)

nsestdlib: nselib-bin/Makefile 
        @echo Compiling nse-standard-library; cd nselib-bin && $(MAKE)


pcre_build: $(LIBPCREDIR)/Makefile
        @echo Compiling libpcre; cd $(LIBPCREDIR) && $(MAKE)

dnet_build: $(LIBDNETDIR)/Makefile
        @echo Compiling libdnet; cd $(LIBDNETDIR) && $(MAKE)

pcap_build: $(LIBPCAPDIR)/Makefile
        @echo Compiling libpcap; cd $(LIBPCAPDIR) && $(MAKE)

nbase_build: $(NBASEDIR)/Makefile
        @echo Compiling libnbase;
        cd $(NBASEDIR) && $(MAKE)

nsock_build: $(NSOCKDIR)/src/Makefile
        @echo Compiling libnsock;
        cd $(NSOCKDIR)/src && $(MAKE)

lua_build: $(LIBLUADIR)/Makefile
        @echo Compiling liblua; cd $(LIBLUADIR) && $(MAKE) liblua.a MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN"

#$(LIBPCAPDIR)/Makefile:
#       @echo Configuring libpcap; cd $(LIBPCAPDIR); ./configure


# Make a statically compiled binary for portability between distributions
static:
        $(MAKE) STATIC=-static

debug:
        $(MAKE) DBGFLAGS="-O0 -g -pg -ftest-coverage -fprofile-arcs"

# Make the Nmap tarball
distro:
        cd $(NMAPDEVDIR) && $(MAKE) distro

# Update the web site
web:
        cd $(NMAPDEVDIR) && $(MAKE) web

clean: lua_clean pcap_clean  dnet_clean nsock_clean nbase_clean my_clean nselib_clean zenmap_clean

my_clean:
        rm -f dependencies.mk
        rm -f $(OBJS) $(TARGET) config.cache
pcap_clean:
        -cd $(LIBPCAPDIR) && $(MAKE) clean
pcre_clean:
        -cd $(LIBPCREDIR) && $(MAKE) clean
dnet_clean:
        -cd $(LIBDNETDIR) && $(MAKE) clean
nbase_clean:
        -cd $(NBASEDIR) && $(MAKE) clean
nsock_clean:
        -cd $(NSOCKDIR)/src && $(MAKE) clean
lua_clean:
        -cd $(LIBLUADIR) && $(MAKE) clean
nselib_clean:
        -cd nselib-bin && $(MAKE) clean
zenmap_clean:
        -cd $(ZENMAPDIR) && $(PYTHON) setup.py clean --all
pcap_dist_clean:
        -cd $(LIBPCAPDIR) && $(MAKE) distclean
pcre_dist_clean:
        -cd $(LIBPCREDIR) && $(MAKE) distclean
dnet_dist_clean:
        -cd $(LIBDNETDIR) && $(MAKE) distclean
lua_dist_clean:
        -cd $(LIBLUADIR) && $(MAKE) clean
nselib_dist_clean:
        -cd nselib-bin && $(MAKE) distclean
nbase_dist_clean:
        -cd $(NBASEDIR) && $(MAKE) distclean
nsock_dist_clean:
        -cd $(NSOCKDIR)/src && $(MAKE) distclean
zenmap_dist_clean: zenmap_clean
        -cd $(ZENMAPDIR) && rm -rf MANIFEST build/ dist/
debugclean:
        rm -f *.gcov *.gcda *.gcno gmon.out

distclean: my_clean my_distclean lua_dist_clean pcap_dist_clean  dnet_dist_clean nbase_dist_clean nsock_dist_clean 
nselib_dist_clean zenmap_dist_clean

my_distclean:
        rm -f Makefile Makefile.bak makefile.dep config.h stamp-h stamp-h.in \
                 config.cache config.log config.status

install-nmap: $(TARGET)
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(nmapdatadir)
        $(INSTALL) -c -m 755 nmap $(DESTDIR)$(bindir)/nmap
# Use strip -x to avoid stripping dynamically loaded NSE functions. See
# http://seclists.org/nmap-dev/2007/q4/0272.html.
        $(STRIP) -x $(DESTDIR)$(bindir)/nmap
        $(INSTALL) -c -m 644 docs/$(TARGET).1 $(DESTDIR)$(mandir)/man1/
        $(INSTALL) -c -m 644 docs/nmap.xsl $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 docs/nmap.dtd $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-services $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-rpc $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-os-db $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-service-probes $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-protocols $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-mac-prefixes $(DESTDIR)$(nmapdatadir)/

$(ZENMAPDIR)/setup.py:
        cd $(ZENMAPDIR) && install_scripts/unix/setup.sh

# Update the version number used by Zenmap.
$(ZENMAPDIR)/zenmapCore/Version.py $(ZENMAPDIR)/share/zenmap/config/zenmap_version: nmap.h
        cd $(ZENMAPDIR) && $(PYTHON) install_scripts/utils/version_update.py "$(NMAP_VERSION)"

# By default distutils rewrites installed scripts to hardcode the
# location of the Python interpreter they were built with (something
# like #!/usr/bin/python2.4). This is the wrong thing to do when
# installing on a machine other than the one used to do the build. Use
# this as the location of the interpreter whenever we're not doing a
# local installation.
DEFAULT_PYTHON_PATH = /usr/bin/env python

build-zenmap: $(ZENMAPDIR)/setup.py $(ZENMAPDIR)/zenmapCore/Version.py
# When DESTDIR is defined, assume we're building an executable
# distribution rather than a local installation and force a generic
# Python interpreter location.
        cd $(ZENMAPDIR) && $(PYTHON) setup.py build $(if $(DESTDIR),--executable "$(DEFAULT_PYTHON_PATH)")

install-zenmap: $(ZENMAPDIR)/setup.py
        cd $(ZENMAPDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" $(if $(DESTDIR),--root "$(DESTDIR)")
# Create a symlink from nmapfe to zenmap if nmapfe doesn't exist or is
# already a link.
        if [ ! -e $(DESTDIR)$(bindir)/nmapfe -o -L $(DESTDIR)$(bindir)/nmapfe ]; then \
                ln -sf zenmap $(DESTDIR)$(bindir)/nmapfe; \
        fi
# Create a symlink from xnmap to zenmap unconditionally.
        ln -sf zenmap $(DESTDIR)$(bindir)/xnmap

NSE_FILES = scripts/script.db scripts/*.nse
NSE_LIB_LUA_FILES = nselib/*.lua
NSE_LIB_SO_FILES = nselib-bin/*.so

install-nse: $(TARGET)
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(nmapdatadir)/scripts
        cp -f $(NSE_FILES) $(DESTDIR)$(nmapdatadir)/scripts
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(nmapdatadir)/nselib
        cp -f $(NSE_LIB_LUA_FILES) $(DESTDIR)$(nmapdatadir)/nselib
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(nmaplibexecdir)/nselib-bin
        cp -f $(NSE_LIB_SO_FILES) $(DESTDIR)$(nmaplibexecdir)/nselib-bin

install: install-nmap $(INSTALLNSE) $(INSTALLZENMAP)
        @echo "NMAP SUCCESSFULLY INSTALLED"

uninstall:
        rm -f $(bindir)/$(TARGET) $(bindir)/xnmap
        rm -f $(mandir)/man1/nmap.1
        rm -rf $(nmapdatadir) $(nmaplibexecdir)

${srcdir}/configure: configure.ac 
        cd ${srcdir} && autoconf

## autoheader might not change config.h.in, so touch a stamp file.
#${srcdir}/config.h.in: stamp-h.in
#${srcdir}/stamp-h.in: configure.ac acconfig.h \
#       config.h.top config.h.bot
#       cd ${srcdir} && autoheader
#       echo timestamp > ${srcdir}/stamp-h.in
#
#config.h: stamp-h
#stamp-h: config.h.in config.status
#       ./config.status

Makefile: Makefile.in config.status
        ./config.status

config.status: configure
        ./config.status --recheck

makefile.dep:
        $(CXX) -MM $(CXXFLAGS) $(CPPFLAGS) $(SRCS) > $@
include makefile.dep
# Extract the version string from nmap.h.
export NMAP_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_VERSION' nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q')
NMAP_NAME= Nmap
NMAP_URL= http://insecure.org
NMAP_PLATFORM=@host@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
mandir = @mandir@
srcdir = @srcdir@
nmaplibexecdir = @libexecdir@/nmap
nmapdatadir = @datadir@/nmap
deskdir = $(prefix)/share/applications
NMAPDEVDIR=~/nmap-dev

export NBASEDIR=@NBASEDIR@
export NSOCKDIR=@NSOCKDIR@
export LIBLUADIR = @LIBLUADIR@
export NDIR=$(shell pwd)
export LIBLUA_LIBS = @LIBLUA_LIBS@
CC = @CC@
CXX = @CXX@
CCOPT = 
DBGFLAGS = 
STRIP = @STRIP@
LIBPCAPDIR = @libpcapdir@
LIBPCREDIR = @LIBPCREDIR@
export LIBDNETDIR = @LIBDNETDIR@
ZENMAPDIR = zenmap
PYTHON = @PYTHON@
DEFS = @DEFS@ -DNMAP_NAME=\"$(NMAP_NAME)\" -DNMAP_URL=\"$(NMAP_URL)\" -DNMAP_PLATFORM=\"$(NMAP_PLATFORM)\" 
-DNMAPDATADIR=\"$(nmapdatadir)\" -DNMAPLIBEXECDIR=\"$(nmaplibexecdir)\"
# For mtrace debugging -- see MTRACE define in main.cc for instructions
# Should only be enabled during debugging and not in any real release.
# DEFS += -DMTRACE=1
CXXFLAGS = @CXXFLAGS@ $(DBGFLAGS) $(CCOPT) $(DEFS)
CPPFLAGS = @CPPFLAGS@
export CFLAGS = $(CXXFLAGS)
# CFLAGS = $(DEFS) $(INCLS)
STATIC =
LDFLAGS = @LDFLAGS@ $(DBGFLAGS) $(STATIC)
LIBS =  @LIBNBASE_LIBS@ @LIBNSOCK_LIBS@ @LIBPCRE_LIBS@ @LIBPCAP_LIBS@ @OPENSSL_LIBS@ @LIBDNET_LIBS@ @LIBLUA_LIBS@ 
@LIBS@ 
# LIBS =  -lefence @LIBS@
# LIBS =  -lrmalloc @LIBS@
SHTOOL = ./shtool
INSTALL = $(SHTOOL) install 
# MAKEDEPEND = @MAKEDEPEND@
export RPMTDIR=$(HOME)/rpm


# DESTDIR is used by some package maintainers to install Nmap under
# its usual directory structure into a different tree.  See the 
# CHANGELOG for more info.
DESTDIR =

TARGET = nmap
INSTALLNSE=@INSTALLNSE@
BUILDZENMAP=@BUILDZENMAP@
INSTALLZENMAP=@INSTALLZENMAP@

ifneq (@LIBLUA_LIBS@,)
NSE_SRC=nse_main.cc nse_auxiliar.cc nse_nsock.cc nse_init.cc nse_nmaplib.cc nse_debug.cc nse_pcrelib.cc nse_string.cc 
NSE_HDRS=nse_main.h nse_auxiliar.h nse_nsock.h nse_init.h nse_nmaplib.h nse_debug.h nse_macros.h nse_pcrelib.h 
nse_string.h
NSE_OBJS=nse_main.o nse_auxiliar.o nse_nsock.o nse_init.o nse_nmaplib.o nse_debug.o nse_pcrelib.o nse_string.o
NSESTDLIB=nsestdlib
endif

export SRCS = main.cc nmap.cc targets.cc tcpip.cc nmap_error.cc utils.cc idle_scan.cc osscan.cc osscan2.cc output.cc 
scan_engine.cc timing.cc charpool.cc services.cc protocols.cc nmap_rpc.cc portlist.cc NmapOps.cc TargetGroup.cc 
Target.cc FingerPrintResults.cc service_scan.cc NmapOutputTable.cc MACLookup.cc nmap_tty.cc nmap_dns.cc traceroute.cc 
portreasons.cc qscan.cc $(NSE_SRC) @COMPAT_SRCS@

export HDRS = charpool.h FingerPrintResults.h global_structures.h idle_scan.h MACLookup.h nmap_amigaos.h nmap_dns.h 
nmap_error.h nmap.h NmapOps.h NmapOutputTable.h nmap_rpc.h nmap_tty.h nmap_winconfig.h osscan.h osscan2.h output.h 
portlist.h protocols.h scan_engine.h service_scan.h services.h TargetGroup.h Target.h targets.h tcpip.h timing.h 
utils.h traceroute.h portreasons.h $(NSE_HDRS)

OBJS = main.o nmap.o targets.o tcpip.o nmap_error.o utils.o idle_scan.o osscan.o osscan2.o output.o scan_engine.o 
timing.o charpool.o services.o protocols.o nmap_rpc.o portlist.o NmapOps.o TargetGroup.o Target.o FingerPrintResults.o 
service_scan.o NmapOutputTable.o MACLookup.o nmap_tty.o nmap_dns.o  traceroute.o portreasons.o qscan.o $(NSE_OBJS) 
@COMPAT_OBJS@

# %.o : %.cc -- nope this is a GNU extension
.cc.o:
        $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@

all: @LUA_BUILD@ @PCAP_BUILD@ @PCRE_BUILD@ @DNET_BUILD@ @NBASE_BUILD@ @NSOCK_BUILD@
        $(MAKE) $(TARGET) $(NSESTDLIB) $(BUILDZENMAP)

$(TARGET): @LUA_DEPENDS@ @PCAP_DEPENDS@ @PCRE_DEPENDS@ @DNET_DEPENDS@ $(NBASEDIR)/libnbase.a $(NSOCKDIR)/src/libnsock.a 
$(OBJS)
        echo Compiling nmap
        rm -f $@
        $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)

nsestdlib: nselib-bin/Makefile 
        @echo Compiling nse-standard-library; cd nselib-bin && $(MAKE)


pcre_build: $(LIBPCREDIR)/Makefile
        @echo Compiling libpcre; cd $(LIBPCREDIR) && $(MAKE)

dnet_build: $(LIBDNETDIR)/Makefile
        @echo Compiling libdnet; cd $(LIBDNETDIR) && $(MAKE)

pcap_build: $(LIBPCAPDIR)/Makefile
        @echo Compiling libpcap; cd $(LIBPCAPDIR) && $(MAKE)

nbase_build: $(NBASEDIR)/Makefile
        @echo Compiling libnbase;
        cd $(NBASEDIR) && $(MAKE)

nsock_build: $(NSOCKDIR)/src/Makefile
        @echo Compiling libnsock;
        cd $(NSOCKDIR)/src && $(MAKE)

lua_build: $(LIBLUADIR)/Makefile
        @echo Compiling liblua; cd $(LIBLUADIR) && $(MAKE) liblua.a @LUAFLAGS@

#$(LIBPCAPDIR)/Makefile:
#       @echo Configuring libpcap; cd $(LIBPCAPDIR); ./configure


# Make a statically compiled binary for portability between distributions
static:
        $(MAKE) STATIC=-static

debug:
        $(MAKE) DBGFLAGS="-O0 -g -pg -ftest-coverage -fprofile-arcs"

# Make the Nmap tarball
distro:
        cd $(NMAPDEVDIR) && $(MAKE) distro

# Update the web site
web:
        cd $(NMAPDEVDIR) && $(MAKE) web

clean: @LUA_CLEAN@ @PCAP_CLEAN@ @PCRE_CLEAN@ @DNET_CLEAN@ nsock_clean nbase_clean my_clean @NSELIB_CLEAN@ @ZENMAP_CLEAN@

my_clean:
        rm -f dependencies.mk
        rm -f $(OBJS) $(TARGET) config.cache
pcap_clean:
        -cd $(LIBPCAPDIR) && $(MAKE) clean
pcre_clean:
        -cd $(LIBPCREDIR) && $(MAKE) clean
dnet_clean:
        -cd $(LIBDNETDIR) && $(MAKE) clean
nbase_clean:
        -cd $(NBASEDIR) && $(MAKE) clean
nsock_clean:
        -cd $(NSOCKDIR)/src && $(MAKE) clean
lua_clean:
        -cd $(LIBLUADIR) && $(MAKE) clean
nselib_clean:
        -cd nselib-bin && $(MAKE) clean
zenmap_clean:
        -cd $(ZENMAPDIR) && $(PYTHON) setup.py clean --all
pcap_dist_clean:
        -cd $(LIBPCAPDIR) && $(MAKE) distclean
pcre_dist_clean:
        -cd $(LIBPCREDIR) && $(MAKE) distclean
dnet_dist_clean:
        -cd $(LIBDNETDIR) && $(MAKE) distclean
lua_dist_clean:
        -cd $(LIBLUADIR) && $(MAKE) clean
nselib_dist_clean:
        -cd nselib-bin && $(MAKE) distclean
nbase_dist_clean:
        -cd $(NBASEDIR) && $(MAKE) distclean
nsock_dist_clean:
        -cd $(NSOCKDIR)/src && $(MAKE) distclean
zenmap_dist_clean: zenmap_clean
        -cd $(ZENMAPDIR) && rm -rf MANIFEST build/ dist/
debugclean:
        rm -f *.gcov *.gcda *.gcno gmon.out

distclean: my_clean my_distclean @LUA_DIST_CLEAN@ @PCAP_DIST_CLEAN@ @PCRE_DIST_CLEAN@ @DNET_DIST_CLEAN@ 
nbase_dist_clean nsock_dist_clean @NSELIB_DIST_CLEAN@ @ZENMAP_DIST_CLEAN@

my_distclean:
        rm -f Makefile Makefile.bak makefile.dep config.h stamp-h stamp-h.in \
                 config.cache config.log config.status

install-nmap: $(TARGET)
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(nmapdatadir)
        $(INSTALL) -c -m 755 nmap $(DESTDIR)$(bindir)/nmap
# Use strip -x to avoid stripping dynamically loaded NSE functions. See
# http://seclists.org/nmap-dev/2007/q4/0272.html.
        $(STRIP) -x $(DESTDIR)$(bindir)/nmap
        $(INSTALL) -c -m 644 docs/$(TARGET).1 $(DESTDIR)$(mandir)/man1/
        $(INSTALL) -c -m 644 docs/nmap.xsl $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 docs/nmap.dtd $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-services $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-rpc $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-os-db $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-service-probes $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-protocols $(DESTDIR)$(nmapdatadir)/
        $(INSTALL) -c -m 644 nmap-mac-prefixes $(DESTDIR)$(nmapdatadir)/

$(ZENMAPDIR)/setup.py:
        cd $(ZENMAPDIR) && install_scripts/unix/setup.sh

# Update the version number used by Zenmap.
$(ZENMAPDIR)/zenmapCore/Version.py $(ZENMAPDIR)/share/zenmap/config/zenmap_version: nmap.h
        cd $(ZENMAPDIR) && $(PYTHON) install_scripts/utils/version_update.py "$(NMAP_VERSION)"

# By default distutils rewrites installed scripts to hardcode the
# location of the Python interpreter they were built with (something
# like #!/usr/bin/python2.4). This is the wrong thing to do when
# installing on a machine other than the one used to do the build. Use
# this as the location of the interpreter whenever we're not doing a
# local installation.
DEFAULT_PYTHON_PATH = /usr/bin/env python

build-zenmap: $(ZENMAPDIR)/setup.py $(ZENMAPDIR)/zenmapCore/Version.py
# When DESTDIR is defined, assume we're building an executable
# distribution rather than a local installation and force a generic
# Python interpreter location.
        cd $(ZENMAPDIR) && $(PYTHON) setup.py build $(if $(DESTDIR),--executable "$(DEFAULT_PYTHON_PATH)")

install-zenmap: $(ZENMAPDIR)/setup.py
        cd $(ZENMAPDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" $(if $(DESTDIR),--root "$(DESTDIR)")
# Create a symlink from nmapfe to zenmap if nmapfe doesn't exist or is
# already a link.
        if [ ! -e $(DESTDIR)$(bindir)/nmapfe -o -L $(DESTDIR)$(bindir)/nmapfe ]; then \
                ln -sf zenmap $(DESTDIR)$(bindir)/nmapfe; \
        fi
# Create a symlink from xnmap to zenmap unconditionally.
        ln -sf zenmap $(DESTDIR)$(bindir)/xnmap

NSE_FILES = scripts/script.db scripts/*.nse
NSE_LIB_LUA_FILES = nselib/*.lua
NSE_LIB_SO_FILES = nselib-bin/*.so

install-nse: $(TARGET)
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(nmapdatadir)/scripts
        cp -f $(NSE_FILES) $(DESTDIR)$(nmapdatadir)/scripts
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(nmapdatadir)/nselib
        cp -f $(NSE_LIB_LUA_FILES) $(DESTDIR)$(nmapdatadir)/nselib
        $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(nmaplibexecdir)/nselib-bin
        cp -f $(NSE_LIB_SO_FILES) $(DESTDIR)$(nmaplibexecdir)/nselib-bin

install: install-nmap $(INSTALLNSE) $(INSTALLZENMAP)
        @echo "NMAP SUCCESSFULLY INSTALLED"

uninstall:
        rm -f $(bindir)/$(TARGET) $(bindir)/xnmap
        rm -f $(mandir)/man1/nmap.1
        rm -rf $(nmapdatadir) $(nmaplibexecdir)

${srcdir}/configure: configure.ac 
        cd ${srcdir} && autoconf

## autoheader might not change config.h.in, so touch a stamp file.
#${srcdir}/config.h.in: stamp-h.in
#${srcdir}/stamp-h.in: configure.ac acconfig.h \
#       config.h.top config.h.bot
#       cd ${srcdir} && autoheader
#       echo timestamp > ${srcdir}/stamp-h.in
#
#config.h: stamp-h
#stamp-h: config.h.in config.status
#       ./config.status

Makefile: Makefile.in config.status
        ./config.status

config.status: configure
        ./config.status --recheck

makefile.dep:
        $(CXX) -MM $(CXXFLAGS) $(CPPFLAGS) $(SRCS) > $@
include makefile.dep

_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://SecLists.Org

Current thread: