2 # Copyright (C) 2009-2012 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:=8ad2eb997fb8251bc5b24cf32619571b
16 PKG_BUILD_DEPENDS:=libncurses libreadline
18 include $(INCLUDE_DIR)/package.mk
20 define Package/bird/Default
21 TITLE:=The BIRD Internet Routing Daemon
22 URL:=http://bird.network.cz/
26 define Package/birdc/Default
27 TITLE:=The BIRD command-line client
28 URL:=http://bird.network.cz/
29 DEPENDS:= +libreadline +libncurses
32 define Package/bird/Default/description1
33 BIRD is an internet routing daemon which manages TCP/IP routing tables
34 with support of modern routing protocols, easy to use configuration
35 interface and powerful route filtering language. It is lightweight and
36 efficient and therefore appropriate for small embedded routers.
40 define Package/bird/Default/description2
41 In BGP, BIRD supports communities, multiprotocol extensions, MD5
42 authentication, 32bit AS numbers and could act as a route server or a
43 route reflector. BIRD also supports multiple RIBs, multiple kernel
44 routing tables and redistribution between the protocols with a powerful
49 define Package/bird/Default/description3
50 This is a BIRD command-line client. It is used to send commands to BIRD,
51 commands can perform simple actions such as enabling/disabling of
52 protocols, telling BIRD to show various information, telling it to show
53 a routing table filtered by a filter, or asking BIRD to reconfigure.
55 Unless you can't afford dependency on ncurses and readline, you
56 should install BIRD command-line client together with BIRD.
61 $(call Package/bird/Default)
64 SUBMENU:=Routing and Redirection
69 $(call Package/birdc/Default)
72 SUBMENU:=Routing and Redirection
78 $(call Package/bird/Default)
85 $(call Package/birdc/Default)
92 define Package/bird4/description
93 $(call Package/bird/Default/description1)
94 This is IPv4 version of BIRD, it supports OSPFv2, RIPv2 and BGP
97 $(call Package/bird/Default/description2)
100 define Package/birdc4/description
101 $(call Package/bird/Default/description1)
102 $(call Package/bird/Default/description3)
105 define Package/bird6/description
106 $(call Package/bird/Default/description1)
107 This is IPv6 version of BIRD, it supports OSPFv3, RIPng and BGP
110 $(call Package/bird/Default/description2)
113 define Package/birdc6/description
114 $(call Package/bird/Default/description1)
115 $(call Package/bird/Default/description3)
118 CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
120 define Build/Template
122 $(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
123 $(call Build/Configure/Default,$(3))
124 $(call Build/Compile/Default,)
125 ( cd $(PKG_BUILD_DIR); mv -f bird bird$(2); mv -f birdc birdc$(2) )
126 -$(MAKE) -C $(PKG_BUILD_DIR) clean
129 $(STAMP_BUILT): $(STAMP_BUILT)-$(2)
131 define Package/bird$(2)/install
132 $(INSTALL_DIR) $$(1)/usr/sbin
133 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/bird$(2) $$(1)/usr/sbin/
134 $(INSTALL_BIN) ./files/bird$(2)loop $$(1)/usr/sbin/
135 $(INSTALL_DIR) $$(1)/etc
136 $(INSTALL_DATA) ./files/bird$(2).conf $$(1)/etc/
137 $(INSTALL_DIR) $$(1)/etc/init.d
138 $(INSTALL_BIN) ./files/bird$(2).init $$(1)/etc/init.d/bird$(2)
142 define Package/bird$(2)/conffiles
146 define Package/birdc$(2)/install
147 $(INSTALL_DIR) $$(1)/usr/sbin
148 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/
154 $(eval $(call Build/Template,bird4,4, --disable-ipv6))
155 $(eval $(call Build/Template,bird6,6, --enable-ipv6))
157 $(eval $(call BuildPackage,bird4))
158 $(eval $(call BuildPackage,birdc4))
159 $(eval $(call BuildPackage,bird6))
160 $(eval $(call BuildPackage,birdc6))