mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
188 lines
6 KiB
Makefile
188 lines
6 KiB
Makefile
#
|
|
# Copyright (C) 2023 IOPSYS
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=bbfdm
|
|
PKG_VERSION:=1.5.4
|
|
|
|
USE_LOCAL:=0
|
|
ifneq ($(USE_LOCAL),1)
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
|
|
PKG_SOURCE_VERSION:=cd2066de6781ace66d3165937a138a0f12353d8c
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_MIRROR_HASH:=skip
|
|
endif
|
|
|
|
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
|
|
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 +libopenssl
|
|
endef
|
|
|
|
define Package/bbfdmd
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Datamodel ubus backend
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api +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, TR143 data models
|
|
endef
|
|
|
|
ifeq ($(USE_LOCAL),1)
|
|
define Build/Prepare
|
|
$(CP) ~/git/bbfdm/* $(PKG_BUILD_DIR)/
|
|
endef
|
|
endif
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_TR181=ON
|
|
-DBBF_WIFI_DATAELEMENTS=ON
|
|
|
|
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_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/install
|
|
$(INSTALL_DIR) $(1)/lib
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(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
|
|
$(INSTALL_BIN) ./files/etc/uci-defaults/95-portmap-firewall $(1)/etc/uci-defaults/95-portmap-firewall
|
|
$(INSTALL_BIN) ./files/etc/uci-defaults/97-firewall-service $(1)/etc/uci-defaults/97-firewall-service
|
|
$(INSTALL_BIN) ./files/etc/uci-defaults/99-link-core-plugins $(1)/etc/uci-defaults/99-link-core-plugins
|
|
$(INSTALL_BIN) ./files/etc/firewall.portmap $(1)/etc/firewall.portmap
|
|
$(INSTALL_BIN) ./files/etc/firewall.service $(1)/etc/firewall.service
|
|
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
|
|
endef
|
|
|
|
define Package/libbbfdm/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) $(PKG_BUILD_DIR)/bbfdmd/ubus/bbfdmd $(1)/usr/sbin/
|
|
$(INSTALL_DATA) ./files/etc/bbfdm/input.json $(1)/etc/bbfdm/
|
|
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
|
|
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
|
|
$(INSTALL_BIN) ./files/etc/bbfdm/bbfdm_services.sh $(1)/etc/bbfdm/
|
|
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
|
|
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
|
|
|
|
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,bbfdmd))
|
|
|
|
$(eval $(call BuildPackage,userinterface))
|