2 # Copyright (C) 2009-2016 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
:=39c51cf57c3ba8b5978b2a657ffa2f647ec7f3ae643e91cf42ee5cb070cf7e7c
16 PKG_BUILD_DEPENDS
:=libncurses libreadline
17 PKG_MAINTAINER
:=Álvaro Fernández Rojas
<noltari@gmail.com
>
21 include $(INCLUDE_DIR
)/package.mk
23 define Package
/bird
/Default
24 TITLE
:=The BIRD Internet Routing Daemon
25 URL
:=http
://bird.network.cz
/
29 define Package
/birdc
/Default
30 TITLE
:=The BIRD command-line client
31 URL
:=http
://bird.network.cz
/
32 DEPENDS
:= +libreadline
+libncurses
35 define Package
/birdcl
/Default
36 TITLE
:=The BIRD lightweight command-line client
37 URL
:=http
://bird.network.cz
/
40 define Package
/bird
/Default
/description1
41 BIRD is an internet routing daemon which manages TCP
/IP routing tables
42 with support of modern routing protocols
, easy to use configuration
43 interface and powerful route filtering language. It is lightweight and
44 efficient and therefore appropriate for small embedded routers.
48 define Package
/bird
/Default
/description2
49 In BGP
, BIRD supports communities
, multiprotocol extensions
, MD5
50 authentication
, 32bit AS numbers and could act
as a route server or a
51 route reflector. BIRD also supports multiple RIBs
, multiple kernel
52 routing tables and redistribution between the protocols with a powerful
57 define Package
/bird
/Default
/description3
58 This is a BIRD command-line client. It is used to send commands to BIRD
,
59 commands can perform simple actions such
as enabling
/disabling of
60 protocols
, telling BIRD to show various information
, telling it to show
61 a routing table filtered by a
filter, or asking BIRD to reconfigure.
63 Unless you can
't afford dependency on ncurses and readline, you
64 should install BIRD command-line client together with BIRD.
68 define Package/bird/Default/description4
69 This is a BIRD lightweight command-line client. It is used to send commands to BIRD,
70 commands can perform simple actions such as enabling/disabling of
71 protocols, telling BIRD to show various information, telling it to show
72 a routing table filtered by a filter, or asking BIRD to reconfigure.
77 $(call Package/bird/Default)
80 SUBMENU:=Routing and Redirection
85 $(call Package/birdc/Default)
88 SUBMENU:=Routing and Redirection
93 define Package/birdcl4
94 $(call Package/birdcl/Default)
97 SUBMENU:=Routing and Redirection
103 $(call Package/bird/Default)
106 SUBMENU:=Routing and Redirection
110 define Package/birdc6
111 $(call Package/birdc/Default)
114 SUBMENU:=Routing and Redirection
119 define Package/birdcl6
120 $(call Package/birdcl/Default)
123 SUBMENU:=Routing and Redirection
128 define Package/bird4/description
129 $(call Package/bird/Default/description1)
130 This is IPv4 version of BIRD, it supports OSPFv2, RIPv2 and BGP
133 $(call Package/bird/Default/description2)
136 define Package/birdc4/description
137 $(call Package/bird/Default/description1)
138 $(call Package/bird/Default/description3)
141 define Package/birdcl4/description
142 $(call Package/bird/Default/description1)
143 $(call Package/bird/Default/description4)
146 define Package/bird6/description
147 $(call Package/bird/Default/description1)
148 This is IPv6 version of BIRD, it supports OSPFv3, RIPng and BGP
151 $(call Package/bird/Default/description2)
154 define Package/birdc6/description
155 $(call Package/bird/Default/description1)
156 $(call Package/bird/Default/description3)
159 define Package/birdcl6/description
160 $(call Package/bird/Default/description1)
161 $(call Package/bird/Default/description4)
164 CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
166 TARGET_CFLAGS+=-std=gnu89
168 define Build/Template
170 $(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
171 $(call Build/Configure/Default,$(3))
172 $(call Build/Compile/Default,)
173 ( cd $(PKG_BUILD_DIR); mv -f bird bird$(2); mv -f birdc birdc$(2); mv -f birdcl birdcl$(2) )
174 -$(MAKE) -C $(PKG_BUILD_DIR) clean
177 $(STAMP_BUILT): $(STAMP_BUILT)-$(2)
179 define Package/bird$(2)/install
180 $(INSTALL_DIR) $$(1)/usr/sbin
181 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/bird$(2) $$(1)/usr/sbin/
182 $(INSTALL_DIR) $$(1)/etc
183 $(INSTALL_DATA) ./files/bird$(2).conf $$(1)/etc/
184 $(INSTALL_DIR) $$(1)/etc/init.d
185 $(INSTALL_BIN) ./files/bird$(2).init $$(1)/etc/init.d/bird$(2)
189 define Package/bird$(2)/conffiles
193 define Package/birdc$(2)/install
194 $(INSTALL_DIR) $$(1)/usr/sbin
195 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/
198 define Package/birdcl$(2)/install
199 $(INSTALL_DIR) $$(1)/usr/sbin
200 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdcl$(2) $$(1)/usr/sbin/
206 $(eval $(call Build/Template,bird4,4, --disable-ipv6))
207 $(eval $(call Build/Template,bird6,6, --enable-ipv6))
209 $(eval $(call BuildPackage,bird4))
210 $(eval $(call BuildPackage,birdc4))
211 $(eval $(call BuildPackage,birdcl4))
212 $(eval $(call BuildPackage,bird6))
213 $(eval $(call BuildPackage,birdc6))
214 $(eval $(call BuildPackage,birdcl6))