mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2026-01-28 01:47:19 +01:00
263 lines
7.8 KiB
Makefile
263 lines
7.8 KiB
Makefile
#
|
|
# Copyright (C) 2023 IOPSYS
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=bbfdm
|
|
PKG_VERSION:=1.0.22
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
|
|
PKG_SOURCE_VERSION:=125f9a489f26a5010dc160969cb990e78042695f
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_MIRROR_HASH:=skip
|
|
|
|
PKG_LICENSE:=BSD-3-Clause
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
define Package/libbbfdm-api
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=BBF datamodel library, provides API to extend datamodel using DotSO plugins
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
|
|
ABI_VERSION:=1.0
|
|
endef
|
|
|
|
define Package/libbbfdm/default
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Library for broadband forum data model support
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl +libbbfdm-api \
|
|
+BBF_TR471:obudpst
|
|
endef
|
|
|
|
define Package/libbbfdm
|
|
$(Package/libbbfdm/default)
|
|
TITLE += (default)
|
|
VARIANT:=default
|
|
DEPENDS += +PACKAGE_libbbfdm-openssl:libopenssl
|
|
DEFAULT_VARIANT:=1
|
|
endef
|
|
|
|
define Package/libbbfdm-mbedtls
|
|
$(Package/libbbfdm/default)
|
|
TITLE += (mbedtls)
|
|
DEPENDS += +PACKAGE_libbbfdm-mbedtls:libmbedtls
|
|
VARIANT:=mbedtls
|
|
CONFLICTS := libbbfdm libbbfdm-openssl libbbfdm-wolfssl
|
|
endef
|
|
|
|
define Package/libbbfdm-openssl
|
|
$(Package/libbbfdm/default)
|
|
TITLE += (openssl)
|
|
DEPENDS += +PACKAGE_libbbfdm-openssl:libopenssl
|
|
VARIANT:=openssl
|
|
CONFLICTS := libbbfdm libbbfdm-mbedtls libbbfdm-wolfssl
|
|
endef
|
|
|
|
define Package/libbbfdm-wolfssl
|
|
$(Package/libbbfdm/default)
|
|
TITLE += (wolfssl)
|
|
DEPENDS += +PACKAGE_libbbfdm-wolfssl:libwolfssl
|
|
VARIANT:=wolfssl
|
|
CONFLICTS := libbbfdm libbbfdm-mbedtls libbbfdm-openssl
|
|
endef
|
|
|
|
define Package/bbfdmd
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Datamodel ubus backend
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api +PACKAGE_libbbfdm-mbedtls:libbbfdm-mbedtls \
|
|
+PACKAGE_libbbfdm-openssl:libbbfdm-openssl +PACKAGE_libbbfdm-wolfssl:libbbfdm-wolfssl \
|
|
+PACKAGE_libbbfdm:libbbfdm
|
|
endef
|
|
|
|
define Package/userinterface
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Package to add Device.UserInterface. datamodel support
|
|
endef
|
|
|
|
define Package/userinterface/description
|
|
Package to add Device.UserInterface. datamodel support
|
|
endef
|
|
|
|
define Package/libbbfdm/config
|
|
source "$(SOURCE)/Config_bbfdm.in"
|
|
endef
|
|
|
|
define Package/libbbfdm-api/description
|
|
Library contains the API(UCI, UBUS, JSON, CLI and Browse) of libbbfdm
|
|
endef
|
|
|
|
define Package/libbbfdm/description
|
|
Library contains the data model tree. It includes TR181, TR104 and TR143 data models
|
|
endef
|
|
|
|
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
|
|
ifneq ($(USE_LOCAL),)
|
|
define Build/Prepare
|
|
$(CP) ./src/* $(PKG_BUILD_DIR)/
|
|
endef
|
|
endif
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_TR181=ON
|
|
-DBBF_WIFI_DATAELEMENTS=ON
|
|
|
|
ifeq ($(CONFIG_BBF_TR104),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_TR104=ON
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BBF_TR143),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_TR143=ON
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BBF_TR471),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_TR471=ON
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BBF_VENDOR_EXTENSION),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_VENDOR_EXTENSION=ON
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_VENDOR_LIST:String="$(CONFIG_BBF_VENDOR_LIST)" \
|
|
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
|
|
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES)
|
|
|
|
endif ##CONFIG_BBF_VENDOR_EXTENSION
|
|
|
|
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_JSON_PLUGIN=ON
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_DOTSO_PLUGIN=ON
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),default)
|
|
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),openssl)
|
|
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),wolfssl)
|
|
CMAKE_OPTIONS += -DWITH_WOLFSSL=ON
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),mbedtls)
|
|
CMAKE_OPTIONS += -DWITH_MBEDTLS=ON
|
|
endif
|
|
|
|
ifeq ($(CONFIG_PACKAGE_bbfdmd),y)
|
|
CMAKE_OPTIONS += \
|
|
-DBBFDMD_MAX_MSG_LEN:Integer=10485760
|
|
endif
|
|
|
|
define Package/libbbfdm-api/install
|
|
$(INSTALL_DIR) $(1)/lib
|
|
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/libbbfdm-api.so $(1)/lib/
|
|
endef
|
|
|
|
define Package/libbbfdm/default/install
|
|
$(INSTALL_DIR) $(1)/lib
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
|
|
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
|
|
$(CP) $(PKG_BUILD_DIR)/libbbfdm/libbbfdm.so $(1)/lib/
|
|
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
|
|
ifeq ($(CONFIG_BBF_TR143),y)
|
|
$(INSTALL_DIR) $(1)/usr/share/bbfdm
|
|
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libbbfdm/scripts/* $(1)/usr/share/bbfdm
|
|
$(LN) /usr/share/bbfdm/bbf.diag $(1)/usr/libexec/rpcd/bbf.diag
|
|
endif
|
|
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm/json
|
|
endif
|
|
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
|
|
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
|
|
endif
|
|
endef
|
|
|
|
define Package/libbbfdm/default/prerm
|
|
#!/bin/sh
|
|
rm -rf /etc/bbfdm/dmmap/*
|
|
exit 0
|
|
endef
|
|
|
|
define Package/bbfdmd/install
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
|
|
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
|
|
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/src/bbfdmd $(1)/usr/sbin/
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/json/input.json $(1)/etc/bbfdm/
|
|
endef
|
|
|
|
define Package/userinterface/install
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
|
|
$(INSTALL_DATA) ./files/etc/config/userinterface $(1)/etc/config/userinterface
|
|
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/userinterface $(1)/lib/upgrade/keep.d/userinterface
|
|
$(INSTALL_BIN) ./files/etc/init.d/userinterface $(1)/etc/init.d/userinterface
|
|
$(INSTALL_BIN) ./files/etc/uci-defaults/93-userinterface-firewall $(1)/etc/uci-defaults/93-userinterface-firewall
|
|
$(INSTALL_BIN) ./files/etc/uci-defaults/94-userinterface-json $(1)/etc/uci-defaults/94-userinterface-json
|
|
$(INSTALL_BIN) ./files/etc/firewall.userinterface $(1)/etc/firewall.userinterface
|
|
endef
|
|
|
|
Package/libbbfdm/prerm = $(Package/libbbfdm/default/prerm)
|
|
Package/libbbfdm-openssl/prerm = $(Package/libbbfdm/default/prerm)
|
|
Package/libbbfdm-wolfssl/prerm = $(Package/libbbfdm/default/prerm)
|
|
Package/libbbfdm-mbedtls/prerm = $(Package/libbbfdm/default/prerm)
|
|
|
|
Package/libbbfdm/install = $(Package/libbbfdm/default/install)
|
|
Package/libbbfdm-openssl/install = $(Package/libbbfdm/default/install)
|
|
Package/libbbfdm-wolfssl/install = $(Package/libbbfdm/default/install)
|
|
Package/libbbfdm-mbedtls/install = $(Package/libbbfdm/default/install)
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbfdm
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbfdm-api
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbf_api
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/*.h $(1)/usr/include/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm/dmtree/tr181/device.h $(1)/usr/include/libbbfdm/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm/dmtree/vendor/vendor.h $(1)/usr/include/libbbfdm/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/*.h $(1)/usr/include/libbbfdm-api/
|
|
# Work around for backward compatibility
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/*.h $(1)/usr/include/libbbf_api/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/libbbfdm_api.h $(1)/usr/include/libbbf_api.h
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libbbfdm-api))
|
|
$(eval $(call BuildPackage,libbbfdm))
|
|
$(eval $(call BuildPackage,libbbfdm-openssl))
|
|
$(eval $(call BuildPackage,libbbfdm-wolfssl))
|
|
$(eval $(call BuildPackage,libbbfdm-mbedtls))
|
|
$(eval $(call BuildPackage,bbfdmd))
|
|
|
|
$(eval $(call BuildPackage,userinterface))
|