Makefile 2.3 KB

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