bump version
[buildroot.git] / package / libpcap / libpcap.mk
blob5a8666a11569ac8ed7b6cd2c4e2787b87d3b6fe4
1 #############################################################
3 # libpcap
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
22 # USA
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
28 LIBPCAP_CAT:=$(ZCAT)
29 #default to dynamic lib for better reuse
30 LIBPCAP_LIBEXT:=so
31 ifeq ($(LIBPCAP_LIBEXT),so)
32 LIBPCAP_LIB_VERSION:=.$(LIBPCAP_VERSION)
33 LIBPCAP_MAKE_TARGET:=shared
34 else
35 LIBPCAP_LIB_VERSION:=# empty
36 endif
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) -
43 # packaging error..
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
49 touch $@
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) \
58 --prefix=/usr \
59 --localstatedir=/var \
60 --mandir=/usr/share/man \
61 --infodir=/usr/share/info \
62 --disable-yydebug \
63 --with-pcap=linux \
64 --with-flex="$(FLEX)" \
65 --with-bison="$(BISON)" \
66 $(DISABLE_IPV6) \
68 touch $@
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)
79 $(INSTALL) -d $(@D)
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/; \
84 else \
85 for i in $(notdir $(wildcard $(STAGING_DIR)/usr/lib/libpcap.$(LIBPCAP_LIBEXT).*.*.*)); \
86 do \
87 rm -f $(TARGET_DIR)/usr/lib/libpcap.$(LIBPCAP_LIBEXT) \
88 $(STAGING_DIR)/usr/lib/libpcap.$(LIBPCAP_LIBEXT); \
89 ln -sf $$i \
90 $(TARGET_DIR)/usr/lib/libpcap.$(LIBPCAP_LIBEXT) && \
91 ln -sf $$i \
92 $(STAGING_DIR)/usr/lib/libpcap.$(LIBPCAP_LIBEXT) && \
93 break; \
94 done; \
96 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
98 libpcap: uclibc zlib $(TARGET_DIR)/usr/lib/libpcap.$(LIBPCAP_LIBEXT)
100 libpcap-source: $(DL_DIR)/$(LIBPCAP_SOURCE)
102 libpcap-clean:
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.*)) \
107 libpcap-dirclean:
108 rm -rf $(LIBPCAP_DIR)
109 #############################################################
111 # Toplevel Makefile options
113 #############################################################
114 ifeq ($(BR2_PACKAGE_LIBPCAP),y)
115 TARGETS+=libpcap
116 endif