2 # Copyright (C) 2009-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR)/rules.mk
13 PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz
14 PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird
15 PKG_MD5SUM:=a8e5e0a9129ce30fe6102c593bafb763
16 PKG_BUILD_DEPENDS:=libncurses libreadline
19 include $(INCLUDE_DIR)/package.mk
21 define Package/bird/Default
22 TITLE:=The BIRD Internet Routing Daemon
23 URL:=http://bird.network.cz/
27 define Package/birdc/Default
28 TITLE:=The BIRD command-line client
29 URL:=http://bird.network.cz/
30 DEPENDS:= +libreadline +libncurses
33 define Package/birdcl/Default
34 TITLE:=The BIRD lightweight command-line client
35 URL:=http://bird.network.cz/
38 define Package/bird/Default/description1
39 BIRD is an internet routing daemon which manages TCP/IP routing tables
40 with support of modern routing protocols, easy to use configuration
41 interface and powerful route filtering language. It is lightweight and
42 efficient and therefore appropriate for small embedded routers.
46 define Package/bird/Default/description2
47 In BGP, BIRD supports communities, multiprotocol extensions, MD5
48 authentication, 32bit AS numbers and could act as a route server or a
49 route reflector. BIRD also supports multiple RIBs, multiple kernel
50 routing tables and redistribution between the protocols with a powerful
55 define Package/bird/Default/description3
56 This is a BIRD command-line client. It is used to send commands to BIRD,
57 commands can perform simple actions such as enabling/disabling of
58 protocols, telling BIRD to show various information, telling it to show
59 a routing table filtered by a filter, or asking BIRD to reconfigure.
61 Unless you can't afford dependency on ncurses and readline, you
62 should install BIRD command-line client together with BIRD.
66 define Package/bird/Default/description4
67 This is a BIRD lightweight command-line client. It is used to send commands to BIRD,
68 commands can perform simple actions such as enabling/disabling of
69 protocols, telling BIRD to show various information, telling it to show
70 a routing table filtered by a filter, or asking BIRD to reconfigure.
75 $(call Package/bird/Default)
78 SUBMENU:=Routing and Redirection
83 $(call Package/birdc/Default)
86 SUBMENU:=Routing and Redirection
91 define Package/birdcl4
92 $(call Package/birdcl/Default)
95 SUBMENU:=Routing and Redirection
101 $(call Package/bird/Default)
104 SUBMENU:=Routing and Redirection
108 define Package/birdc6
109 $(call Package/birdc/Default)
112 SUBMENU:=Routing and Redirection
117 define Package/birdcl6
118 $(call Package/birdcl/Default)
121 SUBMENU:=Routing and Redirection
126 define Package/bird4/description
127 $(call Package/bird/Default/description1)
128 This is IPv4 version of BIRD, it supports OSPFv2, RIPv2 and BGP
131 $(call Package/bird/Default/description2)
134 define Package/birdc4/description
135 $(call Package/bird/Default/description1)
136 $(call Package/bird/Default/description3)
139 define Package/birdcl4/description
140 $(call Package/bird/Default/description1)
141 $(call Package/bird/Default/description4)
144 define Package/bird6/description
145 $(call Package/bird/Default/description1)
146 This is IPv6 version of BIRD, it supports OSPFv3, RIPng and BGP
149 $(call Package/bird/Default/description2)
152 define Package/birdc6/description
153 $(call Package/bird/Default/description1)
154 $(call Package/bird/Default/description3)
157 define Package/birdcl6/description
158 $(call Package/bird/Default/description1)
159 $(call Package/bird/Default/description4)
162 CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
164 define Build/Template
166 $(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
167 $(call Build/Configure/Default,$(3))
168 $(call Build/Compile/Default,)
169 ( cd $(PKG_BUILD_DIR); mv -f bird bird$(2); mv -f birdc birdc$(2); mv -f birdcl birdcl$(2) )
170 -$(MAKE) -C $(PKG_BUILD_DIR) clean
173 $(STAMP_BUILT): $(STAMP_BUILT)-$(2)
175 define Package/bird$(2)/install
176 $(INSTALL_DIR) $$(1)/usr/sbin
177 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/bird$(2) $$(1)/usr/sbin/
178 $(INSTALL_DIR) $$(1)/etc
179 $(INSTALL_DATA) ./files/bird$(2).conf $$(1)/etc/
180 $(INSTALL_DIR) $$(1)/etc/init.d
181 $(INSTALL_BIN) ./files/bird$(2).init $$(1)/etc/init.d/bird$(2)
185 define Package/bird$(2)/conffiles
189 define Package/birdc$(2)/install
190 $(INSTALL_DIR) $$(1)/usr/sbin
191 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/
194 define Package/birdcl$(2)/install
195 $(INSTALL_DIR) $$(1)/usr/sbin
196 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdcl$(2) $$(1)/usr/sbin/
202 $(eval $(call Build/Template,bird4,4, --disable-ipv6))
203 $(eval $(call Build/Template,bird6,6, --enable-ipv6))
205 $(eval $(call BuildPackage,bird4))
206 $(eval $(call BuildPackage,birdc4))
207 $(eval $(call BuildPackage,birdcl4))
208 $(eval $(call BuildPackage,bird6))
209 $(eval $(call BuildPackage,birdc6))
210 $(eval $(call BuildPackage,birdcl6))