#
# Copyright (C) 2026 Teltonika
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/download.mk

PKG_NAME:=site_manager

PKG_SOURCE_VERSION:=1.10

PKG_LICENSE:=Teltonika-closed

include $(INCLUDE_DIR)/package.mk

define Package/siteman_client
	SECTION:=base
	CATEGORY:=Base system
	TITLE:=Teltonika Device Manager client servise
	DEPENDS:=+libuci +libcfg +libubox +libtlt-logger +libtdp \
			+libmnfinfo +libubus +libblobmsg-json +libuuid +libmosquitto-ssl \
			+SITEMANC_DISCOVERY_CUSTOM:libcurl
	PROVIDES:=sitemanc
endef

define Package/siteman_client/conffiles
/etc/config/sitemanc
endef

define Package/siteman_client/config
	source "$(SOURCE)/Config.in"
endef

TARGET_CFLAGS += \
	$(if $(CONFIG_SITEMANC_DISCOVERY_CUSTOM),-DSITEMANC_DISCOVERY_CUSTOM) \
	$(if $(CONFIG_SITEMANC_DISCOVERY_STATIC),-DSITEMANC_DISCOVERY_STATIC) \
	$(if $(CONFIG_SITEMANC_DISCOVERY_DHCP),-DSITEMANC_DISCOVERY_DHCP) \
	$(if $(CONFIG_SITEMANC_DISCOVERY_DNS),-DSITEMANC_DISCOVERY_DNS) \
	$(if $(CONFIG_SITEMANC_DISCOVERY_RADIUS),-DSITEMANC_DISCOVERY_RADIUS) \
	$(if $(CONFIG_SITEMANC_DISCOVERY_TLT),-DSITEMANC_DISCOVERY_TLT) \
	$(if $(CONFIG_SITEMANC_DEBUG),-DSITEMANC_DEBUG)

define Package/libtdp
	SECTION:=libs
	CATEGORY:=Libraries
	TITLE:=TDP (Teltonika Device Discovery) protocol library
	PROVIDES:=libtdp
endef


define Package/siteman_client/install
	$(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config \
		$(1)/lib/troubleshoot/ $(1)/etc/sitemanc $(1)/lib/upgrade/keep.d

	$(INSTALL_BIN) $(PKG_BUILD_DIR)/siteman_client/files/sitemanc.init $(1)/etc/init.d/sitemanc
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/siteman_client/files/sitemanc.cfg $(1)/etc/config/sitemanc
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/siteman_client/sitemanc $(1)/usr/bin/sitemanc
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/siteman_client/files/sitemanc/* $(1)/etc/sitemanc/
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/siteman_client/files/dhcp.sh $(1)/etc/sitemanc/dhcp.sh
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/siteman_client/files/sitemanc_troubleshoot.sh $(1)/lib/troubleshoot/sitemanc.sh
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/siteman_client/files/sitemanc.upgrade $(1)/lib/upgrade/keep.d/sitemanc
endef

define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include/
	$(CP) $(PKG_BUILD_DIR)/libtdp/libtdp.so $(1)/usr/lib/
	$(CP) $(PKG_BUILD_DIR)/libtdp/include/libtdp.h $(1)/usr/include/
endef

define Package/libtdp/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/libtdp/libtdp.so $(1)/usr/lib/
endef

$(eval $(call BuildPackage,libtdp))
$(eval $(call BuildPackage,siteman_client))
