iptables.mk 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #############################################################
  2. #
  3. # iptables
  4. #
  5. #############################################################
  6. IPTABLES_VERSION:=1.3.8
  7. IPTABLES_SOURCE_URL:=http://ftp.netfilter.org/pub/iptables
  8. IPTABLES_SOURCE:=iptables-$(IPTABLES_VERSION).tar.bz2
  9. IPTABLES_CAT:=$(BZCAT)
  10. IPTABLES_BUILD_DIR:=$(BUILD_DIR)/iptables-$(IPTABLES_VERSION)
  11. $(DL_DIR)/$(IPTABLES_SOURCE):
  12. $(WGET) -P $(DL_DIR) $(IPTABLES_SOURCE_URL)/$(IPTABLES_SOURCE)
  13. $(IPTABLES_BUILD_DIR)/.unpacked: $(DL_DIR)/$(IPTABLES_SOURCE)
  14. $(IPTABLES_CAT) $(DL_DIR)/$(IPTABLES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  15. touch $@
  16. $(IPTABLES_BUILD_DIR)/.configured: $(IPTABLES_BUILD_DIR)/.unpacked
  17. # Allow patches. Needed for openwrt for instance.
  18. toolchain/patch-kernel.sh $(IPTABLES_BUILD_DIR) package/iptables/ iptables\*.patch
  19. #
  20. $(SED) "s;\[ -f /usr/include/netinet/ip6.h \];grep -q '__UCLIBC_HAS_IPV6__ 1' \
  21. $(STAGING_DIR)/usr/include/bits/uClibc_config.h;" $(IPTABLES_BUILD_DIR)/Makefile
  22. touch $@
  23. $(IPTABLES_BUILD_DIR)/iptables: $(IPTABLES_BUILD_DIR)/.configured
  24. $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(IPTABLES_BUILD_DIR) \
  25. KERNEL_DIR=$(LINUX_HEADERS_DIR) \
  26. COPT_FLAGS="$(TARGET_CFLAGS)" \
  27. PREFIX=/usr \
  28. INCDIR="\$$(PREFIX)/include" \
  29. MANDIR="\$$(PREFIX)/share/man"
  30. $(TARGET_DIR)/usr/sbin/iptables: $(IPTABLES_BUILD_DIR)/iptables
  31. $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(IPTABLES_BUILD_DIR) \
  32. KERNEL_DIR=$(LINUX_HEADERS_DIR) \
  33. COPT_FLAGS="$(TARGET_CFLAGS)" \
  34. PREFIX=/usr \
  35. INCDIR="\$$(PREFIX)/include" \
  36. MANDIR="\$$(PREFIX)/share/man" \
  37. DESTDIR=$(TARGET_DIR) install
  38. $(STRIPCMD) $(TARGET_DIR)/usr/sbin/iptables*
  39. $(STRIPCMD) $(TARGET_DIR)/usr/lib/iptables/*.so
  40. ifneq ($(BR2_HAVE_MANPAGES),y)
  41. rm -rf $(TARGET_DIR)/usr/share/man
  42. endif
  43. iptables: $(TARGET_DIR)/usr/sbin/iptables
  44. iptables-source: $(DL_DIR)/$(IPTABLES_SOURCE)
  45. iptables-clean:
  46. -$(MAKE1) -C $(IPTABLES_BUILD_DIR) clean
  47. rm -rf $(TARGET_DIR)/usr/sbin/iptables* $(TARGET_DIR)/usr/lib/iptables
  48. iptables-dirclean:
  49. rm -rf $(IPTABLES_BUILD_DIR)
  50. #############################################################
  51. #
  52. # Toplevel Makefile options
  53. #
  54. #############################################################
  55. ifeq ($(strip $(BR2_PACKAGE_IPTABLES)),y)
  56. TARGETS+=iptables
  57. endif