Added multipath routing to quagga, and close #290
[openwrt.git] / package / quagga / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_NAME:=quagga
6 PKG_VERSION:=0.98.5
7 PKG_RELEASE:=1
8 PKG_MD5SUM:=ec09c1ec624aea98e18aa19282666784
9
10 PKG_SOURCE_URL:=http://www.quagga.net/download/ \
11                 http://www.de.quagga.net/download/ \
12                 http://www.uk.quagga.net/download/
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
14 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
15 PKG_CAT:=zcat
16
17 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
18 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
19
20 include $(TOPDIR)/package/rules.mk
21
22 $(eval $(call PKG_template,QUAGGA,quagga,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
23 $(eval $(call PKG_template,QUAGGA_BGPD,quagga-bgpd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
24 $(eval $(call PKG_template,QUAGGA_OSPFD,quagga-ospfd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
25 $(eval $(call PKG_template,QUAGGA_OSPF6D,quagga-ospf6d,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
26 $(eval $(call PKG_template,QUAGGA_RIPD,quagga-ripd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
27 $(eval $(call PKG_template,QUAGGA_RIPNGD,quagga-ripngd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
28 $(eval $(call PKG_template,QUAGGA_VTYSH,quagga-vtysh,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
29
30 $(PKG_BUILD_DIR)/.configured:
31         (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status}; \
32                 $(TARGET_CONFIGURE_OPTS) \
33                 CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
34                 LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
35                 ./configure \
36                 --target=$(GNU_TARGET_NAME) \
37                 --host=$(GNU_TARGET_NAME) \
38                 --build=$(GNU_HOST_NAME) \
39                 --program-prefix="" \
40                 --program-suffix="" \
41                 --prefix=/usr \
42                 --exec-prefix=/usr \
43                 --bindir=/usr/bin \
44                 --sbindir=/usr/sbin \
45                 --libexecdir=/usr/lib \
46                 --datadir=/usr/share \
47                 --includedir=/usr/include \
48                 --infodir=/usr/share/info \
49                 --libdir=/usr/lib \
50                 --libexecdir=/usr/lib \
51                 --localstatedir=/var/run/quagga \
52                 --mandir=/usr/share/man \
53                 --sbindir=/usr/sbin \
54                 --sysconfdir=/etc/quagga \
55                 $(DISABLE_NLS) \
56                 $(DISABLE_LARGEFILE) \
57                 --enable-shared \
58                 --disable-static \
59                 --enable-ipv6 \
60                 --enable-vtysh \
61                 --enable-user=quagga \
62                 --enable-group=quagga \
63                 --enable-multipath=8 \
64         );
65         touch $@
66
67 $(PKG_BUILD_DIR)/.built:
68         $(MAKE) -C $(PKG_BUILD_DIR) \
69                 DESTDIR=$(PKG_INSTALL_DIR) \
70                 all install
71         touch $@
72
73 $(IPKG_QUAGGA):
74         install -d -m0755 $(IDIR_QUAGGA)/usr/lib
75         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzebra.so.* $(IDIR_QUAGGA)/usr/lib/
76         install -d -m0755 $(IDIR_QUAGGA)/usr/sbin
77         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/zebra $(IDIR_QUAGGA)/usr/sbin/
78         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/watchquagga $(IDIR_QUAGGA)/usr/sbin/
79         # avoid /etc being set to 0750
80         install -d -m0755 $(IDIR_QUAGGA)/etc/quagga/
81         chmod 0750 $(IDIR_QUAGGA)/etc/quagga/
82         install -d -m0755 $(IDIR_QUAGGA)/etc/init.d/
83         install -m0755 ./files/quagga.init $(IDIR_QUAGGA)/etc/init.d/quagga
84         ln -sf quagga $(IDIR_QUAGGA)/etc/init.d/S49quagga
85         install -d -m0755 $(IDIR_QUAGGA)/var/run/quagga
86         $(RSTRIP) $(IDIR_QUAGGA)
87         $(IPKG_BUILD) $(IDIR_QUAGGA) $(PACKAGE_DIR)
88
89 $(IPKG_QUAGGA_BGPD):
90         install -d -m0755 $(IDIR_QUAGGA_BGPD)/usr/sbin
91         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/bgpd $(IDIR_QUAGGA_BGPD)/usr/sbin/
92         $(RSTRIP) $(IDIR_QUAGGA_BGPD)
93         $(IPKG_BUILD) $(IDIR_QUAGGA_BGPD) $(PACKAGE_DIR)
94
95 $(IPKG_QUAGGA_OSPFD):
96         install -d -m0755 $(IDIR_QUAGGA_OSPFD)/usr/lib
97         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libospf.so.* $(IDIR_QUAGGA_OSPFD)/usr/lib/
98         install -d -m0755 $(IDIR_QUAGGA_OSPFD)/usr/sbin
99         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ospfd $(IDIR_QUAGGA_OSPFD)/usr/sbin/
100         $(RSTRIP) $(IDIR_QUAGGA_OSPFD)
101         $(IPKG_BUILD) $(IDIR_QUAGGA_OSPFD) $(PACKAGE_DIR)
102
103 $(IPKG_QUAGGA_OSPF6D):
104         install -d -m0755 $(IDIR_QUAGGA_OSPF6D)/usr/sbin
105         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ospf6d $(IDIR_QUAGGA_OSPF6D)/usr/sbin/
106         $(RSTRIP) $(IDIR_QUAGGA_OSPF6D)
107         $(IPKG_BUILD) $(IDIR_QUAGGA_OSPF6D) $(PACKAGE_DIR)
108
109 $(IPKG_QUAGGA_RIPD):
110         install -d -m0755 $(IDIR_QUAGGA_RIPD)/usr/sbin
111         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ripd $(IDIR_QUAGGA_RIPD)/usr/sbin/
112         $(RSTRIP) $(IDIR_QUAGGA_RIPD)
113         $(IPKG_BUILD) $(IDIR_QUAGGA_RIPD) $(PACKAGE_DIR)
114
115 $(IPKG_QUAGGA_RIPNGD):
116         install -d -m0755 $(IDIR_QUAGGA_RIPNGD)/usr/sbin
117         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ripngd $(IDIR_QUAGGA_RIPNGD)/usr/sbin/
118         $(RSTRIP) $(IDIR_QUAGGA_RIPNGD)
119         $(IPKG_BUILD) $(IDIR_QUAGGA_RIPNGD) $(PACKAGE_DIR)
120
121 $(IPKG_QUAGGA_VTYSH):
122         install -d -m0755 $(IDIR_QUAGGA_VTYSH)/usr/bin
123         $(CP) $(PKG_INSTALL_DIR)/usr/bin/vtysh $(IDIR_QUAGGA_VTYSH)/usr/bin/
124         $(RSTRIP) $(IDIR_QUAGGA_VTYSH)
125         $(IPKG_BUILD) $(IDIR_QUAGGA_VTYSH) $(PACKAGE_DIR)