Port quagga to -ng
[packages.git] / net / quagga / Makefile
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=quagga
12 PKG_VERSION:=0.98.5
13 PKG_RELEASE:=1
14 PKG_MD5SUM:=ec09c1ec624aea98e18aa19282666784
15
16 PKG_SOURCE_URL:=http://www.quagga.net/download/ \
17                 http://www.de.quagga.net/download/ \
18                 http://www.uk.quagga.net/download/
19 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
21 PKG_CAT:=zcat
22
23 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
24 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/quagga
29   SECTION:=net
30   CATEGORY:=Network
31   TITLE:=The Quagga Software Routing Suite
32   DESCRIPTION:=A routing software package that provides TCP/IP based routing services\\\
33         with routing protocols support such as RIPv1, RIPv2, RIPng, OSPFv2,\\\
34         OSPFv3, BGP-4, and BGP-4+\\\
35   URL:=http://www.quagga.net
36   MENU:=1
37 endef
38
39 define Package/quagga-libzebra
40   SECTION:=net
41   CATEGORY:=Network
42   DEPENDS:=quagga
43   TITLE:=zebra library
44 endef
45
46 define Package/quagga-libospf
47   SECTION:=net
48   CATEGORY:=Network
49   DEPENDS:=quagga
50   TITLE:=OSPF library
51 endef
52
53 define Package/quagga-bgpd
54   SECTION:=net
55   CATEGORY:=Network
56   DEPENDS:=quagga
57   TITLE:=BGPv4, BGPv4+, BGPv4- routing engine
58 endef
59
60 define Package/quagga-isisd
61   SECTION:=net
62   CATEGORY:=Network
63   DEPENDS:=quagga
64   TITLE:=IS-IS routing engine
65 endef
66
67 define Package/quagga-ospfd
68   SECTION:=net
69   CATEGORY:=Network
70   DEPENDS:=quagga quagga-libospf
71   TITLE:=OSPFv2 routing engine
72 endef
73
74 define Package/quagga-ospf6d
75   SECTION:=net
76   CATEGORY:=Network
77   DEPENDS:=quagga quagga-libospf
78   TITLE:=OSPFv3 routing engine
79 endef
80
81 define Package/quagga-ripd
82   SECTION:=net
83   CATEGORY:=Network
84   DEPENDS:=quagga
85   TITLE:=RIP routing engine
86 endef
87
88 define Package/quagga-ripngd
89   SECTION:=net
90   CATEGORY:=Network
91   DEPENDS:=quagga
92   TITLE:=RIPNG routing engine
93 endef
94
95 define Package/quagga-vtysh
96   SECTION:=net
97   CATEGORY:=Network
98   DEPENDS:=quagga +libreadline +libncurses
99   TITLE:=integrated shell for Quagga routing software
100 endef
101
102 define Build/Configure
103 $(call Build/Configure/Default, --enable-shared \
104                 --disable-static \
105                 --enable-ipv6 \
106                 --enable-vtysh \
107                 --enable-user=quagga \
108                 --enable-group=quagga \
109                 --enable-multipath=8 \
110                 --enable-isisd)
111 endef
112
113 define Build/Compile    
114         $(MAKE) -C $(PKG_BUILD_DIR) \
115                 DESTDIR=$(PKG_INSTALL_DIR) \
116                 all install
117 endef
118
119 define Package/quagga/install   
120         install -d -m0755 $(1)/usr/sbin
121         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/zebra $(1)/usr/sbin/
122         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/watchquagga $(1)/usr/sbin/
123         # avoid /etc being set to 0750
124         install -d -m0755 $(1)/etc/quagga/
125         chmod 0750 $(1)/etc/quagga/
126         install -d -m0755 $(1)/etc/init.d/
127         install -m0755 ./files/quagga.init $(1)/etc/init.d/quagga
128         ln -sf quagga $(1)/etc/init.d/S49quagga
129         install -d -m0755 $(1)/var/run/quagga
130 endef
131
132 define Package/quagga-bgpd/install      
133         install -d -m0755 $(1)/usr/sbin
134         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/bgpd $(1)/usr/sbin/
135 endef
136
137 define Package/quagga-isisd/install
138         install -d -m0755 $(1)/usr/sbin
139         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/isisd $(1)/usr/sbin
140 endef
141
142 define Package/quagga-ospfd/install     
143         install -d -m0755 $(1)/usr/lib
144         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libospf.so.* $(1)/usr/lib/
145         install -d -m0755 $(1)/usr/sbin
146         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ospfd $(1)/usr/sbin/
147 endef
148
149 define Package/quagga-ospf6d/install    
150         install -d -m0755 $(1)/usr/sbin
151         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ospf6d $(1)/usr/sbin/
152 endef
153
154 define Package/quagga-ripd/install      
155         install -d -m0755 $(1)/usr/sbin
156         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ripd $(1)/usr/sbin/
157 endef
158
159 define Package/quagga-ripngd/install    
160         install -d -m0755 $(1)/usr/sbin
161         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ripngd $(1)/usr/sbin/
162 endef
163
164 define Package/quagga-vtysh/install     
165         install -d -m0755 $(1)/usr/bin
166         $(CP) $(PKG_INSTALL_DIR)/usr/bin/vtysh $(1)/usr/bin/
167 endef
168
169 define Package/quagga-libospf/install
170         install -d -m0755 $(1)/usr/lib
171         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libospf.so.* $(1)/usr/lib/
172 endef
173
174 define Package/quagga-libzebra/install
175         install -d -m0755 $(1)/usr/lib
176         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzebra.so.* $(1)/usr/lib
177 endef
178
179 $(eval $(call BuildPackage,quagga))
180 $(eval $(call BuildPackage,quagga-libzebra))
181 $(eval $(call BuildPackage,quagga-libospf))
182 $(eval $(call BuildPackage,quagga-bgpd))
183 $(eval $(call BuildPackage,quagga-isisd))
184 $(eval $(call BuildPackage,quagga-ospfd))
185 $(eval $(call BuildPackage,quagga-ospf6d))
186 $(eval $(call BuildPackage,quagga-ripd))
187 $(eval $(call BuildPackage,quagga-ripngd))
188 $(eval $(call BuildPackage,quagga-vtysh))