# # Copyright (c) 2025 IOPSYS # include $(TOPDIR)/rules.mk PKG_NAME:=dm-framework PKG_VERSION:=1.0.5 PKG_RELEASE:=1 USE_LOCAL:=0 ifneq ($(USE_LOCAL),1) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://dev.iopsys.eu/lcm/dm-framework.git PKG_SOURCE_VERSION:=7b9651835010173a4d8af0df0aa6b4a4a2e0b94e PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MIRROR_HASH:=skip endif PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE include $(INCLUDE_DIR)/package.mk include ../bbfdm/bbfdm.mk define Package/dm-framework CATEGORY:=Genexis TITLE:=DM JS Framework URL:=http://www.genexis.eu DEPENDS:=+libsqlite3 +libjson-c +libstdcpp +quickjs +libubus +libubox +libuci +ubus PKG_LICENSE:=GENEXIS endef define Package/dm-framework/description JS based TR181 datamodel framework endef TARGET_CFLAGS += $(FPIC) ifeq ($(USE_LOCAL),1) define Build/Prepare $(CP) ~/git/dm-framework/* $(PKG_BUILD_DIR)/ endef endif define Package/dm-framework/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/etc/init.d/dmf $(1)/etc/init.d/ $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-api/libdmapi.so $(1)/usr/lib/ $(INSTALL_DIR) $(1)/etc/bbfdm/dmf $(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-api/quickjs/uci.js $(1)/etc/bbfdm/dmf/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-api/quickjs/utils.js $(1)/etc/bbfdm/dmf/ $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-agent/dm-agent $(1)/usr/sbin $(INSTALL_DIR) $(1)/etc/dm-framework $(INSTALL_BIN) ./files/etc/dm-framework/dmf_apply_handler.sh $(1)/etc/dm-framework/ $(INSTALL_BIN) ./files/etc/dm-framework/dmf_revert_handler.sh $(1)/etc/dm-framework/ $(BBFDM_REGISTER_SERVICES) ./dmf_service.json $(1) dmf endef # Development Installation (headers and libraries) define Build/InstallDev # DM-API development files - headers are now in dm-api/include/ $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/dm-api/include/dm_types.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/dm-api/include/dm_node.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/dm-api/core/dm_api.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/dm-api/core/dm_linker.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/dm-api/core/dbmgr.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/dm-api/include/dm_log.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/dm-api/utils/dm_list.h $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/dm-api/libdmapi.so $(1)/usr/lib/ # Install json2code.js script and package.json to staging for other packages to use $(INSTALL_DIR) $(1)/usr/lib/dm-framework/scripts $(CP) $(PKG_BUILD_DIR)/scripts/json2code.js $(1)/usr/lib/dm-framework/scripts/ $(CP) $(PKG_BUILD_DIR)/scripts/package.json $(1)/usr/lib/dm-framework/scripts/ endef $(eval $(call BuildPackage,dm-framework))