mrd6: Makefle reordering
[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_RELEASE:=$(AUTORELEASE)
12
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_URL:=https://github.com/hugosantos/mrd6.git
15 PKG_SOURCE_DATE:=2013-11-30
16 PKG_SOURCE_VERSION:=c805eb33255dbc0b6647d463c6c67d1c9d3105a0
17 PKG_MIRROR_HASH:=976243b967c18fcbf64d26158898245264c6d03d498826b104e6c92406a8f64f
18
19 PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
20 PKG_LICENSE:=GPL-2.0-or-later
21 PKG_LICENSE_FILES:=COPYING
22
23 PKG_INSTALL:=1
24 PKG_BUILD_PARALLEL:=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 KERNEL=Linux
56
57 define Build/Compile
58 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/src $(MRD6_MAKEFLAGS) all
59 endef
60
61 define Build/Install
62 $(MAKE) -C $(PKG_BUILD_DIR)/src $(MRD6_MAKEFLAGS) install
63 endef
64
65 define Package/mrd6/conffiles
66 /etc/mrd6.conf
67 endef
68
69 define Package/mrd6/install
70 $(INSTALL_DIR) $(1)/etc/init.d
71 $(INSTALL_CONF) ./files/mrd6.conf $(1)/etc
72 $(INSTALL_BIN) ./files/mrd6.init $(1)/etc/init.d/mrd6
73 $(INSTALL_DIR) $(1)/usr/sbin
74 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mrd $(1)/usr/sbin/mrd6
75 $(INSTALL_DIR) $(1)/usr/bin
76 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mrd6sh $(1)/usr/bin/mrd6sh
77 $(INSTALL_DIR) $(1)/usr/lib/mrd6
78 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mrd6/bgp.so $(1)/usr/lib/mrd6/bgp.so
79 endef
80
81 $(eval $(call BuildPackage,mrd6))