Makefile.in revision 214518
117683Spst# Copyright (c) 1993, 1994, 1995, 1996 217683Spst# The Regents of the University of California. All rights reserved. 317683Spst# 417683Spst# Redistribution and use in source and binary forms, with or without 517683Spst# modification, are permitted provided that: (1) source code distributions 617683Spst# retain the above copyright notice and this paragraph in its entirety, (2) 717683Spst# distributions including binary code include the above copyright notice and 817683Spst# this paragraph in its entirety in the documentation or other materials 917683Spst# provided with the distribution, and (3) all advertising materials mentioning 1017683Spst# features or use of this software display the following acknowledgement: 1117683Spst# ``This product includes software developed by the University of California, 1217683Spst# Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 1317683Spst# the University nor the names of its contributors may be used to endorse 1417683Spst# or promote products derived from this software without specific prior 1517683Spst# written permission. 1617683Spst# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 1717683Spst# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 1817683Spst# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 1917683Spst# 20214518Srpaulo# @(#) $Header: /tcpdump/master/libpcap/Makefile.in,v 1.142 2008-11-22 17:30:24 guy Exp $ (LBL) 2117683Spst 2217683Spst# 2317683Spst# Various configurable paths (remember to edit Makefile.in, not Makefile) 2417683Spst# 2517683Spst 2617683Spst# Top level hierarchy 2717683Spstprefix = @prefix@ 2817683Spstexec_prefix = @exec_prefix@ 29190225Srpaulodatarootdir = @datarootdir@ 30190225Srpaulo# Pathname of directory to install the configure program 31190225Srpaulobindir = @bindir@ 3217683Spst# Pathname of directory to install the include files 3375107Sfennerincludedir = @includedir@ 3417683Spst# Pathname of directory to install the library 3575107Sfennerlibdir = @libdir@ 36190225Srpaulo# Pathname of directory to install the man pages 3775107Sfennermandir = @mandir@ 3817683Spst 3926175Sfenner# VPATH 4026175Sfennersrcdir = @srcdir@ 4126175SfennerVPATH = @srcdir@ 4226175Sfenner 4317683Spst# 4417683Spst# You shouldn't need to edit anything below. 4517683Spst# 4617683Spst 47214518SrpauloLD = /usr/bin/ld 4817683SpstCC = @CC@ 4917683SpstCCOPT = @V_CCOPT@ 5017683SpstINCLS = -I. @V_INCLS@ 51127664SbmsDEFS = @DEFS@ @V_DEFS@ 52214518SrpauloADDLOBJS = @ADDLOBJS@ 53214518SrpauloADDLARCHIVEOBJS = @ADDLARCHIVEOBJS@ 54214518SrpauloLIBS = @LIBS@ 55214518SrpauloLDFLAGS = @LDFLAGS@ 56146768SsamDYEXT = @DYEXT@ 57214518SrpauloV_RPATH_OPT = @V_RPATH_OPT@ 58172677SmlaierPROG=libpcap 5917683Spst 6017683Spst# Standard CFLAGS 6117683SpstCFLAGS = $(CCOPT) $(INCLS) $(DEFS) 6217683Spst 6317683SpstINSTALL = @INSTALL@ 6475107SfennerINSTALL_PROGRAM = @INSTALL_PROGRAM@ 6575107SfennerINSTALL_DATA = @INSTALL_DATA@ 6675107SfennerRANLIB = @RANLIB@ 6717683Spst 6817683Spst# 6917683Spst# Flex and bison allow you to specify the prefixes of the global symbols 7017683Spst# used by the generated parser. This allows programs to use lex/yacc 7117683Spst# and link against libpcap. If you don't have flex or bison, get them. 7217683Spst# 7317683SpstLEX = @V_LEX@ 7417683SpstYACC = @V_YACC@ 7517683Spst 7617683Spst# Explicitly define compilation rule since SunOS 4's make doesn't like gcc. 7717683Spst# Also, gcc does not remove the .o before forking 'as', which can be a 7817683Spst# problem if you don't own the file but can write to the directory. 7917683Spst.c.o: 8017683Spst @rm -f $@ 8126175Sfenner $(CC) $(CFLAGS) -c $(srcdir)/$*.c 8217683Spst 83214518SrpauloPSRC = pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @CAN_SRC@ 84127664SbmsFSRC = fad-@V_FINDALLDEVS@.c 85127664SbmsSSRC = @SSRC@ 86214518SrpauloCSRC = pcap.c inet.c gencode.c optimize.c nametoaddr.c etherent.c \ 87214518Srpaulo savefile.c sf-pcap.c sf-pcap-ng.c pcap-common.c \ 88214518Srpaulo bpf_image.c bpf_dump.c 89214518SrpauloGENSRC = scanner.c grammar.c bpf_filter.c version.c 9075107SfennerLIBOBJS = @LIBOBJS@ 9117683Spst 92127664SbmsSRC = $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(GENSRC) 9317683Spst 9417683Spst# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot 9517683Spst# hack the extra indirection 96127664SbmsOBJ = $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS) 97214518SrpauloPUBHDR = \ 98214518Srpaulo pcap.h \ 99214518Srpaulo pcap-bpf.h \ 100214518Srpaulo pcap-namedb.h \ 101214518Srpaulo pcap/bpf.h \ 102214518Srpaulo pcap/bluetooth.h \ 103214518Srpaulo pcap/ipnet.h \ 104214518Srpaulo pcap/namedb.h \ 105214518Srpaulo pcap/pcap.h \ 106214518Srpaulo pcap/sll.h \ 107214518Srpaulo pcap/vlan.h \ 108214518Srpaulo pcap/usb.h 109214518Srpaulo 110214518SrpauloHDR = $(PUBHDR) \ 111190225Srpaulo arcnet.h \ 112190225Srpaulo atmuni31.h \ 113190225Srpaulo ethertype.h \ 114190225Srpaulo gencode.h \ 115190225Srpaulo ieee80211.h \ 116190225Srpaulo llc.h \ 117190225Srpaulo nlpid.h \ 118214518Srpaulo pcap-common.h \ 119190225Srpaulo pcap-int.h \ 120190225Srpaulo pcap-stdinc.h \ 121190225Srpaulo ppp.h \ 122214518Srpaulo sf-pcap.h \ 123214518Srpaulo sf-pcap-ng.h \ 124190225Srpaulo sunatmpos.h 125190225Srpaulo 12617683SpstGENHDR = \ 127190225Srpaulo scanner.h tokdefs.h version.h 12817683Spst 12917683SpstTAGFILES = \ 130214518Srpaulo $(SRC) $(HDR) 13117683Spst 132214518SrpauloCLEANFILES = $(OBJ) libpcap.* filtertest findalldevstest selpolltest \ 133214518Srpaulo opentest $(PROG)-`cat $(srcdir)/VERSION`.tar.gz $(GENSRC) $(GENHDR) \ 134214518Srpaulo lex.yy.c pcap-config 13517683Spst 136190225SrpauloMAN1 = pcap-config.1 13739291Sfenner 138190225SrpauloMAN3PCAP_EXPAND = \ 139190225Srpaulo pcap.3pcap.in \ 140190225Srpaulo pcap_compile.3pcap.in \ 141190225Srpaulo pcap_datalink.3pcap.in \ 142190225Srpaulo pcap_dump_open.3pcap.in \ 143190225Srpaulo pcap_list_datalinks.3pcap.in \ 144190225Srpaulo pcap_open_dead.3pcap.in \ 145190225Srpaulo pcap_open_offline.3pcap.in 146190225Srpaulo 147190225SrpauloMAN3PCAP_NOEXPAND = \ 148190225Srpaulo pcap_activate.3pcap \ 149190225Srpaulo pcap_breakloop.3pcap \ 150190225Srpaulo pcap_can_set_rfmon.3pcap \ 151190225Srpaulo pcap_close.3pcap \ 152190225Srpaulo pcap_create.3pcap \ 153190225Srpaulo pcap_datalink_name_to_val.3pcap \ 154190225Srpaulo pcap_datalink_val_to_name.3pcap \ 155190225Srpaulo pcap_dump.3pcap \ 156190225Srpaulo pcap_dump_close.3pcap \ 157190225Srpaulo pcap_dump_file.3pcap \ 158190225Srpaulo pcap_dump_flush.3pcap \ 159190225Srpaulo pcap_dump_ftell.3pcap \ 160190225Srpaulo pcap_file.3pcap \ 161190225Srpaulo pcap_fileno.3pcap \ 162190225Srpaulo pcap_findalldevs.3pcap \ 163190225Srpaulo pcap_freealldevs.3pcap \ 164190225Srpaulo pcap_freecode.3pcap \ 165190225Srpaulo pcap_free_datalinks.3pcap \ 166190225Srpaulo pcap_get_selectable_fd.3pcap \ 167190225Srpaulo pcap_geterr.3pcap \ 168190225Srpaulo pcap_inject.3pcap \ 169190225Srpaulo pcap_is_swapped.3pcap \ 170190225Srpaulo pcap_lib_version.3pcap \ 171190225Srpaulo pcap_lookupdev.3pcap \ 172190225Srpaulo pcap_lookupnet.3pcap \ 173190225Srpaulo pcap_loop.3pcap \ 174190225Srpaulo pcap_major_version.3pcap \ 175190225Srpaulo pcap_next_ex.3pcap \ 176190225Srpaulo pcap_offline_filter.3pcap \ 177190225Srpaulo pcap_open_live.3pcap \ 178190225Srpaulo pcap_set_buffer_size.3pcap \ 179190225Srpaulo pcap_set_datalink.3pcap \ 180190225Srpaulo pcap_set_promisc.3pcap \ 181190225Srpaulo pcap_set_rfmon.3pcap \ 182190225Srpaulo pcap_set_snaplen.3pcap \ 183190225Srpaulo pcap_set_timeout.3pcap \ 184190225Srpaulo pcap_setdirection.3pcap \ 185190225Srpaulo pcap_setfilter.3pcap \ 186190225Srpaulo pcap_setnonblock.3pcap \ 187190225Srpaulo pcap_snapshot.3pcap \ 188190225Srpaulo pcap_stats.3pcap \ 189190225Srpaulo pcap_statustostr.3pcap \ 190190225Srpaulo pcap_strerror.3pcap 191190225Srpaulo 192190225SrpauloMAN3PCAP = $(MAN3PCAP_NOEXPAND) $(MAN3PCAP_EXPAND:.in=) 193190225Srpaulo 194190225SrpauloMANFILE = \ 195190225Srpaulo pcap-savefile.manfile.in 196190225Srpaulo 197190225SrpauloMANMISC = \ 198190225Srpaulo pcap-filter.manmisc.in \ 199190225Srpaulo pcap-linktype.manmisc.in 200190225Srpaulo 201190225SrpauloEXTRA_DIST = \ 202190225Srpaulo CHANGES \ 203190225Srpaulo ChmodBPF/ChmodBPF \ 204190225Srpaulo ChmodBPF/StartupParameters.plist \ 205190225Srpaulo CREDITS \ 206190225Srpaulo INSTALL.txt \ 207190225Srpaulo LICENSE \ 208190225Srpaulo Makefile.in \ 209190225Srpaulo README \ 210190225Srpaulo README.aix \ 211190225Srpaulo README.dag \ 212190225Srpaulo README.hpux \ 213190225Srpaulo README.linux \ 214190225Srpaulo README.macosx \ 215190225Srpaulo README.septel \ 216190225Srpaulo README.sita \ 217190225Srpaulo README.tru64 \ 218190225Srpaulo README.Win32 \ 219190225Srpaulo SUNOS4/nit_if.o.sparc \ 220190225Srpaulo SUNOS4/nit_if.o.sun3 \ 221190225Srpaulo SUNOS4/nit_if.o.sun4c.4.0.3c \ 222190225Srpaulo TODO \ 223190225Srpaulo VERSION \ 224190225Srpaulo aclocal.m4 \ 225190225Srpaulo bpf/net/bpf_filter.c \ 226190225Srpaulo chmod_bpf \ 227190225Srpaulo config.guess \ 228190225Srpaulo config.h.in \ 229190225Srpaulo config.sub \ 230190225Srpaulo configure \ 231190225Srpaulo configure.in \ 232190225Srpaulo dlpisubs.c \ 233190225Srpaulo dlpisubs.h \ 234190225Srpaulo fad-getad.c \ 235190225Srpaulo fad-gifc.c \ 236190225Srpaulo fad-glifc.c \ 237190225Srpaulo fad-null.c \ 238190225Srpaulo fad-sita.c \ 239190225Srpaulo fad-win32.c \ 240190225Srpaulo filtertest.c \ 241190225Srpaulo findalldevstest.c \ 242190225Srpaulo grammar.y \ 243190225Srpaulo install-sh \ 244190225Srpaulo lbl/os-aix4.h \ 245190225Srpaulo lbl/os-hpux11.h \ 246190225Srpaulo lbl/os-osf4.h \ 247190225Srpaulo lbl/os-osf5.h \ 248190225Srpaulo lbl/os-solaris2.h \ 249190225Srpaulo lbl/os-sunos4.h \ 250190225Srpaulo lbl/os-ultrix4.h \ 251190225Srpaulo missing/snprintf.c \ 252190225Srpaulo mkdep \ 253190225Srpaulo msdos/bin2c.c \ 254190225Srpaulo msdos/common.dj \ 255190225Srpaulo msdos/makefile \ 256190225Srpaulo msdos/makefile.dj \ 257190225Srpaulo msdos/makefile.wc \ 258190225Srpaulo msdos/ndis2.c \ 259190225Srpaulo msdos/ndis2.h \ 260190225Srpaulo msdos/ndis_0.asm \ 261190225Srpaulo msdos/pkt_rx0.asm \ 262190225Srpaulo msdos/pkt_rx1.s \ 263190225Srpaulo msdos/pktdrvr.c \ 264190225Srpaulo msdos/pktdrvr.h \ 265190225Srpaulo msdos/readme.dos \ 266214518Srpaulo opentest.c \ 267190225Srpaulo org.tcpdump.chmod_bpf.plist \ 268190225Srpaulo packaging/pcap.spec.in \ 269190225Srpaulo pcap-bpf.c \ 270190225Srpaulo pcap-bt-linux.c \ 271190225Srpaulo pcap-bt-linux.h \ 272214518Srpaulo pcap-can-linux.c \ 273214518Srpaulo pcap-can-linux.h \ 274190225Srpaulo pcap-config.in \ 275190225Srpaulo pcap-dag.c \ 276190225Srpaulo pcap-dag.h \ 277190225Srpaulo pcap-dlpi.c \ 278190225Srpaulo pcap-dos.c \ 279190225Srpaulo pcap-dos.h \ 280190225Srpaulo pcap-enet.c \ 281190225Srpaulo pcap-int.h \ 282190225Srpaulo pcap-libdlpi.c \ 283190225Srpaulo pcap-linux.c \ 284190225Srpaulo pcap-namedb.h \ 285190225Srpaulo pcap-nit.c \ 286190225Srpaulo pcap-null.c \ 287190225Srpaulo pcap-pf.c \ 288190225Srpaulo pcap-septel.c \ 289190225Srpaulo pcap-septel.h \ 290190225Srpaulo pcap-sita.h \ 291190225Srpaulo pcap-sita.c \ 292190225Srpaulo pcap-sita.html \ 293214518Srpaulo pcap-snf.c \ 294214518Srpaulo pcap-snf.h \ 295190225Srpaulo pcap-snit.c \ 296190225Srpaulo pcap-snoop.c \ 297190225Srpaulo pcap-usb-linux.c \ 298190225Srpaulo pcap-usb-linux.h \ 299190225Srpaulo pcap-win32.c \ 300190225Srpaulo runlex.sh \ 301190225Srpaulo scanner.l \ 302214518Srpaulo selpolltest.c \ 303190225Srpaulo Win32/Include/Gnuc.h \ 304190225Srpaulo Win32/Include/addrinfo.h \ 305190225Srpaulo Win32/Include/bittypes.h \ 306190225Srpaulo Win32/Include/cdecl_ext.h \ 307190225Srpaulo Win32/Include/inetprivate.h \ 308190225Srpaulo Win32/Include/ip6_misc.h \ 309190225Srpaulo Win32/Include/sockstorage.h \ 310190225Srpaulo Win32/Include/arpa/nameser.h \ 311190225Srpaulo Win32/Include/net/if.h \ 312190225Srpaulo Win32/Include/net/netdb.h \ 313190225Srpaulo Win32/Include/net/paths.h \ 314190225Srpaulo Win32/Prj/libpcap.dsp \ 315190225Srpaulo Win32/Prj/libpcap.dsw \ 316190225Srpaulo Win32/Src/ffs.c \ 317190225Srpaulo Win32/Src/gai_strerror.c \ 318190225Srpaulo Win32/Src/getaddrinfo.c \ 319190225Srpaulo Win32/Src/getnetbynm.c \ 320190225Srpaulo Win32/Src/getnetent.c \ 321190225Srpaulo Win32/Src/getopt.c \ 322190225Srpaulo Win32/Src/getservent.c \ 323190225Srpaulo Win32/Src/inet_aton.c \ 324190225Srpaulo Win32/Src/inet_net.c \ 325190225Srpaulo Win32/Src/inet_pton.c 326190225Srpaulo 327214518Srpauloall: libpcap.a shared pcap-config 328190225Srpaulo 32917683Spstlibpcap.a: $(OBJ) 33026175Sfenner @rm -f $@ 331214518Srpaulo ar rc $@ $(OBJ) $(ADDLARCHIVEOBJS) 33217683Spst $(RANLIB) $@ 33317683Spst 334146768Ssamshared: libpcap.$(DYEXT) 335146768Ssam 336146768Ssamlibpcap.so: $(OBJ) 337146768Ssam @rm -f $@ 338214518Srpaulo VER=`cat $(srcdir)/VERSION`; \ 339214518Srpaulo MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 340214518Srpaulo @V_SHLIB_CMD@ @V_SHLIB_OPT@ @V_SONAME_OPT@$@.$$MAJOR_VER $(LDFLAGS) \ 341214518Srpaulo -o $@.$$VER $(OBJ) $(ADDLOBJS) $(LIBS) 342146768Ssam 343190225Srpaulo# 344190225Srpaulo# The following rule succeeds, but the result is untested. 345190225Srpaulo# 346214518Srpaulo# In Mac OS X, the libpcap dylib has the name "libpcap.A.dylib", with 347214518Srpaulo# its full path as the install_name, and with the compatibility and 348214518Srpaulo# current version both set to 1. The compatibility version is set to 349214518Srpaulo# 1 so that programs built with a newer version of the library will run 350214518Srpaulo# against older versions; multi-platform software probably will fail if 351214518Srpaulo# it uses APIs added in the newer version, but Mac OS X-specific software 352214518Srpaulo# will use weak linking and check at run time whether those APIs are 353214518Srpaulo# available. 354190225Srpaulo# 355214518Srpaulo# We also use "A" as the major version, and 1 as the compatibility version, 356214518Srpaulo# but set the current version to the value in VERSION, with any non-numeric 357214518Srpaulo# stuff stripped off (the compatibility and current version must be of the 358214518Srpaulo# form X[.Y[.Z]], with Y and Z possibly absent, and with all components 359214518Srpaulo# numeric). 360214518Srpaulo# 361146768Ssamlibpcap.dylib: $(OBJ) 362146768Ssam rm -f libpcap*.dylib 363214518Srpaulo VER=`cat $(srcdir)/VERSION`; \ 364214518Srpaulo MAJOR_VER=A; \ 365214518Srpaulo COMPAT_VER=1; \ 366214518Srpaulo CURRENT_VER=`sed 's/[^0-9.].*$$//' $(srcdir)/VERSION`; \ 367214518Srpaulo $(CC) -dynamiclib -undefined error $(LDFLAGS) \ 368214518Srpaulo -o libpcap.$$VER.dylib $(OBJ) $(ADDLOBJS) $(LIBS) \ 369214518Srpaulo -install_name $(libdir)/libpcap.$$MAJOR_VER.dylib \ 370214518Srpaulo -compatibility_version $$COMPAT_VER \ 371214518Srpaulo -current_version $$CURRENT_VER 372146768Ssam 373214518Srpaulo# 374214518Srpaulo# The HP-UX linker manual says that the convention for a versioned library 375214518Srpaulo# is libXXX.{number}, not libXXX.sl.{number}. That appears to be the case 376214518Srpaulo# on at least one HP-UX 11.00 system; libXXX.sl is a symlink to 377214518Srpaulo# libXXX.{number}. 378214518Srpaulo# 379214518Srpaulo# The manual also says "library-level versioning" (think "sonames") was 380214518Srpaulo# added in HP-UX 10.0. 381214518Srpaulo# 382214518Srpaulo# XXX - this assumes we're using the HP linker, rather than the GNU 383214518Srpaulo# linker, even with GCC. 384214518Srpaulo# 385214518Srpaulolibpcap.sl: $(OBJ) 386214518Srpaulo @MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 387214518Srpaulo rm -f libpcap.$$MAJOR_VER 388214518Srpaulo MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 389214518Srpaulo ld -b $(LDFLAGS) -o libpcap.$$MAJOR_VER +h libpcap.$$MAJOR_VER \ 390214518Srpaulo $(OBJ) $(ADDLOBJS) $(LIBS) 391214518Srpaulo 392214518Srpaulo# 393214518Srpaulo# AIX is different from everybody else. A shared library is an archive 394214518Srpaulo# library with one or more shared-object components. We still build a 395214518Srpaulo# normal static archive library on AIX, for the benefit of the traditional 396214518Srpaulo# scheme of building libpcap and tcpdump in subdirectories of the 397214518Srpaulo# same directory, with tcpdump statically linked with the libpcap 398214518Srpaulo# in question, but we also build a shared library as "libpcap.shareda" 399214518Srpaulo# and install *it*, rather than the static library, as "libpcap.a". 400214518Srpaulo# 401214518Srpaulolibpcap.shareda: $(OBJ) 402214518Srpaulo @rm -f $@ shr.o 403214518Srpaulo $(CC) @V_SHLIB_OPT@ -o shr.o $(OBJ) $(ADDLOBJS) $(LDFLAGS) $(LIBS) 404214518Srpaulo ar rc $@ shr.o 405214518Srpaulo 406214518Srpaulo# 407214518Srpaulo# For platforms that don't support shared libraries (or on which we 408214518Srpaulo# don't support shared libraries). 409214518Srpaulo# 410214518Srpaulolibpcap.none: 411214518Srpaulo 41226175Sfennerscanner.c: $(srcdir)/scanner.l 41326175Sfenner @rm -f $@ 414214518Srpaulo $(srcdir)/runlex.sh $(LEX) -o$@ $< 41517683Spst 41617683Spstscanner.o: scanner.c tokdefs.h 41756889Sfenner $(CC) $(CFLAGS) -c scanner.c 41856889Sfenner 419127664Sbmspcap.o: version.h 420127664Sbms 42117683Spsttokdefs.h: grammar.c 42226175Sfennergrammar.c: $(srcdir)/grammar.y 42326175Sfenner @rm -f grammar.c tokdefs.h 42417683Spst $(YACC) -d $< 42517683Spst mv y.tab.c grammar.c 42617683Spst mv y.tab.h tokdefs.h 42717683Spst 42817683Spstgrammar.o: grammar.c 42926175Sfenner @rm -f $@ 43026175Sfenner $(CC) $(CFLAGS) -Dyylval=pcap_lval -c grammar.c 43117683Spst 43239291Sfennerversion.o: version.c 43356889Sfenner $(CC) $(CFLAGS) -c version.c 43456889Sfenner 435127664Sbmssnprintf.o: $(srcdir)/missing/snprintf.c 436127664Sbms $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c 43775107Sfenner 43839291Sfennerversion.c: $(srcdir)/VERSION 43939291Sfenner @rm -f $@ 440214518Srpaulo if grep GIT ${srcdir}/VERSION >/dev/null; then \ 441214518Srpaulo read ver <${srcdir}/VERSION; \ 442214518Srpaulo echo $$ver | tr -d '\012'; \ 443214518Srpaulo date +_%Y_%m_%d; \ 444214518Srpaulo else \ 445214518Srpaulo cat ${srcdir}/VERSION; \ 446214518Srpaulo fi | sed -e 's/.*/char pcap_version[] = "&";/' > $@ 44739291Sfenner 448127664Sbms# 449127664Sbms# NOTE: this really is supposed to be static; importing a string 450127664Sbms# from a shared library does not work very well on many 451127664Sbms# versions of UNIX (Solaris, Linux, and the BSDs, for example), 452127664Sbms# so we make the version string static and return it from 453127664Sbms# a function, which does work. 454127664Sbms# 455127664Sbmsversion.h: $(srcdir)/VERSION 456127664Sbms @rm -f $@ 457214518Srpaulo if grep GIT ${srcdir}/VERSION >/dev/null; then \ 458214518Srpaulo read ver <${srcdir}/VERSION; \ 459214518Srpaulo echo $$ver | tr -d '\012'; \ 460214518Srpaulo date +_%Y_%m_%d; \ 461214518Srpaulo else \ 462214518Srpaulo cat ${srcdir}/VERSION; \ 463214518Srpaulo fi | sed -e 's/.*/static const char pcap_version_string[] = "libpcap version &";/' > $@ 464127664Sbms 46575107Sfennerbpf_filter.c: $(srcdir)/bpf/net/bpf_filter.c 46675107Sfenner rm -f bpf_filter.c 46775107Sfenner ln -s $(srcdir)/bpf/net/bpf_filter.c bpf_filter.c 46856889Sfenner 46975107Sfennerbpf_filter.o: bpf_filter.c 47075107Sfenner $(CC) $(CFLAGS) -c bpf_filter.c 47117683Spst 472190225Srpaulo# 473190225Srpaulo# Generate the pcap-config script. 474190225Srpaulo# 475214518Srpaulopcap-config: $(srcdir)/pcap-config.in 476190225Srpaulo @rm -f $@ $@.tmp 477190225Srpaulo sed -e 's|@includedir[@]|$(includedir)|g' \ 478190225Srpaulo -e 's|@libdir[@]|$(libdir)|g' \ 479214518Srpaulo -e 's|@LIBS[@]|$(LIBS)|g' \ 480214518Srpaulo -e 's|@V_RPATH_OPT[@]|$(V_RPATH_OPT)|g' \ 481214518Srpaulo $(srcdir)/pcap-config.in >$@.tmp 482190225Srpaulo mv $@.tmp $@ 483190225Srpaulo chmod a+x $@ 484190225Srpaulo 485190225Srpaulo# 486190225Srpaulo# Test programs - not built by default, and not installed. 487190225Srpaulo# 488190225Srpaulofiltertest: filtertest.c libpcap.a 489214518Srpaulo $(CC) $(CFLAGS) -I. -L. -o filtertest $(srcdir)/filtertest.c libpcap.a $(LIBS) 490190225Srpaulo 491190225Srpaulofindalldevstest: findalldevstest.c libpcap.a 492214518Srpaulo $(CC) $(CFLAGS) -I. -L. -o findalldevstest $(srcdir)/findalldevstest.c libpcap.a $(LIBS) 493190225Srpaulo 494214518Srpauloselpolltest: selpolltest.c libpcap.a 495214518Srpaulo $(CC) $(CFLAGS) -I. -L. -o selpolltest $(srcdir)/selpolltest.c libpcap.a $(LIBS) 496214518Srpaulo 497214518Srpauloopentest: opentest.c libpcap.a 498214518Srpaulo $(CC) $(CFLAGS) -I. -L. -o opentest $(srcdir)/opentest.c libpcap.a $(LIBS) 499214518Srpaulo 500214518Srpauloinstall: install-shared install-archive pcap-config 50175107Sfenner [ -d $(DESTDIR)$(libdir) ] || \ 50275107Sfenner (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) 50375107Sfenner [ -d $(DESTDIR)$(includedir) ] || \ 50475107Sfenner (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir)) 505190225Srpaulo [ -d $(DESTDIR)$(includedir)/pcap ] || \ 506190225Srpaulo (mkdir -p $(DESTDIR)$(includedir)/pcap; chmod 755 $(DESTDIR)$(includedir)/pcap) 507190225Srpaulo [ -d $(DESTDIR)$(mandir)/man1 ] || \ 508190225Srpaulo (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1) 509190225Srpaulo [ -d $(DESTDIR)$(mandir)/man3 ] || \ 510190225Srpaulo (mkdir -p $(DESTDIR)$(mandir)/man3; chmod 755 $(DESTDIR)$(mandir)/man3) 511190225Srpaulo [ -d $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@ ] || \ 512190225Srpaulo (mkdir -p $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@; chmod 755 $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@) 513190225Srpaulo [ -d $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@ ] || \ 514190225Srpaulo (mkdir -p $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@; chmod 755 $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@) 515214518Srpaulo for i in $(PUBHDR); do \ 516214518Srpaulo $(INSTALL_DATA) $(srcdir)/$$i \ 517214518Srpaulo $(DESTDIR)$(includedir)/$$i; done 518214518Srpaulo [ -d $(DESTDIR)$(bindir) ] || \ 519214518Srpaulo (mkdir -p $(DESTDIR)$(bindir); chmod 755 $(DESTDIR)$(bindir)) 520190225Srpaulo $(INSTALL_PROGRAM) pcap-config $(DESTDIR)$(bindir)/pcap-config 521190225Srpaulo for i in $(MAN1); do \ 522190225Srpaulo $(INSTALL_DATA) $(srcdir)/$$i \ 523190225Srpaulo $(DESTDIR)$(mandir)/man1/$$i; done 524214518Srpaulo for i in $(MAN3PCAP_NOEXPAND); do \ 525190225Srpaulo $(INSTALL_DATA) $(srcdir)/$$i \ 526190225Srpaulo $(DESTDIR)$(mandir)/man3/$$i; done 527214518Srpaulo for i in $(MAN3PCAP_EXPAND:.in=); do \ 528214518Srpaulo $(INSTALL_DATA) $$i \ 529214518Srpaulo $(DESTDIR)$(mandir)/man3/$$i; done 530214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_datalink_val_to_description.3pcap 531190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_datalink_val_to_name.3pcap \ 532190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_datalink_val_to_description.3pcap 533214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_dump_fopen.3pcap 534190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_dump_open.3pcap \ 535190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_dump_fopen.3pcap 536214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_perror.3pcap 537190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_geterr.3pcap \ 538190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_perror.3pcap 539214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_sendpacket.3pcap 540190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_inject.3pcap \ 541190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_sendpacket.3pcap 542214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_dispatch.3pcap 543190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_loop.3pcap \ 544190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_dispatch.3pcap 545214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_minor_version.3pcap 546190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_major_version.3pcap \ 547190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_minor_version.3pcap 548214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_next.3pcap 549190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_next_ex.3pcap \ 550190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_next.3pcap 551214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_fopen_offline.3pcap 552190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_open_offline.3pcap \ 553190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_fopen_offline.3pcap 554214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_getnonblock.3pcap 555190225Srpaulo ln $(DESTDIR)$(mandir)/man3/pcap_setnonblock.3pcap \ 556190225Srpaulo $(DESTDIR)$(mandir)/man3/pcap_getnonblock.3pcap 557190225Srpaulo for i in $(MANFILE); do \ 558214518Srpaulo $(INSTALL_DATA) `echo $$i | sed 's/.manfile.in/.manfile/'` \ 559190225Srpaulo $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@/`echo $$i | sed 's/.manfile.in/.@MAN_FILE_FORMATS@/'`; done 560190225Srpaulo for i in $(MANMISC); do \ 561214518Srpaulo $(INSTALL_DATA) `echo $$i | sed 's/.manmisc.in/.manmisc/'` \ 562190225Srpaulo $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done 56317683Spst 564146768Ssaminstall-shared: install-shared-$(DYEXT) 565146768Ssaminstall-shared-so: libpcap.so 566214518Srpaulo [ -d $(DESTDIR)$(libdir) ] || \ 567214518Srpaulo (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) 568214518Srpaulo VER=`cat $(srcdir)/VERSION`; \ 569214518Srpaulo MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 570214518Srpaulo $(INSTALL_PROGRAM) libpcap.so.$$VER $(DESTDIR)$(libdir)/libpcap.so.$$VER; \ 571214518Srpaulo ln -sf libpcap.so.$$VER $(DESTDIR)$(libdir)/libpcap.so.$$MAJOR_VER; \ 572214518Srpaulo ln -sf libpcap.so.$$MAJOR_VER $(DESTDIR)$(libdir)/libpcap.so 573146768Ssaminstall-shared-dylib: libpcap.dylib 574214518Srpaulo [ -d $(DESTDIR)$(libdir) ] || \ 575214518Srpaulo (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) 576214518Srpaulo VER=`cat $(srcdir)/VERSION`; \ 577214518Srpaulo MAJOR_VER=A; \ 578214518Srpaulo $(INSTALL_PROGRAM) libpcap.$$VER.dylib $(DESTDIR)$(libdir)/libpcap.$$VER.dylib; \ 579214518Srpaulo ln -sf libpcap.$$VER.dylib $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER.dylib; \ 580214518Srpaulo ln -sf libpcap.$$MAJOR_VER.dylib $(DESTDIR)$(libdir)/libpcap.dylib 581214518Srpauloinstall-shared-sl: libpcap.sl 582214518Srpaulo [ -d $(DESTDIR)$(libdir) ] || \ 583214518Srpaulo (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) 584214518Srpaulo MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 585214518Srpaulo $(INSTALL_PROGRAM) libpcap.$$MAJOR_VER $(DESTDIR)$(libdir) 586214518Srpaulo ln -sf libpcap.$$MAJOR_VER $(DESTDIR)$(libdir)/libpcap.sl 587214518Srpauloinstall-shared-shareda: libpcap.shareda 588214518Srpaulo # 589214518Srpaulo # AIX shared libraries are weird. They're archive libraries 590214518Srpaulo # with one or more shared object components. 591214518Srpaulo # 592214518Srpaulo [ -d $(DESTDIR)$(libdir) ] || \ 593214518Srpaulo (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) 594214518Srpaulo $(INSTALL_PROGRAM) libpcap.shareda $(DESTDIR)$(libdir)/libpcap.a 595214518Srpauloinstall-shared-none: 596146768Ssam 597214518Srpauloinstall-archive: install-archive-$(DYEXT) 598214518Srpauloinstall-archive-so install-archive-dylib install-archive-sl install-archive-none: libpcap.a 599214518Srpaulo # 600214518Srpaulo # Most platforms have separate suffixes for shared and 601214518Srpaulo # archive libraries, so we install both. 602214518Srpaulo # 603214518Srpaulo [ -d $(DESTDIR)$(libdir) ] || \ 604214518Srpaulo (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) 605214518Srpaulo $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a 606214518Srpaulo $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a 607214518Srpauloinstall-archive-shareda: 608214518Srpaulo # 609214518Srpaulo # AIX, however, doesn't, so we don't install the archive 610214518Srpaulo # library on AIX. 611214518Srpaulo # 612214518Srpaulo 613214518Srpaulouninstall: uninstall-shared 61475107Sfenner rm -f $(DESTDIR)$(libdir)/libpcap.a 615214518Srpaulo for i in $(PUBHDR); do \ 616214518Srpaulo rm -f $(DESTDIR)$(includedir)/$$i; done 617190225Srpaulo -rmdir $(DESTDIR)$(includedir)/pcap 618214518Srpaulo rm -f $(DESTDIR)/$(bindir)/pcap-config 619190225Srpaulo for i in $(MAN1); do \ 620190225Srpaulo rm -f $(DESTDIR)$(mandir)/man1/$$i; done 621190225Srpaulo for i in $(MAN3PCAP); do \ 622190225Srpaulo rm -f $(DESTDIR)$(mandir)/man3/$$i; done 623214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_datalink_val_to_description.3pcap 624214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_dump_fopen.3pcap 625214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_perror.3pcap 626214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_sendpacket.3pcap 627214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_dispatch.3pcap 628214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_minor_version.3pcap 629214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_next.3pcap 630214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_fopen_offline.3pcap 631214518Srpaulo rm -f $(DESTDIR)$(mandir)/man3/pcap_getnonblock.3pcap 632190225Srpaulo for i in $(MANFILE); do \ 633190225Srpaulo rm -f $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@/`echo $$i | sed 's/.manfile.in/.@MAN_FILE_FORMATS@/'`; done 634190225Srpaulo for i in $(MANMISC); do \ 635190225Srpaulo rm -f $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done 63617683Spst 637214518Srpaulouninstall-shared: uninstall-shared-$(DYEXT) 638214518Srpaulouninstall-shared-so: 639214518Srpaulo VER=`cat $(srcdir)/VERSION`; \ 640214518Srpaulo MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 641214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.so.$$VER; \ 642214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.so.$$MAJOR_VER; \ 643214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.so 644214518Srpaulouninstall-shared-dylib: 645214518Srpaulo VER=`cat $(srcdir)/VERSION`; \ 646214518Srpaulo MAJOR_VER=A; \ 647214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.$$VER.dylib; \ 648214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER.dylib; \ 649214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.dylib 650214518Srpaulouninstall-shared-sl: 651214518Srpaulo MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ 652214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER; \ 653214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.sl 654214518Srpaulouninstall-shared-shareda: 655214518Srpaulo rm -f $(DESTDIR)$(libdir)/libpcap.a 656214518Srpaulouninstall-shared-none: 657214518Srpaulo 65817683Spstclean: 659214518Srpaulo rm -f $(CLEANFILES) 66017683Spst 661146768Ssamdistclean: clean 662146768Ssam rm -f Makefile config.cache config.log config.status \ 663190225Srpaulo config.h gnuc.h os-proto.h bpf_filter.c pcap-config \ 664190225Srpaulo stamp-h stamp-h.in 665190225Srpaulo rm -f $(MAN3PCAP_EXPAND:.in=) $(MANFILE:.in=) $(MANMISC:.in=) 666146768Ssam rm -rf autom4te.cache 66717683Spst 66817683Spsttags: $(TAGFILES) 66917683Spst ctags -wtd $(TAGFILES) 67017683Spst 671146768Ssampackaging/pcap.spec: packaging/pcap.spec.in VERSION 672146768Ssam RPMVERSION=`cat VERSION | sed s/-.*//g`; \ 673146768Ssam sed -e s/@VERSION@/$$RPMVERSION/ -e s/@NAME@/libpcap-`cat VERSION`/ $< > $@ 674146768Ssam 675214518Srpauloreleasetar: 676172677Smlaier @cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \ 677190225Srpaulo mkdir $$name; \ 678190225Srpaulo tar cf - $(CSRC) $(HDR) $(MAN1) $(MAN3PCAP_EXPAND) \ 679190225Srpaulo $(MAN3PCAP_NOEXPAND) $(MANFILE) $(MANMISC) $(EXTRA_DIST) | \ 680190225Srpaulo (cd $$name; tar xf -); \ 681190225Srpaulo tar -c -z -f $$name.tar.gz $$name; \ 682190225Srpaulo rm -rf $$name 68317683Spst 684127664Sbmsdepend: $(GENSRC) $(GENHDR) bpf_filter.c 68517683Spst ./mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC) 686146768Ssam 687146768SsamMakefile: Makefile.in config.status 688146768Ssam ./config.status 689146768Ssam @echo your Makefile was out of date, now run $(MAKE) again 690146768Ssam exit 1 691