]> The Tcpdump Group git mirrors - tcpdump/blob - Makefile.in
Merge remote-tracking branch 'mcrhub/master'
[tcpdump] / Makefile.in
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.325 2008-11-21 23:17:26 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 datarootdir = @datarootdir@
30 # Pathname of directory to install the binary
31 sbindir = @sbindir@
32 # Pathname of directory to install the man page
33 mandir = @mandir@
34
35 # VPATH
36 srcdir = @srcdir@
37 VPATH = @srcdir@
38
39 #
40 # You shouldn't need to edit anything below here.
41 #
42
43 CC = @CC@
44 MKDEP = @MKDEP@
45 PROG = tcpdump
46 CCOPT = @V_CCOPT@
47 INCLS = -I. @V_INCLS@
48 DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@
49
50 # Standard CFLAGS
51 CFLAGS = @CFLAGS@
52 FULL_CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(CFLAGS)
53
54 # Standard LDFLAGS
55 LDFLAGS = @LDFLAGS@
56
57 # Standard LIBS
58 LIBS = @LIBS@
59
60 INSTALL = @INSTALL@
61 INSTALL_PROGRAM = @INSTALL_PROGRAM@
62 INSTALL_DATA = @INSTALL_DATA@
63 RANLIB = @RANLIB@
64
65 DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
66
67 # Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
68 # Also, gcc does not remove the .o before forking 'as', which can be a
69 # problem if you don't own the file but can write to the directory.
70 .c.o:
71 @rm -f $@
72 $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c
73
74 CSRC = addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \
75 nlpid.c l2vpn.c machdep.c parsenfsfh.c in_cksum.c \
76 print-802_11.c print-802_15_4.c print-ap1394.c print-ah.c \
77 print-arcnet.c print-aodv.c print-arp.c print-ascii.c print-atalk.c \
78 print-atm.c print-beep.c print-bfd.c print-bgp.c \
79 print-bootp.c print-bt.c print-carp.c print-cdp.c print-cfm.c \
80 print-chdlc.c print-cip.c print-cnfp.c print-dccp.c print-decnet.c \
81 print-domain.c print-dtp.c print-dvmrp.c print-enc.c print-egp.c \
82 print-eap.c print-eigrp.c\
83 print-esp.c print-ether.c print-fddi.c print-forces.c print-fr.c \
84 print-gre.c print-hsrp.c print-icmp.c print-igmp.c \
85 print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c print-ipnet.c \
86 print-ipx.c print-isoclns.c print-juniper.c print-krb.c \
87 print-l2tp.c print-lane.c print-ldp.c print-lldp.c print-llc.c \
88 print-lmp.c print-lspping.c print-lwapp.c \
89 print-lwres.c print-mobile.c print-mpcp.c print-mpls.c print-mptcp.c print-msdp.c \
90 print-msnlb.c print-nfs.c print-ntp.c print-null.c print-nflog.c \
91 print-olsr.c print-ospf.c \
92 print-pgm.c print-pim.c \
93 print-ppi.c print-ppp.c print-pppoe.c print-pptp.c \
94 print-radius.c print-raw.c print-rip.c print-rpki-rtr.c print-rrcp.c print-rsvp.c \
95 print-rx.c print-sctp.c print-sflow.c print-sip.c print-sl.c print-sll.c \
96 print-slow.c print-snmp.c print-stp.c print-sunatm.c print-sunrpc.c \
97 print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.c \
98 print-timed.c print-tipc.c print-token.c print-udld.c print-udp.c \
99 print-usb.c print-vjc.c print-vqp.c print-vrrp.c print-vtp.c \
100 print-wb.c print-zephyr.c print-zeromq.c print-vxlan.c print-otv.c signature.c setsignal.c tcpdump.c util.c
101
102 LIBNETDISSECT_SRC=print-isakmp.c
103 LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o)
104 LIBNETDISSECT=libnetdissect.a
105
106 LOCALSRC = @LOCALSRC@
107 GENSRC = version.c
108 LIBOBJS = @LIBOBJS@
109
110 SRC = $(CSRC) $(GENSRC) $(LOCALSRC) $(LIBNETDISSECT_SRC)
111
112 # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
113 # hack the extra indirection
114 OBJ = $(CSRC:.c=.o) $(GENSRC:.c=.o) $(LOCALSRC:.c=.o) $(LIBOBJS) $(LIBNETDISSECT_OBJ)
115 HDR = \
116 addrtoname.h \
117 af.h \
118 ah.h \
119 aodv.h \
120 appletalk.h \
121 arcnet.h \
122 atm.h \
123 atmuni31.h \
124 bootp.h \
125 bgp.h \
126 chdlc.h \
127 cpack.h \
128 dccp.h \
129 decnet.h \
130 decode_prefix.h \
131 enc.h \
132 esp.h \
133 ether.h \
134 ethertype.h \
135 extract.h \
136 fddi.h \
137 forces.h \
138 gmpls.h \
139 gmt2local.h \
140 icmp6.h \
141 ieee802_11.h \
142 ieee802_11_radio.h \
143 igrp.h \
144 interface.h \
145 interface.h \
146 ip.h \
147 ip6.h \
148 ipfc.h \
149 ipnet.h \
150 ipproto.h \
151 ipsec_doi.h \
152 ipx.h \
153 isakmp.h \
154 l2tp.h \
155 l2vpn.h \
156 lane.h \
157 llc.h \
158 machdep.h \
159 mib.h \
160 mpls.h \
161 mptcp.h \
162 nameser.h \
163 netbios.h \
164 netdissect.h \
165 nfs.h \
166 nfsfh.h \
167 nlpid.h \
168 ntp.h \
169 oakley.h \
170 ospf.h \
171 ospf6.h \
172 oui.h \
173 pcap-missing.h \
174 pmap_prot.h \
175 ppi.h \
176 ppp.h \
177 route6d.h \
178 rpc_auth.h \
179 rpc_msg.h \
180 rx.h \
181 sctpConstants.h \
182 sctpHeader.h \
183 setsignal.h \
184 signature.h \
185 slcompress.h \
186 slip.h \
187 sll.h \
188 smb.h \
189 tcp.h \
190 tcpdump-stdinc.h \
191 telnet.h \
192 tftp.h \
193 timed.h \
194 token.h \
195 udp.h
196
197 TAGHDR = \
198 /usr/include/arpa/tftp.h \
199 /usr/include/net/if_arp.h \
200 /usr/include/net/slip.h \
201 /usr/include/netinet/if_ether.h \
202 /usr/include/netinet/in.h \
203 /usr/include/netinet/ip_icmp.h \
204 /usr/include/netinet/tcp.h \
205 /usr/include/netinet/udp.h \
206 /usr/include/protocols/routed.h
207
208 TAGFILES = $(SRC) $(HDR) $(TAGHDR)
209
210 CLEANFILES = $(PROG) $(OBJ) $(GENSRC)
211
212 EXTRA_DIST = \
213 CHANGES \
214 CREDITS \
215 INSTALL.txt \
216 LICENSE \
217 Makefile.in \
218 Makefile-devel-adds \
219 README \
220 Readme.Win32 \
221 VERSION \
222 aclocal.m4 \
223 atime.awk \
224 bpf_dump.c \
225 config.guess \
226 config.h.in \
227 config.sub \
228 configure \
229 configure.in \
230 install-sh \
231 lbl/os-osf4.h \
232 lbl/os-solaris2.h \
233 lbl/os-sunos4.h \
234 lbl/os-ultrix4.h \
235 makemib \
236 missing/addrinfo.h \
237 missing/dlnames.c \
238 missing/datalinks.c \
239 missing/getnameinfo.c \
240 missing/inet_aton.c \
241 missing/inet_ntop.c \
242 missing/inet_pton.c \
243 missing/snprintf.c \
244 missing/sockstorage.h \
245 missing/strdup.c \
246 missing/strlcat.c \
247 missing/strlcpy.c \
248 missing/strsep.c \
249 mkdep \
250 packetdat.awk \
251 pcap_dump_ftell.c \
252 print-babel.c \
253 print-dhcp6.c \
254 print-frag6.c \
255 print-icmp6.c \
256 print-ip6.c \
257 print-ip6opts.c \
258 print-mobility.c \
259 print-netbios.c \
260 print-ospf6.c \
261 print-pflog.c \
262 print-ripng.c \
263 print-rt6.c \
264 print-smb.c \
265 send-ack.awk \
266 smbutil.c \
267 stime.awk \
268 strcasecmp.c \
269 tcpdump.1.in \
270 vfprintf.c \
271 win32/Include/bittypes.h \
272 win32/Include/errno.h \
273 win32/Include/getopt.h \
274 win32/Include/w32_fzs.h \
275 win32/Src/getopt.c \
276 win32/prj/GNUmakefile \
277 win32/prj/WinDump.dsp \
278 win32/prj/WinDump.dsw
279
280 TEST_DIST= `find tests \( -name 'DIFF' -prune \) -o \( -name NEW -prune \) -o -type f \! -name '.*' \! -name '*~' -print`
281
282 all: $(PROG)
283
284 $(PROG): $(OBJ) @V_PCAPDEP@
285 @rm -f $@
286 $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
287
288 $(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
289 @rm -f $@
290 $(AR) cr $@ $(LIBNETDISSECT_OBJ)
291 $(RANLIB) $@
292
293 datalinks.o: $(srcdir)/missing/datalinks.c
294 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c
295 dlnames.o: $(srcdir)/missing/dlnames.c
296 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c
297 getnameinfo.o: $(srcdir)/missing/getnameinfo.c
298 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getnameinfo.c
299 getaddrinfo.o: $(srcdir)/missing/getaddrinfo.c
300 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getaddrinfo.c
301 inet_pton.o: $(srcdir)/missing/inet_pton.c
302 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_pton.c
303 inet_ntop.o: $(srcdir)/missing/inet_ntop.c
304 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_ntop.c
305 inet_aton.o: $(srcdir)/missing/inet_aton.c
306 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_aton.c
307 snprintf.o: $(srcdir)/missing/snprintf.c
308 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
309 strlcat.o: $(srcdir)/missing/strlcat.c
310 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c
311 strlcpy.o: $(srcdir)/missing/strlcpy.c
312 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c
313 strsep.o: $(srcdir)/missing/strsep.c
314 $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c
315
316 version.o: version.c
317 $(CC) $(FULL_CFLAGS) -c version.c
318
319 version.c: $(srcdir)/VERSION
320 @rm -f $@
321 if grep GIT ${srcdir}/VERSION >/dev/null; then \
322 read ver <${srcdir}/VERSION; \
323 echo $$ver | tr -d '\012'; \
324 date +_%Y_%m_%d; \
325 else \
326 cat ${srcdir}/VERSION; \
327 fi | sed -e 's/.*/const char version[] = "&";/' > $@
328
329 install: all
330 [ -d $(DESTDIR)$(sbindir) ] || \
331 (mkdir -p $(DESTDIR)$(sbindir); chmod 755 $(DESTDIR)$(sbindir))
332 $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
333 $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG).`cat ${srcdir}/VERSION`
334 [ -d $(DESTDIR)$(mandir)/man1 ] || \
335 (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1)
336 $(INSTALL_DATA) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1
337
338 uninstall:
339 rm -f $(DESTDIR)$(sbindir)/$(PROG)
340 rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1
341
342 lint: $(GENSRC)
343 lint -hbxn $(SRC) | \
344 grep -v 'struct/union .* never defined' | \
345 grep -v 'possible pointer alignment problem'
346
347 clean:
348 rm -f $(CLEANFILES) $(PROG)-`cat VERSION`.tar.gz
349
350 distclean:
351 rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
352 config.h gnuc.h os-proto.h stamp-h stamp-h.in $(PROG).1
353 rm -rf autom4te.cache
354
355 check: tcpdump
356 (cd tests && ./TESTrun.sh)
357
358 tags: $(TAGFILES)
359 ctags -wtd $(TAGFILES)
360
361 TAGS: $(TAGFILES)
362 etags $(TAGFILES)
363
364 releasetar:
365 @cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \
366 mkdir $$name; \
367 tar cf - $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST) | (cd $$name; tar xf -); \
368 tar -c -z -f $$name.tar.gz $$name; \
369 rm -rf $$name
370
371 testlist:
372 echo $(TEST_DIST)
373
374 depend: $(GENSRC)
375 $(MKDEP) -c $(CC) -m $(DEPENDENCY_CFLAG) $(DEFS) $(INCLS) $(SRC)