|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
| 2 | + |
| 3 | +include $(TOPDIR)/rules.mk |
| 4 | + |
| 5 | +PKG_NAME:=oonf-olsrd2 |
| 6 | +PKG_RELEASE:=1 |
| 7 | + |
| 8 | +PKG_MAINTAINER:=Matthias Tarasiewicz <mt@riat.at> |
| 9 | +PKG_LICENSE:=BSD-3-Clause |
| 10 | + |
| 11 | +PKG_SOURCE_PROTO:=git |
| 12 | +PKG_SOURCE_URL:=https://github.com/OLSR/OONF.git |
| 13 | +PKG_SOURCE_DATE:=2025-12-04 |
| 14 | +PKG_SOURCE_VERSION:=b2164126e12340f19ea33070e1e11eb469a051e5 |
| 15 | +PKG_MIRROR_HASH:=75f54d0d45f40bd64eba191ac5986d320210c887e101ff5498e9cfdb7febf033 |
| 16 | + |
| 17 | +include $(INCLUDE_DIR)/package.mk |
| 18 | +include $(INCLUDE_DIR)/cmake.mk |
| 19 | + |
| 20 | + |
| 21 | +# ref https://stackoverflow.com/a/10571900/3990041 |
| 22 | +SPACE:= $(subst ,, ) |
| 23 | +CMAKE_OPTIONAL_PLUGINS:= $(subst $(SPACE),;,$(strip \ |
| 24 | + $(if $(filter y,$(CONFIG_OONF_NHDP_AUTOLL4)),auto_ll4,) \ |
| 25 | + $(if $(filter y,$(CONFIG_OONF_OLSRV2_LAN_IMPORT)),lan_import,) \ |
| 26 | + $(if $(filter y,$(CONFIG_OONF_OLSRV2_ROUTE_MODIFIER)),route_modifier,) \ |
| 27 | + $(if $(filter y,$(CONFIG_OONF_GENERIC_DLEP_ROUTER)),dlep,) \ |
| 28 | + $(if $(filter y,$(CONFIG_OONF_GENERIC_REMOTECONTROL)),remotecontrol,) \ |
| 29 | + $(if $(filter y,$(CONFIG_OONF_OLSRV2_MPR)),mpr,) \ |
| 30 | + $(if $(filter y,$(CONFIG_OONF_GENERIC_HTTP)),http,) \ |
| 31 | + $(if $(filter y,$(CONFIG_OONF_OLSRV2_LAN)),olsrv2_lan,) \ |
| 32 | + $(if $(filter y,$(CONFIG_OONF_OLSRV2_OLD_LAN)),olsrv2_old_lan,) \ |
| 33 | + )) |
| 34 | + |
| 35 | +BUILD_TYPE:= $(if $(filter y,$(CONFIG_DEBUG)),Debug,Release) |
| 36 | + |
| 37 | +CMAKE_OPTIONS+=-D CMAKE_BUILD_TYPE:String=$(BUILD_TYPE) \ |
| 38 | + -D OONF_NO_WERROR:Bool=true \ |
| 39 | + -D OONF_LOGGING_LEVEL:String=debug \ |
| 40 | + -D OONF_NO_TESTING:Bool=true \ |
| 41 | + -D UCI:Bool=true \ |
| 42 | + -D OONF_APP_DEFAULT_CFG_HANDLER:String=uci \ |
| 43 | + -D OONF_STATIC_PLUGINS:String="class;callback;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}" \ |
| 44 | + -D OONF_LIB_GIT:String=$(PKG_SOURCE_VERSION) \ |
| 45 | + -D VERSION_SUB_TAG:String=$(PKG_SOURCE_DATE) \ |
| 46 | + -D INSTALL_LIB_DIR:Path=lib/oonf \ |
| 47 | + -D INSTALL_INCLUDE_DIR:Path=include/oonf \ |
| 48 | + -D INSTALL_CMAKE_DIR:Path=lib/oonf \ |
| 49 | + -D CMAKE_PREFIX_PATH=$(STAGING_DIR)/usr \ |
| 50 | + -D CMAKE_GENERATOR=Ninja |
| 51 | + |
| 52 | +define Package/oonf-olsrd2 |
| 53 | + SECTION:=net |
| 54 | + CATEGORY:=Network |
| 55 | + SUBMENU:=OLSR.org network framework |
| 56 | + TITLE:=OLSRv2 routing agent (olsrd2) |
| 57 | + URL:=https://www.olsr.org/ |
| 58 | + DEPENDS:=+librt +libnl-tiny +libuci +oonf-init-scripts |
| 59 | + MENU:=1 |
| 60 | +endef |
| 61 | + |
| 62 | +define Package/oonf-olsrd2/config |
| 63 | + source "$(SOURCE)/Config.in" |
| 64 | +endef |
| 65 | + |
| 66 | +Build/Compile=$(call Build/Compile/Default,olsrd2_static) |
| 67 | + |
| 68 | +Build/Install= |
| 69 | + |
| 70 | +define Build/Install |
| 71 | + $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/$(MAKE_PATH)/olsrd2_static $(PKG_INSTALL_DIR)/usr/sbin/olsrd2; |
| 72 | +endef |
| 73 | + |
| 74 | +TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -I${STAGING_DIR}/usr/include/libnl-tiny |
| 75 | + |
| 76 | +define Package/oonf-olsrd2/install |
| 77 | + $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/hotplug.d/iface $(1)/etc/config |
| 78 | + $(INSTALL_BIN) $(PKG_BUILD_DIR)/olsrd2_static $(1)/usr/sbin/olsrd2 |
| 79 | + $(INSTALL_BIN) ./files/olsrd2.init $(1)/etc/init.d/olsrd2 |
| 80 | + $(INSTALL_DATA) ./files/olsrd2.hotplug $(1)/etc/hotplug.d/iface/50-olsrd2 |
| 81 | + $(INSTALL_CONF) ./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)) |
0 commit comments