2 # This program is free software; you can redistribute it and/or modify
3 # it under the terms of the GNU General Public License as published by
4 # the Free Software Foundation; either version 2 of the License, or
5 # (at your option) any later version.
7 # This program is distributed in the hope that it will be useful,
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 # GNU General Public License for more details.
12 # You should have received a copy of the GNU General Public License along
13 # with this program; if not, write to the Free Software Foundation, Inc.,
14 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16 # The full GNU General Public License is included in this distribution in
17 # the file called "COPYING".
20 # Axel Neumann, Simó Albert i Beltran, Pau Escrich
24 include $(TOPDIR
)/rules.mk
30 PKG_SOURCE_URL
:=git
://github.com
/bmx-routing
/bmx7.git
31 #PKG_SOURCE_URL:=file:///usr/src/bmx-routing/bmx7.git
34 PKG_REV
:=210f1e3b880d957921dc253792eb228cdfa6100b
35 PKG_MIRROR_HASH
:=44d983336f51dcfe4ca4adf2a4977a95868d69de0e67d4720f24186d74643215
36 PKG_VERSION
:=r2018030407
40 PKG_SOURCE_VERSION
:=$(PKG_REV
)
41 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_VERSION
)
42 PKG_SOURCE
:=$(PKG_SOURCE_SUBDIR
).
tar.gz
43 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_SOURCE_SUBDIR
)
45 include $(INCLUDE_DIR
)/package.mk
47 TARGET_CFLAGS
+= $(FPIC
)
49 MAKE_ARGS
+= EXTRA_CFLAGS
="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DCRYPTLIB=MBEDTLS_2_4_0 -DCORE_LIMIT=20000 -DTRAFFIC_DUMP -DNO_TRACE_FUNCTION_CALLS -DBMX7_LIB_IWINFO"
52 EXTRA_LDFLAGS
="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib -liwinfo" \
53 GIT_REV
="$(PKG_REV)" \
55 INSTALL_DIR
="$(PKG_INSTALL_DIR)" \
58 define Package
/bmx7
/Default
61 SUBMENU
:=Routing and Redirection
62 TITLE
:=BMX7 layer
3 routing daemon
63 URL
:=http
://github.com
/bmx-routing
/bmx7
64 MAINTAINER
:=Axel Neumann
<neumann@cgws.de
>
65 DEPENDS
:=+zlib
+libmbedtls
+libiwinfo
68 define Package
/bmx7
/description
69 BMX7 routing daemon supporting securely-entrusted IPv6
(and IPv4in6
) routing
73 $(call Package
/bmx7
/Default
)
77 define Package
/bmx7-uci-config
78 $(call Package
/bmx7
/Default
)
80 TITLE
:=configuration plugin based on uci
(recommended
!)
83 define Package
/bmx7-iwinfo
84 $(call Package
/bmx7
/Default
)
85 DEPENDS
:=bmx7
+libiwinfo
86 TITLE
:=link characteristics plugin based on libiwinfo
(recommended
!)
89 define Package
/bmx7-topology
90 $(call Package
/bmx7
/Default
)
92 TITLE
:=topology plugin
95 define Package
/bmx7-json
96 $(call Package
/bmx7
/Default
)
97 DEPENDS
:=bmx7
+libjson-c
98 TITLE
:=json plugin based on json-c
101 define Package
/bmx7-sms
102 $(call Package
/bmx7
/Default
)
107 define Package
/bmx7-tun
108 $(call Package
/bmx7
/Default
)
109 DEPENDS
:=bmx7
+kmod-ip6-tunnel
+kmod-iptunnel6
+kmod-tun
110 TITLE
:=ipip-based tunnel plugin
(recommended
!)
113 define Package
/bmx7-table
114 $(call Package
/bmx7
/Default
)
115 DEPENDS
:=bmx7
+bmx7-tun
116 TITLE
:=plugin to announce routes from tables via tunnels
119 define Build
/Configure
120 mkdir
-p
$(PKG_INSTALL_DIR
)
124 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(MAKE_ARGS
)
127 define Package
/bmx7
/install
128 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/etc
/config
$(1)/etc
/init.d
129 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/bmx7
$(1)/usr
/sbin
/bmx7
132 define Package
/bmx7
/postinst
134 # # check if we are on real system
135 if
[ -z
"$${IPKG_INSTROOT}" ]; then
136 if
[ -f
/etc
/sysupgrade.conf
] && ! grep bmx7
/etc
/sysupgrade.conf
; then
137 echo
/etc
/bmx7
>> /etc
/sysupgrade.conf
143 define Package
/bmx7-uci-config
/conffiles
147 define Package
/bmx7-uci-config
/install
148 $(INSTALL_DIR
) $(1)/usr
/lib
$(1)/etc
/config
$(1)/etc
/init.d
149 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_uci_config
/bmx7_config.so
$(1)/usr
/lib
/bmx7_config.so
150 $(INSTALL_BIN
) .
/files
/etc
/init.d
/bmx7
$(1)/etc
/init.d
/bmx7
151 $(INSTALL_DATA
) .
/files
/etc
/config
/bmx7
$(1)/etc
/config
/bmx7
154 define Package
/bmx7-iwinfo
/install
155 $(INSTALL_DIR
) $(1)/usr
/lib
156 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_iwinfo
/bmx7_iwinfo.so
$(1)/usr
/lib
/bmx7_iwinfo.so
159 define Package
/bmx7-topology
/install
160 $(INSTALL_DIR
) $(1)/usr
/lib
161 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_topology
/bmx7_topology.so
$(1)/usr
/lib
/bmx7_topology.so
164 define Package
/bmx7-json
/install
165 $(INSTALL_DIR
) $(1)/usr
/lib
166 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_json
/bmx7_json.so
$(1)/usr
/lib
/bmx7_json.so
169 define Package
/bmx7-sms
/install
170 $(INSTALL_DIR
) $(1)/usr
/lib
171 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_sms
/bmx7_sms.so
$(1)/usr
/lib
/bmx7_sms.so
174 define Package
/bmx7-tun
/install
175 $(INSTALL_DIR
) $(1)/usr
/lib
176 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_tun
/bmx7_tun.so
$(1)/usr
/lib
/bmx7_tun.so
179 define Package
/bmx7-table
/install
180 $(INSTALL_DIR
) $(1)/usr
/lib
181 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/bmx7_table
/bmx7_table.so
$(1)/usr
/lib
/bmx7_table.so
185 $(eval
$(call BuildPackage
,bmx7
))
186 $(eval
$(call BuildPackage
,bmx7-uci-config
))
187 $(eval
$(call BuildPackage
,bmx7-iwinfo
))
188 $(eval
$(call BuildPackage
,bmx7-topology
))
189 $(eval
$(call BuildPackage
,bmx7-json
))
190 $(eval
$(call BuildPackage
,bmx7-sms
))
191 $(eval
$(call BuildPackage
,bmx7-table
))
192 $(eval
$(call BuildPackage
,bmx7-tun
))