mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2026-03-02 23:44:37 +01:00
225 lines
6.3 KiB
Makefile
225 lines
6.3 KiB
Makefile
#
|
|
# Copyright (C) 2023 IOPSYS
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=libbbf_dm
|
|
PKG_VERSION:=7.0.0
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
|
|
PKG_SOURCE_VERSION:=b8bc5c3423df4e81b48de5d2910b8c22b3e69c40
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_MIRROR_HASH:=skip
|
|
|
|
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
|
|
|
PKG_LICENSE:=LGPL-2.1
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
define Package/libbbf_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/libbbf_dm/default
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Library for broadband forum data model support
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl +libbbf_api \
|
|
+BBF_TR471:obudpst
|
|
endef
|
|
|
|
define Package/libbbf_dm
|
|
$(Package/libbbf_dm/default)
|
|
TITLE += (internal)
|
|
VARIANT:=internal
|
|
endef
|
|
|
|
define Package/libbbf_dm-mbedtls
|
|
$(Package/libbbf_dm/default)
|
|
TITLE += (mbedtls)
|
|
DEPENDS += +PACKAGE_libbbf_dm-mbedtls:libmbedtls
|
|
VARIANT:=mbedtls
|
|
DEFAULT_VARIANT:=1
|
|
endef
|
|
|
|
define Package/libbbf_dm-openssl
|
|
$(Package/libbbf_dm/default)
|
|
TITLE += (openssl)
|
|
DEPENDS += +PACKAGE_libbbf_dm-openssl:libopenssl
|
|
CONFLICTS := libbbf_dm-mbedtls
|
|
VARIANT:=openssl
|
|
endef
|
|
|
|
define Package/libbbf_dm-wolfssl
|
|
$(Package/libbbf_dm/default)
|
|
TITLE += (wolfssl)
|
|
DEPENDS += +PACKAGE_libbbf_dm-wolfssl:libwolfssl
|
|
CONFLICTS := libbbf_dm-mbedtls libbbf_dm-openssl
|
|
VARIANT:=wolfssl
|
|
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/libbbf_dm/config
|
|
source "$(SOURCE)/Config_bbfdm.in"
|
|
endef
|
|
|
|
define Package/libbbf_api/description
|
|
Library contains the API(UCI, UBUS, JSON, CLI and Browse) of libbbf_dm
|
|
endef
|
|
|
|
define Package/libbbf_dm/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
|
|
|
|
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),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
|
|
|
|
define Package/libbbf_api/install
|
|
$(INSTALL_DIR) $(1)/lib
|
|
$(CP) $(PKG_BUILD_DIR)/libbbf_api/libbbf_api.so $(1)/lib/
|
|
endef
|
|
|
|
define Package/libbbf_dm/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)/libbbf_dm/libbbf_dm.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)/libbbf_dm/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/libbbf_dm/default/prerm
|
|
#!/bin/sh
|
|
rm -rf /etc/bbfdm/dmmap/*
|
|
exit 0
|
|
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/libbbf_dm-openssl/prerm = $(Package/libbbf_dm/default/prerm)
|
|
Package/libbbf_dm-wolfssl/prerm = $(Package/libbbf_dm/default/prerm)
|
|
Package/libbbf_dm-mbedtls/prerm = $(Package/libbbf_dm/default/prerm)
|
|
|
|
Package/libbbf_dm-openssl/install = $(Package/libbbf_dm/default/install)
|
|
Package/libbbf_dm-wolfssl/install = $(Package/libbbf_dm/default/install)
|
|
Package/libbbf_dm-mbedtls/install = $(Package/libbbf_dm/default/install)
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbf_dm
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbf_api
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbf_api/include/*.h $(1)/usr/include/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbf_dm/dmtree/tr181/device.h $(1)/usr/include/libbbf_dm/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbf_dm/dmtree/vendor/vendor.h $(1)/usr/include/libbbf_dm/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbf_api/*.h $(1)/usr/include/libbbf_api/
|
|
$(CP) $(PKG_BUILD_DIR)/libbbf_dm/libbbf_dm.so $(1)/usr/lib/
|
|
$(CP) $(PKG_BUILD_DIR)/libbbf_api/libbbf_api.so $(1)/usr/lib/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libbbf_api))
|
|
$(eval $(call BuildPackage,libbbf_dm))
|
|
$(eval $(call BuildPackage,libbbf_dm-openssl))
|
|
$(eval $(call BuildPackage,libbbf_dm-wolfssl))
|
|
$(eval $(call BuildPackage,libbbf_dm-mbedtls))
|
|
|
|
$(eval $(call BuildPackage,userinterface))
|