firewall: small improvements in nat reflection
[openwrt/svn-archive/archive.git] / package / network / config / firewall / Makefile
1 #
2 # Copyright (C) 2013 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:=firewall
11 PKG_VERSION:=2013-10-10
12 PKG_RELEASE:=$(PKG_SOURCE_VERSION)
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL:=git://nbd.name/firewall3.git
16 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
17 PKG_SOURCE_VERSION:=fca5e39564e488b169c8c535dcf658649f81429e
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
19 PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
20
21
22 include $(INCLUDE_DIR)/package.mk
23 include $(INCLUDE_DIR)/cmake.mk
24
25 define Package/firewall
26 SECTION:=net
27 CATEGORY:=Base system
28 TITLE:=OpenWrt C Firewall
29 DEPENDS:=+libubox +libubus +libuci +libip4tc +IPV6:libip6tc +libxtables +kmod-ipt-core +kmod-ipt-nat
30 endef
31
32 define Package/firewall/description
33 This package provides a config-compatible C implementation of the UCI firewall.
34 endef
35
36 define Package/firewall/conffiles
37 /etc/config/firewall
38 /etc/firewall.user
39 endef
40
41 define Build/Configure
42 $(foreach file,$(wildcard $(STAGING_DIR)/usr/lib/iptables/libext*.a),$(CP) $(file) $(PKG_BUILD_DIR)/$(notdir $(file));)
43 $(call Build/Configure/Default)
44 endef
45
46 TARGET_CFLAGS += -ffunction-sections -fdata-sections
47 TARGET_LDFLAGS += -Wl,--gc-sections
48 CMAKE_OPTIONS += $(if $(CONFIG_IPV6),,-DDISABLE_IPV6=1)
49
50 define Package/firewall/install
51 $(INSTALL_DIR) $(1)/sbin
52 $(INSTALL_BIN) $(PKG_BUILD_DIR)/firewall3 $(1)/sbin/fw3
53 $(INSTALL_DIR) $(1)/etc/init.d
54 $(INSTALL_BIN) ./files/firewall.init $(1)/etc/init.d/firewall
55 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
56 $(INSTALL_DATA) ./files/firewall.hotplug $(1)/etc/hotplug.d/iface/20-firewall
57 $(INSTALL_DIR) $(1)/etc/config/
58 $(INSTALL_DATA) ./files/firewall.config $(1)/etc/config/firewall
59 $(INSTALL_DIR) $(1)/etc/
60 $(INSTALL_DATA) ./files/firewall.user $(1)/etc/firewall.user
61 endef
62
63 $(eval $(call BuildPackage,firewall))