Add optional packages to OONF olsrd2
[feed/routing.git] / oonf-olsrd2 / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=oonf-olsrd2
4 PKG_VERSION:=0.11.4
5 PKG_REV:=a7087466958d3af477fecf4ad8e412ccca33d4c7
6 PKG_RELEASE:=$(PKG_REV)
7
8 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
9 PKG_SOURCE_URL:=https://github.com/OLSR/OONF.git
10 PKG_SOURCE_PROTO:=git
11 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
12 PKG_SOURCE_VERSION:=$(PKG_REV)
13
14 CMAKE_INSTALL:=1
15
16 include $(INCLUDE_DIR)/package.mk
17 include $(INCLUDE_DIR)/cmake.mk
18
19 SPACE:=
20 SPACE+=
21 CMAKE_OPTIONAL_PLUGINS:= $(subst $(SPACE),;,$(strip \
22 $(if $(filter y,$(CONFIG_OONF_NHDP_AUTOLL4)),auto_ll4,) \
23 $(if $(filter y,$(CONFIG_OONF_OLSRV2_LAN_IMPORT)),lan_import,) \
24 $(if $(filter y,$(CONFIG_OONF_OLSRV2_ROUTE_MODIFIER)),route_modifier,) \
25 $(if $(filter y,$(CONFIG_OONF_GENERIC_DLEP_ROUTER)),dlep_router,) \
26 ))
27
28 CMAKE_OPTIONS=-D OONF_NO_WERROR:Bool=true \
29 -D OONF_LOGGING_LEVEL:String=debug \
30 -D OONF_NO_TESTING:Bool=true \
31 -D UCI:Bool=true \
32 -D OONF_APP_DEFAULT_CFG_HANDLER:String=uci \
33 -D OONF_STATIC_PLUGINS:String="class;clock;duplicate_set;interface;layer2;packet_socket;rfc5444;socket;stream_socket;telnet;timer;viewer;os_clock;os_fd;os_interface;os_routing;os_system;nhdp;olsrv2;ff_dat_metric;neighbor_probing;nl80211_listener;link_config;layer2info;systeminfo;cfg_uciloader;cfg_compact;nhdpinfo;olsrv2info;netjsoninfo;${CMAKE_OPTIONAL_PLUGINS}" \
34 -D OONF_LIB_GIT:String=v$(PKG_VERSION)-archive \
35 -D OONF_VERSION:String=$(PKG_VERSION) \
36 -D INSTALL_LIB_DIR:Path=lib/oonf \
37 -D INSTALL_INCLUDE_DIR:Path=include/oonf \
38 -D INSTALL_CMAKE_DIR:Path=lib/oonf \
39 -D CMAKE_PREFIX_PATH=$(STAGING_DIR)/usr
40
41 define Package/oonf-git/template
42 SECTION:=net
43 CATEGORY:=Network
44 MAINTAINER:=Henning Rogge <hrogge@gmail.com>
45 SUBMENU:=OLSR.org network framework
46 URL:=http://www.olsr.org/
47 MENU:=1
48 endef
49
50 define Package/oonf-olsrd2
51 $(call Package/oonf-git/template)
52 TITLE:= Build Olsrd V2 Routing Agent
53 DEPENDS:=+librt +libnl-tiny +libuci +oonf-init-scripts
54 VERSION:=$(PKG_VERSION)
55 endef
56
57 define Package/oonf-olsrd2/config
58 source "$(SOURCE)/Config.in"
59 endef
60
61 Build/Compile=$(call Build/Compile/Default,olsrd2_static)
62 Build/Install=
63
64 define Build/Install
65 $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/$(MAKE_PATH)/olsrd2_static $(PKG_INSTALL_DIR)/usr/sbin/olsrd2;
66 endef
67
68 TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -I${STAGING_DIR}/usr/include/libnl-tiny
69
70 define Package/oonf-olsrd2/install
71 $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/olsrd2_static $(1)/usr/sbin/olsrd2
72 $(INSTALL_BIN) -D ./files/olsrd2.init $(1)/etc/init.d/olsrd2
73 $(INSTALL_BIN) -D ./files/olsrd2.hotplug $(1)/etc/hotplug.d/iface/50-olsrd2
74 $(INSTALL_DATA) -D ./files/olsrd2.uci $(1)/etc/config/olsrd2
75 endef
76
77 define Package/oonf-olsrd2/conffiles
78 /etc/config/olsrd2
79 endef
80
81 $(eval $(call BuildPackage,oonf-olsrd2))