# the ADDIDATAINCLUDE variable may hold the path to the addidata-specific include directory
ifeq ($(ADDIDATAINC),)
# include directory has not been specified. suppose we are located inside the Linux kernel source tree
ADDI_CFLAGS+=-I$(TOPDIR)/include/linux/addidata/
else
# use specified location
ADDI_CFLAGS+=-I$(ADDIDATAINC)
endif

ADDI_CFLAGS+=-D_ADDI_NO_WIN32_COMPAT
# If you are using the CPCI MSX-Box you have to uncomment this:
# ADDI_CFLAGS+=-DCPCIMSXBOX

# default CONFIG_APCI3120_MAX_BOARD_NBR if not set
ifeq ($(CONFIG_APCI3120_MAX_BOARD_NBR),)
# include directory has not been specified. suppose we are located inside the Linux kernel source tree
ADDI_CFLAGS+=-DCONFIG_APCI3120_MAX_BOARD_NBR=3
endif

# Each configuration option enables a list of files.
obj-$(CONFIG_APCI3120_IOCTL)	+= apci3120.o

# list of objects that make the module
apci3120-objs := main.o fs.o procfs.o ioctl.o interrupt.o vtable.o analog_in-kapi.o analog_in.o analog_out-kapi.o analog_out.o dig_io-kapi.o dig_io.o timer_watchdog-kapi.o  knowndev.o event.o

# Kernel build flags: ccflags-y and ldflags-y were introduced in 2008 as the
# recommended approach. Some kernel 5.x versions already enforce these flags.
# For compatibility: kernels < 5 use EXTRA_CFLAGS, kernels >= 5 use ccflags-y/ldflags-y
ifeq ($(shell test $(VERSION) -lt 5; echo $$?),0)
EXTRA_CFLAGS+=$(ADDI_CFLAGS)
else
ccflags-y :=$(ADDI_CFLAGS)
endif

# KERNEL 2.4 ------------------------------------------
ifeq ($(VERSION),2)
ifeq ($(PATCHLEVEL),4)

# The target object and module list name.
O_TARGET	:= driver.o

# Objects that export symbols.
export-objs	:= main.o analog_in-kapi.o analog_out-kapi.o dig_io-kapi.o timer_watchdog-kapi.o knowndev.o

# Link rules
apci3120.o: $(apci3120-objs)
	$(LD) -r -o $@ $(apci3120-objs)

# The global Rules.make.
include $(TOPDIR)/Rules.make

endif
endif
