Merge pull request #348 from akru/cjdns-v20.1
[feed/routing.git] / bmx6 / Makefile
1 # Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
2 #
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License along
14 # with this program; if not, write to the Free Software Foundation, Inc.,
15 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16 #
17 # The full GNU General Public License is included in this distribution in
18 # the file called "COPYING".
19 #
20 # Contibutors:
21 # Axel Neumann, Simó Albert i Beltran, Pau Escrich
22 #
23
24
25 include $(TOPDIR)/rules.mk
26
27 PKG_NAME:=bmx6
28
29 PKG_SOURCE_PROTO:=git
30
31 PKG_SOURCE_URL:=git://github.com/bmx-routing/bmx6.git
32 #PKG_SOURCE_URL:=file:///usr/src/bmx-routing/bmx6.git
33
34 PKG_REV:=0312168aaa384379ccbefd4b2d936fc698664d5b
35 PKG_MIRROR_HASH:=98acdbda8a8cadadf8141c7b8a17b6417112f70f3211b86abad23a8c7a28be10
36 PKG_VERSION:=r2018020902
37 PKG_RELEASE:=5
38 PKG_LICENSE:=GPL-2.0
39
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)
44
45 include $(INCLUDE_DIR)/package.mk
46
47
48 TARGET_CFLAGS += $(FPIC)
49
50 MAKE_ARGS += \
51 EXTRA_CFLAGS="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DNO_DEBUG_ALL -DNO_DEBUG_DUMP" \
52 EXTRA_LDFLAGS="-L$(STAGING_DIR)/usr/lib " \
53 GIT_REV="$(PKG_REV)" \
54 CC="$(TARGET_CC)" \
55 INSTALL_DIR="$(PKG_INSTALL_DIR)" \
56 STRIP="/bin/false" \
57 build_all
58
59 define Package/bmx6/Default
60 SECTION:=net
61 CATEGORY:=Network
62 SUBMENU:=Routing and Redirection
63 TITLE:=BMX6 layer 3 routing daemon
64 URL:=http://bmx6.net/
65 MAINTAINER:=Axel Neumann <neumann@cgws.de>
66 DEPENDS:=+kmod-ip6-tunnel +kmod-iptunnel6 +kmod-tun
67 endef
68
69 define Package/bmx6/description
70 BMX6 layer 3 routing daemon supporting IPv4, IPv6, and IPv4 over IPv6
71 endef
72
73 define Package/bmx6
74 $(call Package/bmx6/Default)
75 MENU:=1
76 endef
77
78 define Package/bmx6-uci-config
79 $(call Package/bmx6/Default)
80 DEPENDS:=bmx6 +libuci
81 TITLE:=configuration plugin based on uci (recommended!)
82 endef
83
84 define Package/bmx6-json
85 $(call Package/bmx6/Default)
86 DEPENDS:=bmx6 +libjson-c
87 TITLE:=json plugin based on json-c
88 endef
89
90 define Package/bmx6-sms
91 $(call Package/bmx6/Default)
92 DEPENDS:=bmx6
93 TITLE:=sms plugin
94 endef
95
96 #define Package/bmx6-quagga
97 # $(call Package/bmx6/Default)
98 # DEPENDS:=bmx6 +qmp-quagga @BROKEN
99 # TITLE:=bmx6 quagga plugin to redistribute/export routes (needs manet/bmx6 patched quagga 0.99.21)
100 #endef
101
102 define Package/bmx6-table
103 $(call Package/bmx6/Default)
104 DEPENDS:=bmx6
105 TITLE:=bmx6 table plugin to automatic announce routing-table routes via ip6ip tunnels
106 endef
107
108 define Build/Configure
109 mkdir -p $(PKG_INSTALL_DIR)
110 endef
111
112 define Build/Compile
113 $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_ARGS)
114 endef
115
116 define Package/bmx6/install
117 $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
118 $(INSTALL_BIN) $(PKG_BUILD_DIR)/bmx6 $(1)/usr/sbin/bmx6
119 endef
120
121 define Package/bmx6-uci-config/conffiles
122 /etc/config/bmx6
123 endef
124
125 define Package/bmx6-uci-config/install
126 $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/config $(1)/etc/init.d
127 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_uci_config/bmx6_config.so $(1)/usr/lib/bmx6_config.so
128 $(INSTALL_BIN) ./files/etc/init.d/bmx6 $(1)/etc/init.d/bmx6
129 $(INSTALL_DATA) ./files/etc/config/bmx6 $(1)/etc/config/bmx6
130 endef
131
132 define Package/bmx6-json/install
133 $(INSTALL_DIR) $(1)/usr/lib
134 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_json/bmx6_json.so $(1)/usr/lib/bmx6_json.so
135 endef
136
137 define Package/bmx6-sms/install
138 $(INSTALL_DIR) $(1)/usr/lib
139 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_sms/bmx6_sms.so $(1)/usr/lib/bmx6_sms.so
140 endef
141
142 define Package/bmx6-table/install
143 $(INSTALL_DIR) $(1)/usr/lib
144 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_table/bmx6_table.so $(1)/usr/lib/bmx6_table.so
145 endef
146
147 #define Package/bmx6-quagga/install
148 # $(INSTALL_DIR) $(1)/usr/lib
149 # $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_quagga/bmx6_quagga.so $(1)/usr/lib/bmx6_quagga.so
150 #endef
151
152 $(eval $(call BuildPackage,bmx6))
153 $(eval $(call BuildPackage,bmx6-uci-config))
154 $(eval $(call BuildPackage,bmx6-json))
155 $(eval $(call BuildPackage,bmx6-sms))
156 #$(eval $(call BuildPackage,bmx6-quagga))
157 $(eval $(call BuildPackage,bmx6-table))