]> The Tcpdump Group git mirrors - tcpdump/blobdiff - Makefile.in
Build fat appropriately for Leopard.
[tcpdump] / Makefile.in
index 58c609b26aa10438eb5721048d9056aaed8b1291..9716e8d05ce91a9b418d87087312ee351dbc4e84 100644 (file)
@@ -17,7 +17,7 @@
 #  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 #
-# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.271 2002-12-22 21:46:54 guy Exp $ (LBL)
+# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.325 2008-11-21 23:17:26 guy Exp $ (LBL)
 
 #
 # Various configurable paths (remember to edit Makefile.in, not Makefile)
@@ -43,7 +43,7 @@ CC = @CC@
 PROG = tcpdump
 CCOPT = @V_CCOPT@
 INCLS = -I. @V_INCLS@
-DEFS = @DEFS@
+DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@
 
 # Standard CFLAGS
 CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
@@ -57,6 +57,7 @@ LIBS = @LIBS@
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+RANLIB = @RANLIB@
 
 # Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
 # Also, gcc does not remove the .o before forking 'as', which can be a
@@ -65,42 +66,125 @@ INSTALL_DATA = @INSTALL_DATA@
        @rm -f $@
        $(CC) $(CFLAGS) -c $(srcdir)/$*.c
 
-CSRC = addrtoname.c gmt2local.c machdep.c parsenfsfh.c \
-       print-802_11.c print-ah.c print-arcnet.c print-arp.c \
-       print-ascii.c print-atalk.c print-atm.c print-beep.c \
-       print-bgp.c print-bootp.c print-cdp.c print-chdlc.c \
-       print-cip.c print-cnfp.c print-decnet.c print-domain.c \
-       print-dvmrp.c print-egp.c print-esp.c print-ether.c \
-       print-fddi.c print-fr.c print-gre.c print-hsrp.c \
-       print-icmp.c print-igmp.c print-igrp.c print-ip.c \
-       print-ipcomp.c print-ipfc.c print-ipx.c print-isakmp.c \
-       print-isoclns.c print-krb.c print-l2tp.c print-lane.c \
-       print-ldp.c print-llc.c print-lwres.c print-mobile.c \
-       print-mpls.c print-msdp.c print-nfs.c print-ntp.c \
-       print-null.c print-ospf.c print-pflog.c print-pim.c \
-       print-ppp.c print-pppoe.c print-pptp.c print-radius.c \
-       print-raw.c print-rip.c print-rsvp.c print-rx.c \
-       print-sctp.c print-sl.c print-sll.c print-snmp.c \
-       print-stp.c print-sunatm.c print-sunrpc.c print-tcp.c \
-       print-telnet.c print-tftp.c print-timed.c print-token.c \
-       print-udp.c print-vjc.c print-vrrp.c print-wb.c \
-       print-zephyr.c setsignal.c tcpdump.c util.c
+CSRC = addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \
+        nlpid.c l2vpn.c machdep.c parsenfsfh.c \
+       print-802_11.c print-ap1394.c print-ah.c print-arcnet.c \
+       print-aodv.c print-arp.c print-ascii.c print-atalk.c print-atm.c \
+       print-beep.c print-bfd.c print-bgp.c print-bootp.c print-bt.c \
+       print-cdp.c print-cfm.c print-chdlc.c print-cip.c print-cnfp.c \
+       print-dccp.c print-decnet.c \
+       print-domain.c print-dtp.c print-dvmrp.c print-enc.c print-egp.c \
+       print-eap.c print-eigrp.c\
+       print-esp.c print-ether.c print-fddi.c print-fr.c \
+       print-gre.c print-hsrp.c print-icmp.c print-igmp.c \
+       print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c print-ipnet.c \
+       print-ipx.c print-isoclns.c print-juniper.c print-krb.c \
+       print-l2tp.c print-lane.c print-ldp.c print-lldp.c print-llc.c \
+        print-lmp.c print-lspping.c print-lwapp.c \
+       print-lwres.c print-mobile.c print-mpcp.c print-mpls.c print-msdp.c \
+       print-nfs.c print-ntp.c print-null.c print-olsr.c print-ospf.c \
+       print-pgm.c print-pim.c print-ppp.c print-pppoe.c print-pptp.c \
+       print-radius.c print-raw.c print-rip.c print-rrcp.c print-rsvp.c \
+       print-rx.c print-sctp.c print-sflow.c print-sip.c print-sl.c print-sll.c \
+       print-slow.c print-snmp.c print-stp.c print-sunatm.c print-sunrpc.c \
+       print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.c \
+       print-timed.c print-token.c print-udld.c print-udp.c print-usb.c \
+       print-vjc.c print-vqp.c print-vrrp.c print-vtp.c print-forces.c \
+       print-wb.c print-zephyr.c signature.c setsignal.c tcpdump.c util.c
+
+LIBNETDISSECT_SRC=print-isakmp.c
+LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o)
+LIBNETDISSECT=libnetdissect.a
 
 LOCALSRC = @LOCALSRC@
 GENSRC = version.c
 LIBOBJS = @LIBOBJS@
 
-SRC =  $(CSRC) $(GENSRC) $(LOCALSRC)
+SRC =  $(CSRC) $(GENSRC) $(LOCALSRC) $(LIBNETDISSECT_SRC)
 
 # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
 # hack the extra indirection
-OBJ =  $(CSRC:.c=.o) $(GENSRC:.c=.o) $(LOCALSRC:.c=.o) $(LIBOBJS)
-HDR =   addrtoname.h appletalk.h bootp.h decnet.h \
-       ethertype.h extract.h fddi.h gmt2local.h igrp.h interface.h \
-       ipx.h llc.h machdep.h mib.h nfsfh.h nfsv2.h ntp.h ospf.h \
+OBJ =  $(CSRC:.c=.o) $(GENSRC:.c=.o) $(LOCALSRC:.c=.o) $(LIBOBJS) $(LIBNETDISSECT_OBJ)
+HDR = \
+       acconfig.h \
+       addrtoname.h \
+       af.h \
+       ah.h \
+       aodv.h \
+       appletalk.h \
+       arcnet.h \
+       atm.h \
+       atmuni31.h \
+       bootp.h \
+       bgp.h \
+       chdlc.h \
+       cpack.h \
+       dccp.h \
+       decnet.h \
+       decode_prefix.h \
+       enc.h \
+       esp.h \
+       ether.h \
+       ethertype.h \
+       extract.h \
+       fddi.h \
+       forces.h \
+       gmpls.h \
+       gmt2local.h \
+       icmp6.h \
+       ieee802_11.h \
+       ieee802_11_radio.h \
+       igrp.h \
+       interface.h \
+       interface.h \
+       ip.h \
+       ip6.h \
+       ipfc.h \
+       ipnet.h \
+       ipproto.h \
+       ipsec_doi.h \
+       ipx.h \
+       isakmp.h \
+       l2tp.h \
+       l2vpn.h \
+       lane.h \
+       llc.h \
+       machdep.h \
+       mib.h \
+       mpls.h \
+       nameser.h \
+       netbios.h \
+       netdissect.h \
+       nfs.h \
+       nfsfh.h \
+       nlpid.h \
+       ntp.h \
+       oakley.h \
+       ospf.h \
+       ospf6.h \
+       oui.h \
+       pcap-missing.h \
+       pmap_prot.h \
+       ppp.h \
+       route6d.h \
+       rpc_auth.h \
+       rpc_msg.h \
+       rx.h \
+       sctpConstants.h \
+       sctpHeader.h \
        setsignal.h \
-       gnuc.h ipsec_doi.h isakmp.h l2tp.h nameser.h \
-       netbios.h oakley.h ospf6.h ppp.h route6d.h
+       signature.h \
+       slcompress.h \
+       slip.h \
+       sll.h \
+       smb.h \
+       tcp.h \
+       tcpdump-stdinc.h \
+       telnet.h \
+       tftp.h \
+       timed.h \
+       token.h \
+       udp.h
 
 TAGHDR = \
        /usr/include/arpa/tftp.h \
@@ -117,12 +201,168 @@ TAGFILES = $(SRC) $(HDR) $(TAGHDR)
 
 CLEANFILES = $(PROG) $(OBJ) $(GENSRC)
 
+EXTRA_DIST = \
+       CHANGES \
+       CREDITS \
+       INSTALL.txt \
+       LICENSE \
+       Makefile.in \
+       Makefile-devel-adds \
+       README \
+       Readme.Win32 \
+       VERSION \
+       aclocal.m4 \
+       atime.awk \
+       bpf_dump.c \
+       config.guess \
+       config.h.in \
+       config.sub \
+       configure \
+       configure.in \
+       install-sh \
+       lbl/os-osf4.h \
+       lbl/os-solaris2.h \
+       lbl/os-sunos4.h \
+       lbl/os-ultrix4.h \
+       makemib \
+       missing/addrinfo.h \
+       missing/addrsize.h \
+       missing/dlnames.c \
+       missing/datalinks.c \
+       missing/getnameinfo.c \
+       missing/inet_aton.c \
+       missing/inet_ntop.c \
+       missing/inet_pton.c \
+       missing/resolv6.h \
+       missing/resolv_ext.h \
+       missing/snprintf.c \
+       missing/sockstorage.h \
+       missing/strdup.c \
+       missing/strlcat.c \
+       missing/strlcpy.c \
+       missing/strsep.c \
+       mkdep \
+       packetdat.awk \
+       pcap_dump_ftell.c \
+       print-dhcp6.c \
+       print-frag6.c \
+       print-icmp6.c \
+       print-ip6.c \
+       print-ip6opts.c \
+       print-mobility.c \
+       print-netbios.c \
+       print-ospf6.c \
+       print-pflog.c \
+       print-ripng.c \
+       print-rt6.c \
+       print-smb.c \
+       send-ack.awk \
+       smbutil.c \
+       stime.awk \
+       strcasecmp.c \
+       tcpdump.1.in \
+       tests/02-sunrise-sunset-esp.puu \
+       tests/08-sunrise-sunset-aes.puu \
+       tests/08-sunrise-sunset-esp2.puu \
+       tests/TESTLIST \
+       tests/TESTonce \
+       tests/TESTrun.sh \
+       tests/bgp-infinite-loop.pcap \
+       tests/bgp_vpn_attrset.out \
+       tests/bgp_vpn_attrset.pcap \
+       tests/chdlc-slarp-short.pcap \
+       tests/chdlc-slarp.pcap \
+       tests/dio.out \
+       tests/dio.pcap \
+       tests/e1000g.out \
+       tests/e1000g.pcap \
+       tests/eapon1.gdbinit \
+       tests/eapon1.out \
+       tests/eapon1.puu \
+       tests/eapon2.puu \
+       tests/esp-secrets.txt \
+       tests/esp0.out \
+       tests/esp1.gdbinit \
+       tests/esp1.out \
+       tests/esp2.gdbinit \
+       tests/esp2.out \
+       tests/esp3.gdbinit \
+       tests/esp4.gdbinit \
+       tests/esp5.gdbinit \
+       tests/esp5.out \
+       tests/espudp1.out \
+       tests/espudp1.puu \
+       tests/forces1.out \
+       tests/forces1.pcap \
+       tests/forces1vvv.out \
+       tests/forces1vvvv.out \
+       tests/forces2.out \
+       tests/forces2.pcap \
+       tests/forces2v.out \
+       tests/forces2vv.out \
+       tests/ikev2.puu \
+       tests/ikev2four.out \
+       tests/ikev2four.puu \
+       tests/ikev2fourv.out \
+       tests/ikev2fourv4.out \
+       tests/ikev2pI2-secrets.txt \
+       tests/ikev2pI2.out \
+       tests/ikev2pI2.puu \
+       tests/isakmp-delete-segfault.puu \
+       tests/isakmp-identification-segfault.puu \
+       tests/isakmp-pointer-loop.puu \
+       tests/isakmp1.out \
+       tests/isakmp2.out \
+       tests/isakmp3.out \
+       tests/isakmp4.out \
+       tests/isakmp4500.puu \
+       tests/isis-infinite-loop.pcap \
+       tests/ldp-infinite-loop.pcap \
+       tests/lmp.out \
+       tests/lmp.puu \
+       tests/lmp.sh \
+       tests/lspping-fec-ldp.pcap \
+       tests/lspping-fec-rsvp.pcap \
+       tests/mpls-ldp-hello.out \
+       tests/mpls-ldp-hello.puu \
+       tests/mpls-traceroute.pcap \
+       tests/ospf-gmpls.out \
+       tests/ospf-gmpls.puu \
+       tests/print-A.out \
+       tests/print-AA.out \
+       tests/print-capX.out \
+       tests/print-capXX.out \
+       tests/print-flags.puu \
+       tests/print-flags.sh \
+       tests/print-x.out \
+       tests/print-xx.out \
+       tests/rsvp-infinite-loop.pcap \
+       vfprintf.c \
+       win32/Include/Arpa/tftp.h \
+       win32/Include/bittypes.h \
+       win32/Include/errno.h \
+       win32/Include/getopt.h \
+       win32/Include/inetprivate.h \
+       win32/Include/telnet.h \
+       win32/Include/w32_fzs.h \
+       win32/Include/Netinet/in_systm.h \
+       win32/Include/Netinet/ip.h \
+       win32/Src/getopt.c \
+       win32/prj/GNUmakefile \
+       win32/prj/WinDump.dsp \
+       win32/prj/WinDump.dsw
+
 all: $(PROG)
 
 $(PROG): $(OBJ) @V_PCAPDEP@
        @rm -f $@
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
 
+$(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
+       @rm -f $@
+       $(AR) cr $@ $(LIBNETDISSECT_OBJ) 
+       $(RANLIB) $@
+
 datalinks.o: $(srcdir)/missing/datalinks.c
        $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c
 dlnames.o: $(srcdir)/missing/dlnames.c
@@ -143,21 +383,30 @@ strlcat.o: $(srcdir)/missing/strlcat.c
        $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c
 strlcpy.o: $(srcdir)/missing/strlcpy.c
        $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c
+strsep.o: $(srcdir)/missing/strsep.c
+       $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c
 
 version.o: version.c
        $(CC) $(CFLAGS) -c version.c
 
 version.c: $(srcdir)/VERSION
        @rm -f $@
-       sed -e 's/.*/char version[] = "&";/' $(srcdir)/VERSION > $@
+       if grep GIT ${srcdir}/VERSION >/dev/null; then \
+               read ver <${srcdir}/VERSION; \
+               echo $$ver | tr -d '\012'; \
+               date +_%Y_%m_%d; \
+       else \
+               cat ${srcdir}/VERSION; \
+       fi | sed -e 's/.*/const char version[] = "&";/' > $@
 
-install:
+install: all
        [ -d $(DESTDIR)$(sbindir) ] || \
            (mkdir -p $(DESTDIR)$(sbindir); chmod 755 $(DESTDIR)$(sbindir))
        $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
+       $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG).`cat ${srcdir}/VERSION`
        [ -d $(DESTDIR)$(mandir)/man1 ] || \
            (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1)
-       $(INSTALL_DATA) $(srcdir)/$(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1
+       $(INSTALL_DATA) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1
 
 uninstall:
        rm -f $(DESTDIR)$(sbindir)/$(PROG)
@@ -169,28 +418,28 @@ lint: $(GENSRC)
            grep -v 'possible pointer alignment problem'
 
 clean:
-       rm -f $(CLEANFILES)
+       rm -f $(CLEANFILES) $(PROG)-`cat VERSION`.tar.gz
 
 distclean:
        rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
-           config.h gnuc.h os-proto.h stamp-h stamp-h.in
+           config.h gnuc.h os-proto.h stamp-h stamp-h.in $(PROG).1
+
+check: tcpdump
+       uudecode --help || (echo "No uudecode program found, not running tests"; echo "apt-get/rpm install sharutils?"; exit 1)
+       (cd tests && ./TESTrun.sh)
 
 tags: $(TAGFILES)
        ctags -wtd $(TAGFILES)
 
-tar:
+TAGS: $(TAGFILES)
+       etags $(TAGFILES)
+
+releasetar:
        @cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \
-           list="" ; tar="tar chf" ; \
-           for i in `cat FILES` ; do list="$$list $$name/$$i" ; done; \
-           echo \
-           "rm -f ../$$name; ln -s $$dir ../$$name" ; \
-            rm -f ../$$name; ln -s $$dir ../$$name ; \
-           echo \
-           "(cd .. ; $$tar - [lots of files]) | compress > /tmp/$$name.tar.Z" ; \
-            (cd .. ; $$tar - $$list) | compress > /tmp/$$name.tar.Z ; \
-           echo \
-           "rm -f ../$$name" ; \
-            rm -f ../$$name
+          mkdir $$name; \
+          tar cf - $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) | (cd $$name; tar xf -); \
+          tar -c -z -f $$name.tar.gz $$name; \
+          rm -rf $$name
 
 depend: $(GENSRC)
        ${srcdir}/mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC)