summaryrefslogtreecommitdiff
path: root/mcproxy/Makefile
blob: f5d6a1d593b5fa228ed26bbbd03d8ead4aab54b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#
# Copyright (C) 2014 Alvaro Fernandez Rojas <noltari@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=mcproxy
PKG_VERSION:=1.1.0

PKG_RELEASE=$(PKG_SOURCE_VERSION)

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=git://github.com/mcproxy/mcproxy.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=df2d117dd67a7948f86d7effc5b9ea8f372466d8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz

include $(INCLUDE_DIR)/package.mk

define Package/mcproxy
  SECTION:=net
  CATEGORY:=Network
  SUBMENU:=Routing and Redirection
  TITLE:=Multicast Proxy for IGMP/MLD
  URL:=http://mcproxy.realmv6.org/
  DEPENDS:=+libpthread +libstdcpp @(!GCC_VERSION_4_4&&!GCC_VERSION_4_6)
endef

define Package/mcproxy/description
  mcproxy is a free & open source implementation of the IGMP/MLD proxy
  function (see RFC4605) for Linux systems. It operates on the kernel
  tables for multicast routing and allows for multiple instantiations,
  as well as dynamically changing downstream interfaces.

  The current design was motivated by research and IETF standardization
  activities in the MULTIMOB group (see RFC6224 and
  draft-ietf-multimob-pmipv6-source) and shall serve as a test and
  experimentation tool for the research community.
endef

define Build/Configure
	$(CP) ./src/Makefile $(PKG_BUILD_DIR)/mcproxy/
endef

TARGET_CXXFLAGS += -pipe -std=c++11 -O2 -Wall -W -fPIE
TARGET_LFLAGS += -Wl,-O1
TARGET_INCPATH += -I.
TARGET_LIBS += -lpthread

define Build/Compile
	$(MAKE) -C $(PKG_BUILD_DIR)/mcproxy \
		CXX="$(TARGET_CXX)" \
		CFLAGS="$(TARGET_CFLAGS)" \
		CXXFLAGS="$(TARGET_CXXFLAGS)" \
		LFLAGS="$(TARGET_LFLAGS)" \
		INCPATH="$(TARGET_INCPATH)" \
		LIBS="$(TARGET_LIBS)"
endef

define Package/mcproxy/install
	$(INSTALL_DIR) $(1)/etc $(1)/etc/init.d $(1)/usr/sbin
	$(INSTALL_CONF) ./files/mcproxy.conf $(1)/etc/mcproxy.conf
	$(INSTALL_BIN) ./files/mcproxy.init $(1)/etc/init.d/mcproxy
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/mcproxy/mcproxy $(1)/usr/sbin
endef

$(eval $(call BuildPackage,mcproxy))