# Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 # The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that: (1) source code distributions # retain the above copyright notice and this paragraph in its entirety, (2) # distributions including binary code include the above copyright notice and # this paragraph in its entirety in the documentation or other materials # provided with the distribution, and (3) all advertising materials mentioning # features or use of this software display the following acknowledgement: # ``This product includes software developed by the University of California, # Lawrence Berkeley Laboratory and its contributors.'' Neither the name of # the University nor the names of its contributors may be used to endorse # or promote products derived from this software without specific prior # written permission. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # @(#) $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) # # Top level hierarchy prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ # Pathname of directory to install the binary sbindir = @sbindir@ # Pathname of directory to install the man page mandir = @mandir@ # VPATH srcdir = @srcdir@ VPATH = @srcdir@ # # You shouldn't need to edit anything below here. # CC = @CC@ PROG = tcpdump CCOPT = @V_CCOPT@ INCLS = -I. @V_INCLS@ DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@ # Standard CFLAGS CFLAGS = @CFLAGS@ FULL_CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(CFLAGS) # Standard LDFLAGS LDFLAGS = @LDFLAGS@ # Standard LIBS 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 # problem if you don't own the file but can write to the directory. .c.o: @rm -f $@ $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.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 in_cksum.c \ print-802_11.c print-802_15_4.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-carp.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-forces.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-ppi.c print-ppp.c print-pppoe.c print-pptp.c \ print-radius.c print-raw.c print-rip.c print-rpki-rtr.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-tipc.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-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) $(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) $(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 \ ppi.h \ ppp.h \ route6d.h \ rpc_auth.h \ rpc_msg.h \ rx.h \ sctpConstants.h \ sctpHeader.h \ setsignal.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 \ /usr/include/net/if_arp.h \ /usr/include/net/slip.h \ /usr/include/netinet/if_ether.h \ /usr/include/netinet/in.h \ /usr/include/netinet/ip_icmp.h \ /usr/include/netinet/tcp.h \ /usr/include/netinet/udp.h \ /usr/include/protocols/routed.h 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/dlnames.c \ missing/datalinks.c \ missing/getnameinfo.c \ missing/inet_aton.c \ missing/inet_ntop.c \ missing/inet_pton.c \ 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-babel.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.pcap \ tests/08-sunrise-sunset-aes.pcap \ tests/08-sunrise-sunset-esp2.pcap \ tests/QinQpacket.out \ tests/QinQpacket.pcap \ tests/QinQpacketv.out \ tests/TESTLIST \ tests/TESTonce \ tests/TESTrun.sh \ tests/babel.pcap \ tests/babel1.out \ tests/babel1v.out \ 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.pcap \ tests/empty.uu \ 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.pcap \ tests/forces1.out \ tests/forces1.pcap \ tests/forces1vvv.out \ tests/forces1vvvv.out \ tests/forces2v.out \ tests/forces2vv.out \ tests/forces3vvv.out \ tests/ikev2four.out \ tests/ikev2four.pcap \ tests/ikev2fourv.out \ tests/ikev2fourv4.out \ tests/ikev2pI2-secrets.txt \ tests/ikev2pI2.out \ tests/ikev2pI2.pcap \ tests/isakmp-delete-segfault.pcap \ tests/isakmp-identification-segfault.pcap \ tests/isakmp-pointer-loop.pcap \ tests/isakmp1.out \ tests/isakmp2.out \ tests/isakmp3.out \ tests/isakmp4.out \ tests/isakmp4500.pcap \ tests/isis-infinite-loop.pcap \ tests/ldp-infinite-loop.pcap \ tests/lmp.new \ tests/lmp.out \ tests/lmp.pcap \ tests/lmp.sh \ tests/lspping-fec-ldp.pcap \ tests/lspping-fec-rsvp.pcap \ tests/mpls-ldp-hello.out \ tests/mpls-ldp-hello.pcap \ tests/mpls-traceroute.pcap \ tests/ospf-gmpls.out \ tests/ospf-gmpls.pcap \ tests/pppoe.out \ tests/pppoe.pcap \ tests/print-A.out \ tests/print-AA.out \ tests/print-capX.out \ tests/print-capXX.out \ tests/print-flags.pcap \ tests/print-flags.sh \ tests/print-x.out \ tests/print-xx.out \ tests/rsvp-infinite-loop.pcap \ tests/sflow_multiple_counter_30_pdus.out \ tests/sflow_multiple_counter_30_pdus.pcap \ vfprintf.c \ win32/Include/bittypes.h \ win32/Include/errno.h \ win32/Include/getopt.h \ win32/Include/w32_fzs.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) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(LIBNETDISSECT): $(LIBNETDISSECT_OBJ) @rm -f $@ $(AR) cr $@ $(LIBNETDISSECT_OBJ) $(RANLIB) $@ datalinks.o: $(srcdir)/missing/datalinks.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c dlnames.o: $(srcdir)/missing/dlnames.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c getnameinfo.o: $(srcdir)/missing/getnameinfo.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getnameinfo.c getaddrinfo.o: $(srcdir)/missing/getaddrinfo.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getaddrinfo.c inet_pton.o: $(srcdir)/missing/inet_pton.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_pton.c inet_ntop.o: $(srcdir)/missing/inet_ntop.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_ntop.c inet_aton.o: $(srcdir)/missing/inet_aton.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_aton.c snprintf.o: $(srcdir)/missing/snprintf.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c strlcat.o: $(srcdir)/missing/strlcat.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c strlcpy.o: $(srcdir)/missing/strlcpy.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c strsep.o: $(srcdir)/missing/strsep.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c version.o: version.c $(CC) $(FULL_CFLAGS) -c version.c version.c: $(srcdir)/VERSION @rm -f $@ 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: 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) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1 uninstall: rm -f $(DESTDIR)$(sbindir)/$(PROG) rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1 lint: $(GENSRC) lint -hbxn $(SRC) | \ grep -v 'struct/union .* never defined' | \ grep -v 'possible pointer alignment problem' clean: 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 $(PROG).1 rm -rf autom4te.cache check: tcpdump (cd tests && ./TESTrun.sh) tags: $(TAGFILES) ctags -wtd $(TAGFILES) TAGS: $(TAGFILES) etags $(TAGFILES) releasetar: @cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \ 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)