include /ioc/tools/driver.makefile

MODULE = ecmc_plugin_daq

# "Transfer" module name to plugin
USR_CFLAGS +=-DECMC_PLUGIN_MODULE_NAME=${MODULE}

BUILDCLASSES = Linux
ARCH_FILTER = deb10% deb12%

EXCLUDE_VERSIONS+=3 7.0.5 7.0.6 7.0.7

IGNORE_MODULES += asynMotor
IGNORE_MODULES += motorBase

USR_CXXFLAGS += -std=c++17
OPT_CXXFLAGS_YES = -O3

# dependencies
ecmc_VERSION = 11.0

# ethercat
#   debian 12
EC_MASTER_VER = 1.6.3
EC_BASE_PATH = /ioc/NeedfulThings/EtherCAT/4epics/${EC_MASTER_VER}/
USR_CXXFLAGS_deb12-x86_64 += -I${EC_BASE_PATH}${T_A}/include/
USR_CXXFLAGS_deb12-x86_64 += -L${EC_BASE_PATH}${T_A}/lib/

LIB_SYS_LIBS += ethercat
USR_LDFLAGS_deb12-x86_64 += -Wl,-rpath=${EC_BASE_PATH}${T_A}/lib/
USR_LDFLAGS_deb12-x86_64 +=         -L ${EC_BASE_PATH}${T_A}/lib/

#   debian 10
#   note: EC_MASTER LIB does not depend on epics version hence use the 7.0.8 build..
USR_LDFLAGS_deb10-x86_64 += -lethercat
EC_MASTER_LIB = /ioc/NeedfulThings/EtherCAT/4epics/v1.1.0/R7.0.8/
USR_LDFLAGS_deb10-x86_64 += -Wl,-rpath=${EC_MASTER_LIB}lib/${T_A}
USR_LDFLAGS_deb10-x86_64 +=  -L ${EC_MASTER_LIB}lib/${T_A}
USR_CXXFLAGS_deb10-x86_64 += -I${EC_MASTER_LIB}/include/

BASE_DIR = .
SRC_DIR = $(BASE_DIR)/src
DB_DIR =  $(BASE_DIR)/Db
SCRIPTS_DIR = $(BASE_DIR)/scripts
DB_DIR =  $(BASE_DIR)/Db
SOURCES += $(SRC_DIR)/ecmcDAQDataArray.cpp
SOURCES += $(SRC_DIR)/ecmcDAQDataChannel.cpp
SOURCES += $(SRC_DIR)/ecmcDAQWrap.cpp
SOURCES += $(SRC_DIR)/ecmcPluginDAQ.c
DBDS += $(SRC_DIR)/ecmcDAQPlg.dbd
TEMPLATES += $(wildcard $(DB_DIR)/*.template)
SCRIPTS += ./startup.cmd
SCRIPTS += $(SCRIPTS_DIR)/ecmcDAQAddArray.cmd
SCRIPTS += $(SCRIPTS_DIR)/ecmcDAQAddChannel.cmd
SCRIPTS += $(SCRIPTS_DIR)/ecmcDAQAddDataItem.cmd
SCRIPTS += $(SCRIPTS_DIR)/ecmcDAQFinalizeArray.cmd
