
_KMAJ := $(word 1,$(subst ., ,$(KERNELRELEASE)))
_KMIN := $(word 2,$(subst ., ,$(KERNELRELEASE)))
_KSHORT := $(_KMAJ).$(_KMIN)

KERNEL_MATCH_DRIVER := $(shell \
	_files=$$(ls $(src)/*-ethercat.c 2>/dev/null); \
	_vers=$$(echo "$$_files" | grep -oE "[0-9]+\.[0-9]+" | sort -uV); \
	if [ -n "$$_vers" ]; then \
		_best=$$(echo "$$_vers" | grep -F "$(_KSHORT)" | head -1); \
	else \
		_best=unknown; \
	fi; \
	[ -z "$$_best" ] && _best=unknown; \
	echo "$$_best"; \
)

ifneq ($(KERNEL_MATCH_DRIVER),unknown)
HAVE_DRIVER := 1
else
HAVE_DRIVER := 0
endif

#-----------------------------------------------------------------------------
#
#  Copyright (C) 2006-2017  Florian Pose, Ingenieurgemeinschaft IgH
#
#  This file is part of the IgH EtherCAT Master.
#
#  The IgH EtherCAT Master is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License version 2, as
#  published by the Free Software Foundation.
#
#  The IgH EtherCAT Master is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
#  Public License for more details.
#
#  You should have received a copy of the GNU General Public License along
#  with the IgH EtherCAT Master; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
#  ---
#
#  vim: syntax=make
#
#-----------------------------------------------------------------------------

ccflags-y := -I$(src)/../..

TOPDIR := $(src)/../..

REV := $(shell if test -s $(TOPDIR)/revision; then \
		cat $(TOPDIR)/revision; \
	else \
		git -C $(TOPDIR) describe 2>/dev/null || echo "unknown"; \
	fi)

ifeq ($(HAVE_DRIVER),1)
	obj-m += ec_igc.o

	ec_igc-objs := \
		igc_xdp-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_tsn-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_base-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_dump-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_main-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_ptp-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_diag-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_i225-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_mac-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_phy-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_ethtool-$(KERNEL_MATCH_DRIVER)-ethercat.o \
		igc_nvm-$(KERNEL_MATCH_DRIVER)-ethercat.o

	ifeq ($(shell test -f $(src)/igc_leds-$(KERNEL_MATCH_DRIVER)-ethercat.c && echo 1 || echo 0),1)
		ec_igc-objs += igc_leds-$(KERNEL_MATCH_DRIVER)-ethercat.o
	endif


ifeq (,1)
	ccflags-y := -DEC_ENABLE_DRIVER_RESOURCE_VERIFYING
endif

	CFLAGS_igc_main-$(KERNEL_MATCH_DRIVER)-ethercat.o = -DREV=$(REV)
endif

KBUILD_EXTRA_SYMBOLS := \
	$(src)/../../Module.symvers \
	$(src)/../../master/Module.symvers

#-----------------------------------------------------------------------------
