diff options
Diffstat (limited to 'make/iptables.mk')
-rw-r--r-- | make/iptables.mk | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/make/iptables.mk b/make/iptables.mk new file mode 100644 index 000000000..d7f15ae8d --- /dev/null +++ b/make/iptables.mk @@ -0,0 +1,40 @@ +############################################################# +# +# iptables +# +############################################################# +IPTABLES_SOURCE_URL=ftp://ftp.netfilter.org/pub/iptables +IPTABLES_SOURCE=iptables-1.2.7a.tar.bz2 +IPTABLES_BUILD_DIR=$(BUILD_DIR)/iptables-1.2.7a + +$(DL_DIR)/$(IPTABLES_SOURCE): + $(WGET) -P $(DL_DIR) $(IPTABLES_SOURCE_URL)/$(IPTABLES_SOURCE) + +$(IPTABLES_BUILD_DIR)/.unpacked: $(DL_DIR)/$(IPTABLES_SOURCE) + bzcat $(DL_DIR)/$(IPTABLES_SOURCE) | tar -C $(BUILD_DIR) -xvf - + touch $(IPTABLES_BUILD_DIR)/.unpacked + +$(IPTABLES_BUILD_DIR)/.configured: $(IPTABLES_BUILD_DIR)/.unpacked + perl -pi -e "s@shell.*YES.*@shell grep -q '__UCLIBC_HAS_IPV6__.*1' \ + $(BUILD_DIR)/uClibc/include/bits/uClibc_config.h && \ + echo YES\), YES\)@;" $(IPTABLES_BUILD_DIR)/Makefile + touch $(IPTABLES_BUILD_DIR)/.configured + +$(IPTABLES_BUILD_DIR)/iptables: $(IPTABLES_BUILD_DIR)/.configured + $(MAKE) -C $(IPTABLES_BUILD_DIR) KERNEL_DIR=$(BUILD_DIR)/linux CC=$(TARGET_CC) + +$(TARGET_DIR)/sbin/iptables: $(IPTABLES_BUILD_DIR)/iptables + # Copy iptables + cp -af $(IPTABLES_BUILD_DIR)/iptables $(TARGET_DIR)/sbin/ + cp -af $(IPTABLES_BUILD_DIR)/iptables-save $(TARGET_DIR)/sbin/ + cp -af $(IPTABLES_BUILD_DIR)/iptables-restore $(TARGET_DIR)/sbin/ + +iptables: $(TARGET_DIR)/sbin/iptables + +iptables-clean: + $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(IPTABLES_BUILD_DIR) uninstall + -$(MAKE) -C $(IPTABLES_BUILD_DIR) clean + +iptables-dirclean: + rm -rf $(IPTABLES_BUILD_DIR) + |