40190edb72547587bc53bb3bee150398b7413aa2
[feed/routing.git] / oonf-olsrd2 / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=oonf-olsrd2
4 PKG_VERSION:=v0.15.1
5 PKG_REV:=bffb88b040659b237c4c91b6b42dbbb47431750e
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 PKG_MIRROR_HASH:=2e38140e804e7fc0138d0893416c4f19b1ca43bd9de066e8b028bd0d59ac9255
14
15 CMAKE_INSTALL:=1
16
17 include $(INCLUDE_DIR)/package.mk
18 include $(INCLUDE_DIR)/cmake.mk
19
20 SPACE:=
21 SPACE+=
22 CMAKE_OPTIONAL_PLUGINS:= $(subst $(SPACE),;,$(strip \
23 $(if $(filter y,$(CONFIG_OONF_NHDP_AUTOLL4)),auto_ll4,) \
24 $(if $(filter y,$(CONFIG_OONF_OLSRV2_LAN_IMPORT)),lan_import,) \
25 $(if $(filter y,$(CONFIG_OONF_OLSRV2_ROUTE_MODIFIER)),route_modifier,) \
26 $(if $(filter y,$(CONFIG_OONF_GENERIC_DLEP_ROUTER)),dlep_router,) \
27 $(if $(filter y,$(CONFIG_OONF_GENERIC_REMOTECONTROL)),remotecontrol,) \
28 $(if $(filter y,$(CONFIG_OONF_OLSRV2_MPR)),mpr,) \
29 $(if $(filter y,$(CONFIG_OONF_GENERIC_HTTP)),http,) \
30 ))
31
32 BUILD_TYPE:= $(if $(filter y,$(CONFIG_DEBUG)),Debug,Release)
33
34 CMAKE_OPTIONS+=-D CMAKE_BUILD_TYPE:String=$(BUILD_TYPE) \
35 -D OONF_NO_WERROR:Bool=true \
36 -D OONF_LOGGING_LEVEL:String=debug \
37 -D OONF_NO_TESTING:Bool=true \
38 -D UCI:Bool=true \
39 -D OONF_APP_DEFAULT_CFG_HANDLER:String=uci \
40 -D OONF_STATIC_PLUGINS:String="class;clock;duplicate_set;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}" \
41 -D OONF_LIB_GIT:String=v$(PKG_VERSION)-archive \
42 -D OONF_VERSION:String=$(PKG_VERSION) \
43 -D INSTALL_LIB_DIR:Path=lib/oonf \
44 -D INSTALL_INCLUDE_DIR:Path=include/oonf \
45 -D INSTALL_CMAKE_DIR:Path=lib/oonf \
46 -D CMAKE_PREFIX_PATH=$(STAGING_DIR)/usr
47
48 define Package/oonf-git/template
49 SECTION:=net
50 CATEGORY:=Network
51 MAINTAINER:=Henning Rogge <hrogge@gmail.com>
52 SUBMENU:=OLSR.org network framework
53 URL:=http://www.olsr.org/
54 MENU:=1
55 endef
56
57 define Package/oonf-olsrd2
58 $(call Package/oonf-git/template)
59 TITLE:= Build Olsrd V2 Routing Agent
60 DEPENDS:=+librt +libnl-tiny +libuci +oonf-init-scripts
61 VERSION:=$(PKG_VERSION)
62 endef
63
64 define Package/oonf-olsrd2/config
65 source "$(SOURCE)/Config.in"
66 endef
67
68 Build/Compile=$(call Build/Compile/Default,olsrd2_static)
69 Build/Install=
70
71 define Build/Install
72 $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/$(MAKE_PATH)/olsrd2_static $(PKG_INSTALL_DIR)/usr/sbin/olsrd2;
73 endef
74
75 TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -I${STAGING_DIR}/usr/include/libnl-tiny
76
77 define Package/oonf-olsrd2/install
78 $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/olsrd2_static $(1)/usr/sbin/olsrd2
79 $(INSTALL_BIN) -D ./files/olsrd2.init $(1)/etc/init.d/olsrd2
80 $(INSTALL_BIN) -D ./files/olsrd2.hotplug $(1)/etc/hotplug.d/iface/50-olsrd2
81 $(INSTALL_DATA) -D ./files/olsrd2.uci $(1)/etc/config/olsrd2
82 endef
83
84 define Package/oonf-olsrd2/conffiles
85 /etc/config/olsrd2
86 endef
87
88 $(eval $(call BuildPackage,oonf-olsrd2))