tcpdump: add SLL parsing support to tcpdump-mini, use -ffunction-sections, -fdata...
[12.09/packages.git] / net / tcpdump / Makefile
1 #
2 # Copyright (C) 2007-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=tcpdump
11 PKG_VERSION:=4.2.1
12 PKG_RELEASE:=3
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.tcpdump.org/release/ \
16         http://ftp.gwdg.de/pub/misc/tcpdump/ \
17         http://www.at.tcpdump.org/ \
18         http://www.br.tcpdump.org/
19 PKG_MD5SUM:=c202878c6db054767b52651041b9e60e
20
21 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
22 PKG_BUILD_PARALLEL:=1
23
24 PKG_INSTALL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/tcpdump/default
29   SECTION:=net
30   CATEGORY:=Network
31   DEPENDS:=+libpcap
32   TITLE:=Network monitoring and data acquisition tool
33   URL:=http://www.tcpdump.org/
34 endef
35
36 define Package/tcpdump
37   $(Package/tcpdump/default)
38   VARIANT:=full
39 endef
40
41 define Package/tcpdump-mini
42   $(Package/tcpdump/default)
43   TITLE+= (minimal version)
44   VARIANT:=mini
45 endef
46
47 CONFIGURE_ARGS += \
48         --without-crypto
49
50 ifeq ($(CONFIG_IPV6),y)
51 CONFIGURE_ARGS += \
52         --enable-ipv6
53 endif
54
55 TARGET_CFLAGS += -ffunction-sections -fdata-sections
56 TARGET_LDFLAGS += -Wl,--gc-sections
57
58 CONFIGURE_VARS += \
59         BUILD_CC="$(TARGET_CC)" \
60         HOSTCC="$(HOSTCC)" \
61         td_cv_buggygetaddrinfo="no" \
62         ac_cv_linux_vers=$(LINUX_VERSION) \
63         ac_cv_header_rpc_rpcent_h=no \
64         ac_cv_lib_rpc_main=no \
65         ac_cv_path_PCAP_CONFIG=""
66
67 MAKE_FLAGS :=
68
69 ifeq ($(BUILD_VARIANT),mini)
70   TARGET_CFLAGS += -DTCPDUMP_MINI
71   CONFIGURE_ARGS += --disable-smb
72   MAKE_FLAGS += TCPDUMP_MINI=1
73 endif
74
75 MAKE_FLAGS += \
76         CCOPT="$(TARGET_CFLAGS)" INCLS="-I. $(TARGET_CPPFLAGS)"
77
78
79 define Package/tcpdump/install
80         $(INSTALL_DIR) $(1)/usr/sbin
81         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tcpdump $(1)/usr/sbin/
82 endef
83
84 Package/tcpdump-mini/install = $(Package/tcpdump/install)
85
86 $(eval $(call BuildPackage,tcpdump))
87 $(eval $(call BuildPackage,tcpdump-mini))