include /ioc/tools/driver.makefile

MODULE = ecmc_plugin_socketcan

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

BUILDCLASSES = Linux
ARCH_FILTER = deb10% deb12%

# Run 7.0.6 for now
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 = 10.0

APPDB:=db
APPSRC:=src

USR_CFLAGS   += -shared -fPIC -Wall -Wextra
USR_CPPFLAGS += -std=c++11
USR_LDFLAGS  += -lstdc++
USR_INCLUDES += -I$(where_am_I)$(APPSRC)

TEMPLATES += $(wildcard $(APPDB)/*.db)
TEMPLATES += $(wildcard $(APPDB)/*.template)
TEMPLATES += $(wildcard $(APPDB)/*.substitutions)
SOURCES += $(APPSRC)/ecmcPluginSocketCAN.c
SOURCES += $(APPSRC)/ecmcSocketCAN.cpp
SOURCES += $(APPSRC)/ecmcSocketCANWrap.cpp
SOURCES += $(APPSRC)/ecmcSocketCANWriteBuffer.cpp
SOURCES += $(APPSRC)/ecmcCANOpenSDO.cpp
SOURCES += $(APPSRC)/ecmcCANOpenPDO.cpp
SOURCES += $(APPSRC)/ecmcCANOpenDevice.cpp
SOURCES += $(APPSRC)/ecmcCANOpenMaster.cpp
SOURCES += $(APPSRC)/ecmcByteToArrayAsub.cpp

DBDS    += $(APPSRC)/ecmcSocketCAN.dbd

