a20ea26ab2a1da0d79418cb1f881e655c21c6e70
[feed/routing.git] / mrd6 / Makefile
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=mrd6
11 PKG_SOURCE_VERSION:=c805eb33255dbc0b6647d463c6c67d1c9d3105a0
12 PKG_VERSION:=2013-11-30-$(PKG_SOURCE_VERSION)
13 PKG_RELEASE:=1
14
15 PKG_SOURCE_PROTO:=git
16 PKG_SOURCE_URL:=git://github.com/hugosantos/mrd6.git
17 PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
18 PKG_LICENSE:=GPL-2.0+
19
20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
21 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
22
23 PKG_BUILD_PARALLEL:=1
24 PKG_INSTALL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/mrd6
29 SECTION:=net
30 CATEGORY:=Network
31 TITLE:=IPv6 multicast routing daemon
32 URL:=http://fivebits.net/proj/mrd6
33 DEPENDS:=@IPV6 +libstdcpp
34 endef
35
36 define Package/mrd6/description
37 Multicast is becoming a major component in next generation networks, used
38 in several scenarios, from video broadcasting to multimedia conferencing.
39 In order to be implemented, new technology needs supporting hardware and
40 software across a set of devices and systems. MRD6 is an implementation of
41 a modular IPv6 Multicast Routing Framework for the Linux operating system
42 and provides MLDv2 (as well as MLDv1), PIM-SM and MBGP support.
43 endef
44
45 MRD6_MAKEFLAGS:= \
46 $(TARGET_CONFIGURE_OPTS) \
47 OPTIMIZE=yes \
48 SPACE_OPTIMIZE=yes \
49 FULL_STATIC=no \
50 CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -DNO_INET6_OPTION -fno-builtin -fno-rtti" \
51 LDFLAGS="$(TARGET_LDFLAGS) -ldl -lm" \
52 MODULE_CXX="\$$$$(CC) -shared \$$$$(CXXFLAGS) \$$$$(LDFLAGS)" \
53 DESTDIR="$(PKG_INSTALL_DIR)" \
54 PREFIX="/usr"
55
56 define Build/Compile
57 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/src $(MRD6_MAKEFLAGS) all
58 endef
59
60 define Build/Install
61 $(MAKE) -C $(PKG_BUILD_DIR)/src $(MRD6_MAKEFLAGS) install
62 endef
63
64 define Package/mrd6/conffiles
65 /etc/mrd6.conf
66 endef
67
68 define Package/mrd6/install
69 $(INSTALL_DIR) $(1)/etc/init.d
70 $(INSTALL_CONF) ./files/mrd6.conf $(1)/etc
71 $(INSTALL_BIN) ./files/mrd6.init $(1)/etc/init.d/mrd6
72 $(INSTALL_DIR) $(1)/usr/sbin
73 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mrd $(1)/usr/sbin/mrd6
74 $(INSTALL_DIR) $(1)/usr/bin
75 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mrd6sh $(1)/usr/bin/mrd6sh
76 $(INSTALL_DIR) $(1)/usr/lib/mrd6
77 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mrd6/bgp.so $(1)/usr/lib/mrd6/bgp.so
78 endef
79
80 $(eval $(call BuildPackage,mrd6))