# # Copyright (C) 2022 IOPSYS # include $(TOPDIR)/rules.mk PKG_NAME:=libbbfdm PKG_VERSION:=6.6.38 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git PKG_SOURCE_VERSION:=1f9a518babb143c8504a2c1e5b62cba82395c755 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 PKG_FIXUP:=autoreconf include $(INCLUDE_DIR)/package.mk define Package/libbbf_api SECTION:=utils CATEGORY:=Utilities SUBMENU:=TRx69 TITLE:=Library for libbbfdm API 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 +libtrace +libcurl endef define Package/libbbfdm $(Package/libbbfdm/default) TITLE += (internal) VARIANT:=internal endef define Package/libbbfdm-mbedtls $(Package/libbbfdm/default) TITLE += (mbedtls) DEPENDS += +PACKAGE_libbbfdm-mbedtls:libmbedtls VARIANT:=mbedtls DEFAULT_VARIANT:=1 endef define Package/libbbfdm-openssl $(Package/libbbfdm/default) TITLE += (openssl) DEPENDS += +PACKAGE_libbbfdm-openssl:libopenssl CONFLICTS := libbbfdm-mbedtls VARIANT:=openssl endef define Package/libbbfdm-wolfssl $(Package/libbbfdm/default) TITLE += (wolfssl) DEPENDS += +PACKAGE_libbbfdm-wolfssl:libwolfssl CONFLICTS := libbbfdm-mbedtls libbbfdm-openssl VARIANT:=wolfssl endef define Package/libbbfdm/config source "$(SOURCE)/Config_bbfdm.in" endef define Package/libbbf_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 TARGET_CFLAGS += \ -D_GNU_SOURCE \ -Wall -Werror \ CONFIGURE_ARGS += \ --enable-tr181 ifeq ($(CONFIG_BBF_TR104),y) CONFIGURE_ARGS += \ --enable-tr104 endif ifeq ($(CONFIG_BBF_TR143),y) CONFIGURE_ARGS += \ --enable-tr143 endif ifeq ($(CONFIG_BBF_VENDOR_EXTENSION),y) CONFIGURE_ARGS += \ --enable-vendor-extension CONFIGURE_ARGS += \ BBF_VENDOR_LIST="$(CONFIG_BBF_VENDOR_LIST)" \ BBF_VENDOR_PREFIX="$(CONFIG_BBF_VENDOR_PREFIX)" endif ##CONFIG_BBF_VENDOR_EXTENSION ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y) CONFIGURE_ARGS += \ --enable-json-plugin endif ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y) CONFIGURE_ARGS += \ --enable-shared-library endif ifeq ($(BUILD_VARIANT),openssl) CONFIGURE_ARGS += --enable-libopenssl TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/ endif ifeq ($(BUILD_VARIANT),wolfssl) CONFIGURE_ARGS += --enable-libwolfssl TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/wolfssl endif ifeq ($(BUILD_VARIANT),mbedtls) CONFIGURE_ARGS += --enable-libmbedtls TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/ endif define Package/libbbf_api/install $(INSTALL_DIR) $(1)/lib endef define Package/libbbfdm/default/install $(INSTALL_DIR) $(1)/lib $(INSTALL_DIR) $(1)/usr/share/bbfdm $(INSTALL_DIR) $(1)/etc/bbfdm $(INSTALL_DIR) $(1)/etc/bbfdm/dmmap $(INSTALL_DIR) $(1)/etc/bbfdm/json $(INSTALL_DIR) $(1)/usr/lib/bbfdm $(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.so* $(1)/lib/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/* $(1)/usr/share/bbfdm endef define Package/libbbfdm/default/prerm #!/bin/sh rm -rf /etc/bbfdm/dmmap/* exit 0 endef 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-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/libbbf_api $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/ $(INSTALL_DATA) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/libbbfdm/ $(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbf_api/*.h $(1)/usr/include/libbbf_api/ $(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.{a,so*} $(1)/usr/lib/ touch $(1)/usr/lib/libbbf_api.so endef $(eval $(call BuildPackage,libbbf_api)) $(eval $(call BuildPackage,libbbfdm)) $(eval $(call BuildPackage,libbbfdm-openssl)) $(eval $(call BuildPackage,libbbfdm-wolfssl)) $(eval $(call BuildPackage,libbbfdm-mbedtls))