Merge pull request #599 from neheb/oon3
[feed/routing.git] / bmx7 / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=bmx7
4 PKG_VERSION:=7.1.1
5 PKG_RELEASE:=3
6
7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
8 PKG_SOURCE_URL:=https://codeload.github.com/bmx-routing/bmx7/tar.gz/v$(PKG_VERSION)?
9 PKG_HASH:=5f88df1c95e5cb842a6016bb1604e3e7f6097c63c5c9916edc3c84e96d4f5f65
10
11 PKG_MAINTAINER:=Axel Neumann <neumann@cgws.de>
12 PKG_LICENSE:=GPL-2.0-or-later
13 PKG_LICENSE_FILES:=LICENSE
14
15 PKG_BUILD_PARALLEL:=1
16
17 include $(INCLUDE_DIR)/package.mk
18
19 TARGET_CFLAGS += $(FPIC)
20
21 MAKE_ARGS += EXTRA_CFLAGS="$(TARGET_CFLAGS) \
22 -I. \
23 -I$(STAGING_DIR)/usr/include \
24 -DCRYPTLIB=MBEDTLS_2_8_0 \
25 -DCORE_LIMIT=20000 \
26 -DTRAFFIC_DUMP \
27 -DNO_TRACE_FUNCTION_CALLS \
28 -DBMX7_LIB_IWINFO" \
29 EXTRA_LDFLAGS="$(TARGET_LDFLAGS) \
30 -L$(STAGING_DIR)/usr/lib -liwinfo" \
31 GIT_REV="$(PKG_REV)" \
32 CC="$(TARGET_CC)" \
33 INSTALL_DIR="$(PKG_INSTALL_DIR)" \
34 build_all
35
36 MAKE_PATH:=src
37
38 define Package/bmx7/Default
39 SECTION:=net
40 CATEGORY:=Network
41 SUBMENU:=Routing and Redirection
42 TITLE:=BMX7 layer 3 routing daemon
43 URL:=https://github.com/bmx-routing/bmx7
44 DEPENDS:=+zlib +libmbedtls +libiwinfo
45 endef
46
47 define Package/bmx7/description
48 BMX7 routing daemon supporting securely-entrusted IPv6 (and IPv4in6) routing
49 endef
50
51 define Package/bmx7
52 $(call Package/bmx7/Default)
53 MENU:=1
54 endef
55
56 define Package/bmx7-uci-config
57 $(call Package/bmx7/Default)
58 DEPENDS:=bmx7 +libuci
59 TITLE:=configuration plugin based on uci (recommended!)
60 endef
61
62 define Package/bmx7-iwinfo
63 $(call Package/bmx7/Default)
64 DEPENDS:=bmx7 +libiwinfo
65 TITLE:=link characteristics plugin via libiwinfo (recommended!)
66 endef
67
68 define Package/bmx7-topology
69 $(call Package/bmx7/Default)
70 DEPENDS:=bmx7
71 TITLE:=topology plugin
72 endef
73
74 define Package/bmx7-json
75 $(call Package/bmx7/Default)
76 DEPENDS:=bmx7 +libjson-c
77 TITLE:=json plugin based on json-c
78 endef
79
80 define Package/bmx7-sms
81 $(call Package/bmx7/Default)
82 DEPENDS:=bmx7
83 TITLE:=sms plugin
84 endef
85
86 define Package/bmx7-tun
87 $(call Package/bmx7/Default)
88 DEPENDS:=bmx7 +kmod-ip6-tunnel +kmod-iptunnel6 +kmod-tun
89 TITLE:=ipip-based tunnel plugin (recommended!)
90 endef
91
92 define Package/bmx7-table
93 $(call Package/bmx7/Default)
94 DEPENDS:=bmx7 +bmx7-tun
95 TITLE:=plugin to announce routes from tables via tunnels
96 endef
97
98 define Package/bmx7/install
99 $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
100 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/bmx7 $(1)/usr/sbin/bmx7
101 endef
102
103 define Build/Compile
104 $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) $(MAKE_ARGS)
105 endef
106
107 define Package/bmx7-uci-config/conffiles
108 /etc/config/bmx7
109 /etc/bmx7
110 endef
111
112 define Package/bmx7-uci-config/install
113 $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/config $(1)/etc/init.d
114 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_uci_config/bmx7_config.so \
115 $(1)/usr/lib/bmx7_config.so
116 $(INSTALL_BIN) ./files/etc/init.d/bmx7 $(1)/etc/init.d/bmx7
117 $(INSTALL_DATA) ./files/etc/config/bmx7 $(1)/etc/config/bmx7
118 endef
119
120 define Package/bmx7-iwinfo/install
121 $(INSTALL_DIR) $(1)/usr/lib
122 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_iwinfo/bmx7_iwinfo.so \
123 $(1)/usr/lib/bmx7_iwinfo.so
124 endef
125
126 define Package/bmx7-topology/install
127 $(INSTALL_DIR) $(1)/usr/lib
128 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_topology/bmx7_topology.so \
129 $(1)/usr/lib/bmx7_topology.so
130 endef
131
132 define Package/bmx7-json/install
133 $(INSTALL_DIR) $(1)/usr/lib
134 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_json/bmx7_json.so \
135 $(1)/usr/lib/bmx7_json.so
136 endef
137
138 define Package/bmx7-sms/install
139 $(INSTALL_DIR) $(1)/usr/lib
140 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_sms/bmx7_sms.so \
141 $(1)/usr/lib/bmx7_sms.so
142 endef
143
144 define Package/bmx7-tun/install
145 $(INSTALL_DIR) $(1)/usr/lib
146 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_tun/bmx7_tun.so \
147 $(1)/usr/lib/bmx7_tun.so
148 endef
149
150 define Package/bmx7-table/install
151 $(INSTALL_DIR) $(1)/usr/lib
152 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lib/bmx7_table/bmx7_table.so \
153 $(1)/usr/lib/bmx7_table.so
154 endef
155
156 $(eval $(call BuildPackage,bmx7))
157 $(eval $(call BuildPackage,bmx7-uci-config))
158 $(eval $(call BuildPackage,bmx7-iwinfo))
159 $(eval $(call BuildPackage,bmx7-topology))
160 $(eval $(call BuildPackage,bmx7-json))
161 $(eval $(call BuildPackage,bmx7-sms))
162 $(eval $(call BuildPackage,bmx7-table))
163 $(eval $(call BuildPackage,bmx7-tun))