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))