464xlat: add ip rule logic in the proto shell handler
[lede-routing/.git] / nat46 / Makefile
1 #
2 # Copyright (C) 2014-2015 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 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=nat46
12 PKG_VERSION:=10
13 PKG_RELEASE:=$(PKG_SOURCE_VERSION)
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_MIRROR_HASH:=43b7004bfa2c830d6025386bc2128015db0012277fd015f4ee44b9ee3b772a12
17 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
18 PKG_SOURCE_URL:=https://github.com/ayourtch/nat46.git
19 PKG_SOURCE_PROTO:=git
20 PKG_SOURCE_VERSION:=683fbd2b765506332a1af141545652bf58f03166
21 PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
22 PKG_LICENSE:=GPL-2.0
23
24 include $(INCLUDE_DIR)/package.mk
25
26 define Package/map-t
27   SECTION:=net
28   CATEGORY:=Network
29   DEPENDS:=+map +kmod-nat46
30   TITLE:=MAP-T configuration support
31 endef
32
33 define Package/464xlat
34   SECTION:=net
35   CATEGORY:=Network
36   DEPENDS:=+kmod-nat46 +ip
37   TITLE:=464xlat CLAT support
38 endef
39
40 define KernelPackage/nat46
41   DEPENDS:=@IPV6
42   TITLE:=Stateless NAT46 translation kernel module
43   SECTION:=kernel
44   SUBMENU:=Network Support
45   FILES:=$(PKG_BUILD_DIR)/nat46/modules/nat46.ko 
46   AUTOLOAD:=$(call AutoLoad,33,nat46)
47 endef
48
49 include $(INCLUDE_DIR)/kernel-defaults.mk
50
51 define Build/Prepare
52         $(call Build/Prepare/Default)
53         $(CP) ./src/* $(PKG_BUILD_DIR)/
54 endef
55
56 define Build/Compile
57         $(MAKE) -C $(PKG_BUILD_DIR) \
58                 CC="$(TARGET_CC)" \
59                 CFLAGS="$(TARGET_CFLAGS) -Wall" \
60                 LDFLAGS="$(TARGET_LDFLAGS)"
61         $(MAKE) $(KERNEL_MAKEOPTS) SUBDIRS="$(PKG_BUILD_DIR)/nat46/modules" \
62                 MODFLAGS="-DMODULE -mlong-calls" \
63                 EXTRA_CFLAGS="-DNAT46_VERSION=\\\"$(PKG_SOURCE_VERSION)\\\"" \
64                 modules
65 endef
66
67 define Package/map-t/install
68         true
69 endef
70
71 define Package/464xlat/install
72         $(INSTALL_DIR) $(1)/lib/netifd/proto
73         $(INSTALL_BIN) ./files/464xlat.sh $(1)/lib/netifd/proto/464xlat.sh
74         $(INSTALL_DIR) $(1)/sbin
75         $(INSTALL_BIN) $(PKG_BUILD_DIR)/464xlatcfg $(1)/sbin
76 endef
77
78 $(eval $(call KernelPackage,nat46))
79 $(eval $(call BuildPackage,map-t))
80 $(eval $(call BuildPackage,464xlat))