Home | History | Annotate | Download | only in tcpdump
      1 #  Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
      2 # 	The Regents of the University of California.  All rights reserved.
      3 #
      4 #  Redistribution and use in source and binary forms, with or without
      5 #  modification, are permitted provided that: (1) source code distributions
      6 #  retain the above copyright notice and this paragraph in its entirety, (2)
      7 #  distributions including binary code include the above copyright notice and
      8 #  this paragraph in its entirety in the documentation or other materials
      9 #  provided with the distribution, and (3) all advertising materials mentioning
     10 #  features or use of this software display the following acknowledgement:
     11 #  ``This product includes software developed by the University of California,
     12 #  Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
     13 #  the University nor the names of its contributors may be used to endorse
     14 #  or promote products derived from this software without specific prior
     15 #  written permission.
     16 #  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
     17 #  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
     18 #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
     19 #
     20 # @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.293.2.7 2007/09/12 19:48:50 guy Exp $ (LBL)
     21 
     22 #
     23 # Various configurable paths (remember to edit Makefile.in, not Makefile)
     24 #
     25 
     26 # Top level hierarchy
     27 prefix = @prefix@
     28 exec_prefix = @exec_prefix@
     29 # Pathname of directory to install the binary
     30 sbindir = @sbindir@
     31 # Pathname of directory to install the man page
     32 mandir = @mandir@
     33 
     34 # VPATH
     35 srcdir = @srcdir@
     36 VPATH = @srcdir@
     37 
     38 #
     39 # You shouldn't need to edit anything below here.
     40 #
     41 
     42 CC = @CC@
     43 PROG = tcpdump
     44 CCOPT = @V_CCOPT@
     45 INCLS = -I. @V_INCLS@
     46 DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@
     47 
     48 # Standard CFLAGS
     49 CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
     50 
     51 # Standard LDFLAGS
     52 LDFLAGS = @LDFLAGS@
     53 
     54 # Standard LIBS
     55 LIBS = @LIBS@
     56 
     57 INSTALL = @INSTALL@
     58 INSTALL_PROGRAM = @INSTALL_PROGRAM@
     59 INSTALL_DATA = @INSTALL_DATA@
     60 
     61 # Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
     62 # Also, gcc does not remove the .o before forking 'as', which can be a
     63 # problem if you don't own the file but can write to the directory.
     64 .c.o:
     65 	@rm -f $@
     66 	$(CC) $(CFLAGS) -c $(srcdir)/$*.c
     67 
     68 CSRC =	addrtoname.c af.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \
     69         nlpid.c l2vpn.c machdep.c parsenfsfh.c \
     70 	print-802_11.c print-ap1394.c print-ah.c print-arcnet.c \
     71 	print-aodv.c print-arp.c print-ascii.c print-atalk.c print-atm.c \
     72 	print-beep.c print-bfd.c print-bgp.c print-bootp.c print-cdp.c \
     73 	print-chdlc.c print-cip.c print-cnfp.c print-dccp.c print-decnet.c \
     74 	print-domain.c print-dvmrp.c print-enc.c print-egp.c \
     75 	print-eap.c print-eigrp.c\
     76 	print-esp.c print-ether.c print-fddi.c print-fr.c \
     77 	print-gre.c print-hsrp.c print-icmp.c print-igmp.c \
     78 	print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c \
     79 	print-ipx.c print-isakmp.c print-isoclns.c print-juniper.c print-krb.c \
     80 	print-l2tp.c print-lane.c print-ldp.c print-llc.c \
     81         print-lmp.c print-lspping.c \
     82 	print-lwres.c print-mobile.c print-mpls.c print-msdp.c \
     83 	print-nfs.c print-ntp.c print-null.c print-olsr.c print-ospf.c \
     84 	print-pgm.c print-pim.c print-ppp.c print-pppoe.c \
     85 	print-pptp.c print-radius.c print-raw.c print-rip.c \
     86 	print-rsvp.c print-rx.c print-sctp.c print-sip.c print-sl.c print-sll.c \
     87 	print-slow.c print-snmp.c print-stp.c print-sunatm.c print-sunrpc.c \
     88 	print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.c \
     89 	print-timed.c print-token.c print-udp.c print-vjc.c print-vrrp.c \
     90 	print-wb.c print-zephyr.c setsignal.c tcpdump.c util.c
     91 
     92 LOCALSRC = @LOCALSRC@
     93 GENSRC = version.c
     94 LIBOBJS = @LIBOBJS@
     95 
     96 SRC =	$(CSRC) $(GENSRC) $(LOCALSRC)
     97 
     98 # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
     99 # hack the extra indirection
    100 OBJ =	$(CSRC:.c=.o) $(GENSRC:.c=.o) $(LOCALSRC:.c=.o) $(LIBOBJS)
    101 HDR =   addrtoname.h appletalk.h bootp.h cpack.h dccp.h decnet.h \
    102 	ethertype.h extract.h fddi.h gmt2local.h igrp.h interface.h \
    103 	ipx.h llc.h machdep.h mib.h nfsfh.h nfsv2.h ntp.h ospf.h \
    104 	setsignal.h \
    105 	gnuc.h ipsec_doi.h isakmp.h l2tp.h nameser.h \
    106 	netbios.h oakley.h ospf6.h pf.h ppp.h route6d.h
    107 
    108 TAGHDR = \
    109 	/usr/include/arpa/tftp.h \
    110 	/usr/include/net/if_arp.h \
    111 	/usr/include/net/slip.h \
    112 	/usr/include/netinet/if_ether.h \
    113 	/usr/include/netinet/in.h \
    114 	/usr/include/netinet/ip_icmp.h \
    115 	/usr/include/netinet/tcp.h \
    116 	/usr/include/netinet/udp.h \
    117 	/usr/include/protocols/routed.h
    118 
    119 TAGFILES = $(SRC) $(HDR) $(TAGHDR)
    120 
    121 CLEANFILES = $(PROG) $(OBJ) $(GENSRC)
    122 
    123 all: $(PROG)
    124 
    125 $(PROG): $(OBJ) @V_PCAPDEP@
    126 	@rm -f $@
    127 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
    128 
    129 datalinks.o: $(srcdir)/missing/datalinks.c
    130 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c
    131 dlnames.o: $(srcdir)/missing/dlnames.c
    132 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c
    133 getnameinfo.o: $(srcdir)/missing/getnameinfo.c
    134 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/getnameinfo.c
    135 getaddrinfo.o: $(srcdir)/missing/getaddrinfo.c
    136 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/getaddrinfo.c
    137 inet_pton.o: $(srcdir)/missing/inet_pton.c
    138 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/inet_pton.c
    139 inet_ntop.o: $(srcdir)/missing/inet_ntop.c
    140 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/inet_ntop.c
    141 inet_aton.o: $(srcdir)/missing/inet_aton.c
    142 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/inet_aton.c
    143 snprintf.o: $(srcdir)/missing/snprintf.c
    144 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
    145 strlcat.o: $(srcdir)/missing/strlcat.c
    146 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c
    147 strlcpy.o: $(srcdir)/missing/strlcpy.c
    148 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c
    149 strsep.o: $(srcdir)/missing/strsep.c
    150 	$(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c
    151 
    152 version.o: version.c
    153 	$(CC) $(CFLAGS) -c version.c
    154 
    155 version.c: $(srcdir)/VERSION
    156 	@rm -f $@
    157 	sed -e 's/.*/char version[] = "&";/' $(srcdir)/VERSION > $@
    158 
    159 install:
    160 	[ -d $(DESTDIR)$(sbindir) ] || \
    161 	    (mkdir -p $(DESTDIR)$(sbindir); chmod 755 $(DESTDIR)$(sbindir))
    162 	$(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
    163 	[ -d $(DESTDIR)$(mandir)/man1 ] || \
    164 	    (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1)
    165 	$(INSTALL_DATA) $(srcdir)/$(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1
    166 
    167 uninstall:
    168 	rm -f $(DESTDIR)$(sbindir)/$(PROG)
    169 	rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1
    170 
    171 lint: $(GENSRC)
    172 	lint -hbxn $(SRC) | \
    173 	    grep -v 'struct/union .* never defined' | \
    174 	    grep -v 'possible pointer alignment problem'
    175 
    176 clean:
    177 	rm -f $(CLEANFILES)
    178 
    179 distclean:
    180 	rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
    181 	    config.h gnuc.h os-proto.h stamp-h stamp-h.in
    182 
    183 tags: $(TAGFILES)
    184 	ctags -wtd $(TAGFILES)
    185 
    186 releasetar:
    187 	@cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \
    188 	   list="" ; make distclean; cd ..; mkdir -p n; cd n; ln -s ../$$dir $$name; \
    189 	   tar -c -z -f $$name.tar.gz $$name/. ;
    190 
    191 depend: $(GENSRC)
    192 	${srcdir}/mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC)
    193