Makefile.in revision 26180
1#  Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996
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: Makefile.in,v 1.198 96/12/05 22:12:11 leres Exp $ (LBL)
21
22#
23# Various configurable paths (remember to edit Makefile.in, not Makefile)
24#
25
26# Top level hierarchy
27prefix = @prefix@
28exec_prefix = @exec_prefix@
29# Pathname of directory to install the binary
30BINDEST = @sbindir@
31# Pathname of directory to install the man page
32MANDEST = @mandir@
33
34# VPATH
35srcdir = @srcdir@
36VPATH = @srcdir@
37
38#
39# You shouldn't need to edit anything below here.
40#
41
42CC = @CC@
43CCOPT = @V_CCOPT@
44INCLS = -I. @V_INCLS@
45DEFS = @DEFS@ -DPPP -DHAVE_FDDI
46
47# Standard CFLAGS
48CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
49
50# Standard LIBS
51LIBS = @LIBS@
52
53INSTALL = @INSTALL@
54
55# Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
56# Also, gcc does not remove the .o before forking 'as', which can be a
57# problem if you don't own the file but can write to the directory.
58.c.o:
59	@rm -f $@
60	$(CC) $(CFLAGS) -c $(srcdir)/$*.c
61
62CSRC =	tcpdump.c \
63	print-arp.c print-atalk.c print-atm.c print-bootp.c \
64	print-decnet.c print-domain.c print-dvmrp.c print-egp.c \
65	print-ether.c print-fddi.c print-gre.c print-icmp.c \
66	print-igrp.c print-ip.c print-ipx.c print-isoclns.c print-krb.c \
67	print-llc.c print-nfs.c print-ntp.c print-null.c print-ospf.c \
68	print-pim.c print-ppp.c print-rip.c print-sl.c print-snmp.c \
69	print-sunrpc.c print-tcp.c print-tftp.c print-udp.c print-wb.c \
70	addrtoname.c bpf_dump.c machdep.c parsenfsfh.c util.c
71LOCALSRC =
72GENSRC = version.c
73
74SRC =	$(CSRC) $(GENSRC) $(LOCALSRC)
75
76# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
77# hack the extra indirection
78OBJ =	$(CSRC:.c=.o) $(GENSRC:.c=.o) $(LOCALSRC:.c=.o) @LIBOBJS@
79HDR =   addrtoname.h appletalk.h bootp.h decnet.h \
80	ethertype.h extract.h fddi.h interface.h igrp.h ipx.h \
81	llc.h machdep.h mib.h nfsfh.h nfsv2.h ntp.h ospf.h
82
83TAGHDR = \
84	/usr/include/arpa/tftp.h \
85	/usr/include/net/if_arp.h \
86	/usr/include/net/slip.h \
87	/usr/include/netinet/if_ether.h \
88	/usr/include/netinet/in.h \
89	/usr/include/netinet/ip_icmp.h \
90	/usr/include/netinet/tcp.h \
91	/usr/include/netinet/udp.h \
92	/usr/include/protocols/routed.h
93
94TAGFILES = $(SRC) $(HDR) $(TAGHDR)
95
96CLEANFILES = $(OBJ) tcpdump $(GENSRC)
97
98tcpdump: $(OBJ) @V_PCAPDEP@
99	@rm -f $@
100	$(CC) $(CFLAGS) -o $@ $(OBJ) $(LIBS)
101
102version.o: version.c
103version.c: $(srcdir)/VERSION
104	@rm -f $@
105	sed -e 's/.*/char version[] = "&";/' $(srcdir)/VERSION > $@
106
107install: force
108	$(INSTALL) -m 550 -o bin -g @V_GROUP@ tcpdump $(DESTDIR)$(BINDEST)
109
110install-man: force
111	$(INSTALL) -m 444 -o bin -g bin $(srcdir)/tcpdump.1 \
112	    $(DESTDIR)$(MANDEST)/man1
113
114lint:	$(GENSRC) force
115	lint -hbxn $(SRC) | \
116	    grep -v 'struct/union .* never defined' | \
117	    grep -v 'possible pointer alignment problem'
118
119clean:
120	rm -f $(CLEANFILES)
121
122distclean:
123	rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
124	    gnuc.h os-proto.h
125
126tags:	$(TAGFILES)
127	ctags -wtd $(TAGFILES)
128
129tar:	force
130	@cwd=`pwd` ; dir=`basename $$cwd` ; name=tcpdump-`cat VERSION` ; \
131	    list="" ; tar="tar chFFf" ; \
132	    for i in `cat FILES` ; do list="$$list $$name/$$i" ; done; \
133	    echo \
134	    "rm -f ../$$name; ln -s $$dir ../$$name" ; \
135	     rm -f ../$$name; ln -s $$dir ../$$name ; \
136	    echo \
137	    "(cd .. ; $$tar - [lots of files]) | compress > /tmp/$$name.tar.Z" ; \
138	     (cd .. ; $$tar - $$list) | compress > /tmp/$$name.tar.Z ; \
139	    echo \
140	    "rm -f ../$$name" ; \
141	     rm -f ../$$name
142
143force:	/tmp
144depend:	$(GENSRC) force
145	./mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC)
146