source: packages/net/bird/Makefile @ 32548

Last change on this file since 32548 was 32548, checked in by nbd, 4 years ago

bird: link against librt when using eglibc

File size: 4.1 KB
Line 
1#
2# Copyright (C) 2009-2012 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6
7include $(TOPDIR)/rules.mk
8
9PKG_NAME:=bird
10PKG_VERSION:=1.3.7
11PKG_RELEASE:=1
12
13PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz
14PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird
15PKG_MD5SUM:=c400b008ef834d9e7288dcdbe41b7c15
16PKG_BUILD_DEPENDS:=libncurses libreadline
17
18include $(INCLUDE_DIR)/package.mk
19
20define Package/bird/Default
21  TITLE:=The BIRD Internet Routing Daemon
22  URL:=http://bird.network.cz/
23  DEPENDS:= +USE_EGLIBC:librt
24endef
25
26define Package/birdc/Default
27  TITLE:=The BIRD command-line client
28  URL:=http://bird.network.cz/
29  DEPENDS:= +libreadline +libncurses
30endef
31
32define Package/bird/Default/description1
33BIRD is an internet routing daemon which manages TCP/IP routing tables
34with support of modern routing protocols, easy to use configuration
35interface and powerful route filtering language. It is lightweight and
36efficient and therefore appropriate for small embedded routers.
37
38endef
39
40define Package/bird/Default/description2
41In BGP, BIRD supports communities, multiprotocol extensions, MD5
42authentication, 32bit AS numbers and could act as a route server or a
43route reflector. BIRD also supports multiple RIBs, multiple kernel
44routing tables and redistribution between the protocols with a powerful
45configuration syntax.
46
47endef
48
49define Package/bird/Default/description3
50This is a BIRD command-line client. It is used to send commands to BIRD,
51commands can perform simple actions such as enabling/disabling of
52protocols, telling BIRD to show various information, telling it to show
53a routing table filtered by a filter, or asking BIRD to reconfigure.
54
55Unless you can't afford dependency on ncurses and readline, you
56should install BIRD command-line client together with BIRD.
57
58endef
59
60define Package/bird4
61$(call Package/bird/Default)
62  SECTION:=net
63  CATEGORY:=Network
64  SUBMENU:=Routing and Redirection
65  TITLE+= (IPv4)
66endef
67
68define Package/birdc4
69$(call Package/birdc/Default)
70  SECTION:=net
71  CATEGORY:=Network
72  SUBMENU:=Routing and Redirection
73  TITLE+= (IPv4)
74  DEPENDS+= +bird4
75endef
76
77define Package/bird6
78$(call Package/bird/Default)
79  SECTION:=ipv6
80  CATEGORY:=IPv6
81  TITLE+= (IPv6)
82endef
83
84define Package/birdc6
85$(call Package/birdc/Default)
86  SECTION:=ipv6
87  CATEGORY:=IPv6
88  TITLE+= (IPv6)
89  DEPENDS+= +bird6
90endef
91
92define Package/bird4/description
93$(call Package/bird/Default/description1)
94This is IPv4 version of BIRD, it supports OSPFv2, RIPv2 and BGP
95protocols.
96
97$(call Package/bird/Default/description2)
98endef
99
100define Package/birdc4/description
101$(call Package/bird/Default/description1)
102$(call Package/bird/Default/description3)
103endef
104
105define Package/bird6/description
106$(call Package/bird/Default/description1)
107This is IPv6 version of BIRD, it supports OSPFv3, RIPng and BGP
108protocols.
109
110$(call Package/bird/Default/description2)
111endef
112
113define Package/birdc6/description
114$(call Package/bird/Default/description1)
115$(call Package/bird/Default/description3)
116endef
117
118CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
119
120define Build/Template
121
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
127        touch $$@
128
129$(STAMP_BUILT): $(STAMP_BUILT)-$(2)
130
131define 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)
139
140endef
141
142define Package/bird$(2)/conffiles
143/etc/bird$(2).conf
144endef
145
146define Package/birdc$(2)/install
147        $(INSTALL_DIR) $$(1)/usr/sbin
148        $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/
149endef
150
151endef
152
153
154$(eval $(call Build/Template,bird4,4, --disable-ipv6))
155$(eval $(call Build/Template,bird6,6, --enable-ipv6))
156
157$(eval $(call BuildPackage,bird4))
158$(eval $(call BuildPackage,birdc4))
159$(eval $(call BuildPackage,bird6))
160$(eval $(call BuildPackage,birdc6))
Note: See TracBrowser for help on using the repository browser.