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

PKG_NAME:=profinet-io-device

PKG_SOURCE_VERSION:=1.7
PKG_LICENSE:=Teltonika-closed

PKG_CONFIG_DEPENDS:=CONFIG_BUILD_PROFINET

include $(INCLUDE_DIR)/package.mk

CMAKE_OPTIONS+= -DUSE_SCHED_FIFO=ON -DLOG_LEVEL=ERROR -DDEVICE_DEFAULT_IP=$(CONFIG_DEVICE_DEFAULT_IP)

TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl3

define Package/profinet-io-device
	SECTION:=net
	CATEGORY:=Network
	TITLE:=Profinet IO device stack
	DEPENDS:= +libnl +libubox +libubus +libuci +libtlt_uci +libnetsnmp +libmrp +libmnfinfo +libev +libjson-c
endef

define Package/profinet-io-device/description
	Profinet IO device stack
endef

define Package/profinet-io-device/install
	$(INSTALL_DIR) $(1)/etc/config
	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_DIR) $(1)/etc/profinet
	$(INSTALL_DIR) $(1)/usr/sbin
	$(INSTALL_DIR) $(1)/usr/share/profinet

	$(INSTALL_BIN) $(PKG_BUILD_DIR)/p-net/teltonika-app/tlt_pn_io_dev $(1)/usr/sbin/tlt_pn_io_dev
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/p-net/teltonika-app/files/profinet.conf $(1)/etc/config/profinet
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/p-net/teltonika-app/files/profinet.init $(1)/etc/init.d/profinet

	$(if $(TLT_PLATFORM_TSW2), \
		$(INSTALL_BIN) $(PKG_BUILD_DIR)/p-net/teltonika-app/files/GSDML*TSW200*.xml $(1)/usr/share/profinet)

	$(if $(TLT_PLATFORM_SWM2), \
		$(INSTALL_BIN) $(PKG_BUILD_DIR)/p-net/teltonika-app/files/GSDML*SWM*.xml $(1)/usr/share/profinet)

	$(if $(CONFIG_BUILD_PROFINET), \
		$(SED) "s/enabled '0'/enabled '1'/g" \
			$(1)/etc/config/profinet)
endef


$(eval $(call BuildPackage,profinet-io-device))
