]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libpcap/Makefile.in
This commit was generated by cvs2svn to compensate for changes in r146525,
[FreeBSD/FreeBSD.git] / contrib / libpcap / Makefile.in
1 #  Copyright (c) 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: /tcpdump/master/libpcap/Makefile.in,v 1.96.2.1 2003/12/15 01:42:23 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 include files
30 includedir = @includedir@
31 # Pathname of directory to install the library
32 libdir =  @libdir@
33 # Pathname of directory to install the man page
34 mandir = @mandir@
35
36 # VPATH
37 srcdir = @srcdir@
38 VPATH = @srcdir@
39
40 #
41 # You shouldn't need to edit anything below.
42 #
43
44 CC = @CC@
45 CCOPT = @V_CCOPT@
46 INCLS = -I. @V_INCLS@
47 DEFS = @DEFS@ @V_DEFS@
48 LIBS = @V_LIBS@
49
50 # Standard CFLAGS
51 CFLAGS = $(CCOPT) $(INCLS) $(DEFS)
52
53 INSTALL = @INSTALL@
54 INSTALL_PROGRAM = @INSTALL_PROGRAM@
55 INSTALL_DATA = @INSTALL_DATA@
56 RANLIB = @RANLIB@
57
58 #
59 # Flex and bison allow you to specify the prefixes of the global symbols
60 # used by the generated parser.  This allows programs to use lex/yacc
61 # and link against libpcap.  If you don't have flex or bison, get them.
62 #
63 LEX = @V_LEX@
64 YACC = @V_YACC@
65
66 # Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
67 # Also, gcc does not remove the .o before forking 'as', which can be a
68 # problem if you don't own the file but can write to the directory.
69 .c.o:
70         @rm -f $@
71         $(CC) $(CFLAGS) -c $(srcdir)/$*.c
72
73 PSRC =  pcap-@V_PCAP@.c
74 FSRC =  fad-@V_FINDALLDEVS@.c
75 SSRC =  @SSRC@
76 CSRC =  pcap.c inet.c gencode.c optimize.c nametoaddr.c \
77         etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c
78 GENSRC = scanner.c grammar.c version.c
79 LIBOBJS = @LIBOBJS@
80
81 SRC =   $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(GENSRC)
82
83 # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
84 # hack the extra indirection
85 OBJ =   $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS)
86 HDR =   pcap.h pcap-int.h pcap-namedb.h pcap-nit.h pcap-pf.h \
87         ethertype.h gencode.h gnuc.h
88 GENHDR = \
89         tokdefs.h version.h
90
91 TAGHDR = \
92         pcap-bpf.h
93
94 TAGFILES = \
95         $(SRC) $(HDR) $(TAGHDR)
96
97 CLEANFILES = $(OBJ) libpcap.a $(GENSRC) $(GENHDR) lex.yy.c
98
99 all: libpcap.a
100
101 libpcap.a: $(OBJ)
102         @rm -f $@
103         ar rc $@ $(OBJ) $(LIBS)
104         $(RANLIB) $@
105
106 scanner.c: $(srcdir)/scanner.l
107         @rm -f $@
108         $(LEX) -t $< > $$$$.$@; mv $$$$.$@ $@
109
110 scanner.o: scanner.c tokdefs.h
111         $(CC) $(CFLAGS) -c scanner.c
112
113 pcap.o: version.h
114
115 tokdefs.h: grammar.c
116 grammar.c: $(srcdir)/grammar.y
117         @rm -f grammar.c tokdefs.h
118         $(YACC) -d $<
119         mv y.tab.c grammar.c
120         mv y.tab.h tokdefs.h
121
122 grammar.o: grammar.c
123         @rm -f $@
124         $(CC) $(CFLAGS) -Dyylval=pcap_lval -c grammar.c
125
126 version.o: version.c
127         $(CC) $(CFLAGS) -c version.c
128
129 snprintf.o: $(srcdir)/missing/snprintf.c
130         $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
131
132 version.c: $(srcdir)/VERSION
133         @rm -f $@
134         sed -e 's/.*/char pcap_version[] = "&";/' $(srcdir)/VERSION > $@
135
136 #
137 # NOTE: this really is supposed to be static; importing a string
138 # from a shared library does not work very well on many
139 # versions of UNIX (Solaris, Linux, and the BSDs, for example),
140 # so we make the version string static and return it from
141 # a function, which does work.
142 #
143 version.h: $(srcdir)/VERSION
144         @rm -f $@
145         sed -e 's/.*/static const char pcap_version_string[] = "libpcap version &";/' $(srcdir)/VERSION > $@
146
147 bpf_filter.c: $(srcdir)/bpf/net/bpf_filter.c
148         rm -f bpf_filter.c
149         ln -s $(srcdir)/bpf/net/bpf_filter.c bpf_filter.c
150
151 bpf_filter.o: bpf_filter.c
152         $(CC) $(CFLAGS) -c bpf_filter.c
153
154 install:
155         [ -d $(DESTDIR)$(libdir) ] || \
156             (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
157         $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a
158         $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a
159         [ -d $(DESTDIR)$(includedir) ] || \
160             (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir))
161         $(INSTALL_DATA) $(srcdir)/pcap.h $(DESTDIR)$(includedir)/pcap.h
162         $(INSTALL_DATA) $(srcdir)/pcap-bpf.h \
163             $(DESTDIR)$(includedir)/pcap-bpf.h
164         $(INSTALL_DATA) $(srcdir)/pcap-namedb.h \
165             $(DESTDIR)$(includedir)/pcap-namedb.h
166         [ -d $(DESTDIR)$(mandir)/man3 ] || \
167                 (mkdir -p $(DESTDIR)$(mandir)/man3; chmod 755 $(DESTDIR)$(mandir)/man3)
168         $(INSTALL_DATA) $(srcdir)/pcap.3 \
169             $(DESTDIR)$(mandir)/man3/pcap.3
170
171 uninstall:
172         rm -f $(DESTDIR)$(libdir)/libpcap.a
173         rm -f $(DESTDIR)$(includedir)/pcap.h
174         rm -f $(DESTDIR)$(includedir)/pcap-bpf.h
175         rm -f $(DESTDIR)$(includedir)/pcap-namedb.h
176         rm -f $(DESTDIR)$(mandir)/man3/pcap.3
177
178 clean:
179         rm -f $(CLEANFILES)
180
181 distclean:
182         rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
183             config.h gnuc.h os-proto.h bpf_filter.c stamp-h stamp-h.in
184
185 tags: $(TAGFILES)
186         ctags -wtd $(TAGFILES)
187
188 tar:
189         @cwd=`pwd` ; dir=`basename $$cwd` ; name=libpcap-`cat VERSION` ; \
190             list="" ; tar="tar chf" ; \
191             for i in `cat FILES` ; do list="$$list $$name/$$i" ; done; \
192             echo \
193             "rm -f ../$$name; ln -s $$dir ../$$name" ; \
194              rm -f ../$$name; ln -s $$dir ../$$name ; \
195             echo \
196             "(cd .. ; $$tar - [lots of files]) | compress > /tmp/$$name.tar.Z" ; \
197              (cd .. ; $$tar - $$list) | compress > /tmp/$$name.tar.Z ; \
198             echo \
199             "rm -f ../$$name" ; \
200              rm -f ../$$name
201
202 depend: $(GENSRC) $(GENHDR) bpf_filter.c
203         ./mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC)