#
# Copyright (C) 2026 Teltonika
#

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

PKG_NAME:=modbus_server
PKG_VERSION:=2026-05-27
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=1.10
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_LICENSE:=Teltonika-closed
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define Package/$(PKG_NAME)
	SECTION:=net
	CATEGORY:=Network
	TITLE:=Modbus server daemon by Teltonika
	DEPENDS:=+libubus +libubox +libjson-c +libmnfinfo +libuci +libtlt_uci +libblobmsg-json +libmodbus +libboardjson +libtag +IO_SUPPORT:iomand
endef

TARGET_CFLAGS += -DTSWOS

define Package/$(PKG_NAME)/description
	MODBUS TCP server designed for MODBUS clients to read and write device data.
endef

define Package/$(PKG_NAME)/conffiles
/etc/config/modbus_server
endef


define Package/$(PKG_NAME)/install
	$(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d $(1)/usr/sbin

	$(INSTALL_BIN) $(PKG_BUILD_DIR)/modbus_server $(1)/usr/sbin/modbus_server
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/modbus_server.init $(1)/etc/init.d/modbus_server
	$(INSTALL_CONF) $(PKG_BUILD_DIR)/files/modbus_server.conf $(1)/etc/config/modbus_server
endef

define Package/$(PKG_NAME)/prerm
	#!/bin/sh
	. /lib/functions.sh
	config_load modbus_server
	config_get regfile modbus regfile ""
	[ -n "$$regfile" ] && rm -f "$$regfile"
	exit 0
endef

$(eval $(call BuildPackage,$(PKG_NAME)))
