# 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 
ifeq ($(ADDI_DEBUG),y)
ADDI_CFLAGS+=-DANA_OUT_DEBUG -DMAIN_DEBUG -DIOCTL_DEBUG -DBUFF_ALLOC_DEBUG -DFS_DEBUG -D_3600INT_DEBUG -DINTERN_DEBUG -DINTERRUP
endif

.PHONY : samples

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

# list of objects that make the module
apci3600-objs := 3600int.o ai_intern.o ana_inp.o ana_out.o buff_alloc.o chronom.o\
			dig_inp.o dig_out.o ext_trig.o fs.o global_intern.o\
			init.o interrupt.o ioctl.o ioctl-analoginput.o main.o\
			p_an_inp.o p_an_out.o p_chronom.o p_dma.o p_ext_trig.o procfs.o\
			util_timer.o vtable.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)
EXTRA_LDFLAGS+=$(ADDI_LDFLAGS)
else
ccflags-y :=$(ADDI_CFLAGS)
ldflags-y :=$(ADDI_LDFLAGS)
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.
#This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
export-objs	:= 3600int.o ana_inp.o ana_out.o chronom.o\
			dig_inp.o dig_out.o ext_trig.o\
			init.o main.o

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

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

endif
endif
