summaryrefslogtreecommitdiff
path: root/package/iptables/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'package/iptables/Makefile')
-rw-r--r--package/iptables/Makefile97
1 files changed, 97 insertions, 0 deletions
diff --git a/package/iptables/Makefile b/package/iptables/Makefile
new file mode 100644
index 0000000000..1a0c385f3f
--- /dev/null
+++ b/package/iptables/Makefile
@@ -0,0 +1,97 @@
+include $(TOPDIR)/rules.mk
+include kernelconfig.mk
+
+PKG_NAME := iptables
+PKG_VERSION := 1.2.11
+PKG_RELEASE := 1
+
+PKG_SOURCE_SITE := http://www.netfilter.org/files
+PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_CAT := bzcat
+PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
+
+PKG_IPT := $(PACKAGE_DIR)/iptables_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+PKG_IPT_EXTRA := $(PACKAGE_DIR)/iptables-extra_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+PKG_IP6T := $(PACKAGE_DIR)/ip6tables_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+
+I_IPT := $(PKG_BUILD_DIR)/ipkg/iptables
+I_IPT_EXTRA := $(PKG_BUILD_DIR)/ipkg/iptables-extra
+I_IP6T := $(PKG_BUILD_DIR)/ipkg/ip6tables
+
+TARGETS := $(PKG_IPT)
+ifneq ($(BR2_PACKAGE_IPTABLES_EXTRA),)
+TARGETS += $(PKG_IPT_EXTRA)
+endif
+ifneq ($(BR2_PACKAGE_IP6TABLES),)
+TARGETS += $(PKG_IP6T)
+endif
+
+$(DL_DIR)/$(PKG_SOURCE_FILE):
+ mkdir -p $(DL_DIR)
+ $(WGET) -P $(DL_DIR) $(PKG_SOURCE_SITE)/$(PKG_SOURCE_FILE)
+
+$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
+ mkdir -p $(PKG_BUILD_DIR)/modules
+ $(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ $(PATCH) $(PKG_BUILD_DIR) ./patches
+ touch $(PKG_BUILD_DIR)/.patched
+
+$(PKG_BUILD_DIR)/iptables: $(PKG_BUILD_DIR)/.patched
+ $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ KERNEL_DIR=$(LINUX_DIR) PREFIX=/usr \
+ CC=$(TARGET_CC) COPT_FLAGS="$(TARGET_CFLAGS)"
+
+$(PKG_IPT): $(PKG_BUILD_DIR)/iptables
+ $(SCRIPT_DIR)/make-ipkg-dir.sh $(I_IPT) control/iptables.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+ mkdir -p $(I_IPT)/usr/sbin
+ cp -af $(PKG_BUILD_DIR)/iptables $(I_IPT)/usr/sbin/
+ $(STRIP) $(I_IPT)/usr/sbin/iptables
+ mkdir -p $(I_IPT)/usr/lib/iptables
+ (cd $(PKG_BUILD_DIR)/extensions; \
+ cp $(patsubst %,libipt_%.so,$(ext-y)) $(I_IPT)/usr/lib/iptables)
+ -$(STRIP) $(I_IPT)/usr/lib/iptables/*.so
+ mkdir -p $(I_IPT_EXTRA)/$(MODULES_SUBDIR)
+ cp $(MODULES_DIR)/kernel/net/ipv6/netfilter/*.o $(I_IPT_EXTRA)/$(MODULES_SUBDIR)
+ mkdir -p $(PACKAGE_DIR)
+ $(IPKG_BUILD) $(I_IPT) $(PACKAGE_DIR)
+
+$(PKG_IPT_EXTRA): $(PKG_BUILD_DIR)/iptables
+ $(SCRIPT_DIR)/make-ipkg-dir.sh $(I_IPT_EXTRA) control/iptables-extra.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+ mkdir -p $(I_IPT_EXTRA)/usr/lib/iptables
+ (cd $(PKG_BUILD_DIR)/extensions; \
+ cp $(patsubst %,libipt_%.so,$(ext-m)) $(I_IPT_EXTRA)/usr/lib/iptables)
+ -$(STRIP) $(I_IPT_EXTRA)/usr/lib/iptables/*.so
+ mkdir -p $(PACKAGE_DIR)
+ $(IPKG_BUILD) $(I_IPT_EXTRA) $(PACKAGE_DIR)
+
+$(PKG_IP6T): $(PKG_BUILD_DIR)/iptables
+ $(SCRIPT_DIR)/make-ipkg-dir.sh $(I_IP6T) control/ip6tables.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+ mkdir -p $(I_IP6T)/usr/sbin
+ cp -af $(PKG_BUILD_DIR)/ip6tables $(I_IP6T)/usr/sbin/
+ $(STRIP) $(I_IP6T)/usr/sbin/ip6tables
+ mkdir -p $(I_IP6T)/usr/lib/iptables
+ (cd $(PKG_BUILD_DIR)/extensions; \
+ cp libip6t_*.so $(I_IP6T)/usr/lib/iptables)
+ -$(STRIP) $(I_IP6T)/usr/lib/iptables/*.so
+ mkdir -p $(PACKAGE_DIR)
+ $(IPKG_BUILD) $(I_IP6T) $(PACKAGE_DIR)
+
+
+source: $(DL_DIR)/$(PKG_SOURCE_FILE)
+prepare: $(PKG_BUILD_DIR)/.patched
+compile: $(TARGETS)
+install: compile
+ $(IPKG) install $(PKG_IPT)
+ifeq ($(BR2_PACKAGE_IPTABLES_EXTRA),y)
+ $(IPKG) install $(PKG_IPT_EXTRA)
+endif
+ifeq ($(BR2_PACKAGE_IP6TABLES),y)
+ $(IPKG) install $(PKG_IP6T)
+endif
+
+clean:
+ rm -rf $(PKG_BUILD_DIR)
+ rm -f $(PKG_IPT)