1 #############################################################
5 #############################################################
6 # Copyright (C) 2001-2003 by Erik Andersen <andersen@codepoet.org>
7 # Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU Library General Public License as
11 # published by the Free Software Foundation; either version 2 of the
12 # License, or (at your option) any later version.
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # Library General Public License for more details.
19 # You should have received a copy of the GNU Library General Public
20 # License along with this program; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
24 LIBPCAP_VERSION
:=0.9.8
25 LIBPCAP_DIR
:=$(BUILD_DIR
)/libpcap-
$(LIBPCAP_VERSION
)
26 LIBPCAP_SITE
:=http
://www.tcpdump.org
/release
27 LIBPCAP_SOURCE
:=libpcap-
$(LIBPCAP_VERSION
).
tar.gz
29 #default to dynamic lib for better reuse
31 ifeq ($(LIBPCAP_LIBEXT
),so
)
32 LIBPCAP_LIB_VERSION
:=.
$(LIBPCAP_VERSION
)
33 LIBPCAP_MAKE_TARGET
:=shared
35 LIBPCAP_LIB_VERSION
:=# empty
38 $(DL_DIR
)/$(LIBPCAP_SOURCE
):
39 $(WGET
) -P
$(DL_DIR
) $(LIBPCAP_SITE
)/$(LIBPCAP_SOURCE
)
41 $(LIBPCAP_DIR
)/.unpacked
: $(DL_DIR
)/$(LIBPCAP_SOURCE
)
42 $(LIBPCAP_CAT
) $(DL_DIR
)/$(LIBPCAP_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
44 rm -f
$(LIBPCAP_DIR
)/gencode.c.rej
$(LIBPCAP_DIR
)/libpcap-0.9
45 toolchain
/patch-kernel.sh
$(LIBPCAP_DIR
) package
/libpcap
/ \
*.patch
46 $(CONFIG_UPDATE
) $(@D
)
47 # alleged autoconf bug
48 $(SED
) 's/-O2//g' $(@D
)/configure
51 $(LIBPCAP_DIR
)/.configured
: $(LIBPCAP_DIR
)/.unpacked
52 (cd
$(LIBPCAP_DIR
); rm -rf config.cache
; \
53 V_LEX
="$(FLEX) -Ppcap_" \
54 V_YACC
="$(BISON) -y -p pcap_" \
55 ac_cv_prog_V_LEX
="$(FLEX) -Ppcap_" \
56 $(if
$(KERNEL_MAJORVERSION
),ac_cv_linux_vers
=$(KERNEL_MAJORVERSION
)) \
57 $(AUTO_CONFIGURE_TARGET
) \
59 --localstatedir
=/var \
60 --mandir=/usr
/share
/man \
61 --infodir=/usr
/share
/info \
64 --with-flex
="$(FLEX)" \
65 --with-bison
="$(BISON)" \
70 $(LIBPCAP_DIR
)/libpcap.
$(LIBPCAP_LIBEXT
)$(LIBPCAP_LIB_VERSION
): $(LIBPCAP_DIR
)/.configured
71 $(MAKE
) -C
$(LIBPCAP_DIR
) shared
73 $(STAGING_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
): $(LIBPCAP_DIR
)/libpcap.
$(LIBPCAP_LIBEXT
)$(LIBPCAP_LIB_VERSION
)
74 $(MAKE
) DESTDIR
=$(STAGING_DIR
) -C
$(LIBPCAP_DIR
) install install-shared
75 test "x$(LIBPCAP_LIBEXT)" = "xso" && \
76 rm -f
$(STAGING_DIR
)/usr
/lib
/libpcap.a
78 $(TARGET_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
): $(STAGING_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
)
80 $(INSTALL
) $(wildcard $(STAGING_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
)*) \
81 $(TARGET_DIR
)/usr
/lib
/
82 if
test "x$(LIBPCAP_LIBEXT)" != "xso"; then \
83 $(INSTALL
) $(STAGING_DIR
)/usr
/lib
/libpcap.a
$(TARGET_DIR
)/usr
/lib
/; \
85 for i in
$(notdir $(wildcard $(STAGING_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
).
*.
*.
*)); \
87 rm -f
$(TARGET_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
) \
88 $(STAGING_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
); \
90 $(TARGET_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
) && \
92 $(STAGING_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
) && \
96 $(STRIPCMD
) $(STRIP_STRIP_UNNEEDED
) $@
98 libpcap
: uclibc zlib
$(TARGET_DIR
)/usr
/lib
/libpcap.
$(LIBPCAP_LIBEXT
)
100 libpcap-source
: $(DL_DIR
)/$(LIBPCAP_SOURCE
)
103 -$(MAKE
) -C
$(LIBPCAP_DIR
) clean
104 rm -f
$(wildcard $(addprefix $(STAGING_DIR
)/usr
/,include/pcap
*.h lib
/libpcap.a lib
/libpcap.so share
/man
/man?
/pcap.
*)) \
105 $(wildcard $(addprefix $(TARGET_DIR
)/usr
/,include/pcap
*.h lib
/libpcap.a lib
/libpcap.so
* share
/man
/man?
/pcap.
*)) \
108 rm -rf
$(LIBPCAP_DIR
)
109 #############################################################
111 # Toplevel Makefile options
113 #############################################################
114 ifeq ($(BR2_PACKAGE_LIBPCAP
),y
)