# change that if you want to cross-compile 
CC:=$(CROSS)gcc

####################################################################
# relative path of the addidata include directory
# IF YOU ARE BUILDING THIS DRIVER OUTSIDE THE KERNEL SOURCE
# PLEASE ADAPT THIS VARIABLE TO YOUR LOCAL INSTALLATION 
ifeq ($(ADDIDATAINC),)
ADDIDATAINC:=/usr/src/linux/include/linux/addidata/
endif
####################################################################

OBJS:=sample_xpci3009 \
		sample_xpci3009_read_1_analog_input\
		sample_xpci3009_timer \
		sample_xpci3009_counter \
		sample_xpci3009_autorefresh\
		sample_xpci3009_analog_output\
		sample_xpci3009_sequence \
		sample_xpci3009_inc_counter \
		sample_xpci3009_digital_in \
		sample_xpci3009_compare \
		sample_xpci3009_digital_out \
		sample_xpci3009_counter_without_interrupt \
		sample_xpci3009_watchdog \
		sample_xpci3009_watchdog_interrupt

all: $(OBJS)

clean:
	-rm $(OBJS)

# Compile the sample apps
sample_xpci3009_watchdog: watchdog.c findboards.c input.c
	$(CC) $(CFLAGS) -I$(ADDIDATAINC) $^ -o $@
	
sample_xpci3009_watchdog_interrupt: watchdog_interrupt.c findboards.c input.c
	$(CC) $(CFLAGS) -I$(ADDIDATAINC) $^ -o $@

sample_xpci3009_compare: sample_xpci3009_compare.c findboards.c
	$(CC) $(CFLAGS) -I$(ADDIDATAINC) $^ -o $@

sample_xpci3009_digital_in: sample_xpci3009_digital_in.c findboards.c
	$(CC) $(CFLAGS) -I$(ADDIDATAINC) $^ -o $@
	
sample_xpci3009_digital_out: sample_xpci3009_digital_out.c findboards.c
	$(CC) $(CFLAGS) -I$(ADDIDATAINC) $^ -o $@

sample_xpci3009_inc_counter: sample_xpci3009_inc_counter.c findboards.c
	$(CC) $(CFLAGS) -I$(ADDIDATAINC) $^ -o $@ 

sample_xpci3009: sample_xpci3009.c findboards.c 
	$(CC) -Wall -I$(ADDIDATAINC) $^ -o $@
	
sample_xpci3009_timer: timer.c findboards.c 
	$(CC) -Wall -I$(ADDIDATAINC) $^ -o $@

sample_xpci3009_counter: counter.c findboards.c 
	$(CC) -Wall -I$(ADDIDATAINC) $^ -o $@
	
sample_xpci3009_counter_without_interrupt: counter_without_interrupt.c findboards.c input.c
	$(CC) -Wall -I$(ADDIDATAINC) $^ -o $@
	
sample_xpci3009_counter2: counter_02.c findboards.c 
	$(CC) -Wall -I$(ADDIDATAINC) $^ -o $@

sample_apci3501: apci3501.c findboards.c 
	$(CC) -Wall -I$(ADDIDATAINC) $^ -o $@

sample_xpci3009_analog_output: analog_output.c findboards.c errormsg.c input.c
	$(CC) -Wall -I$(ADDIDATAINC) -I./ $^ -o $@

sample_xpci3009_read_1_analog_input: read_1_analog_input.c findboards.c errormsg.c input.c
	$(CC) -Wall -I$(ADDIDATAINC) -I./ $^ -o $@

sample_xpci3009_autorefresh: autorefresh.c findboards.c errormsg.c input.c
	$(CC) -Wall -I$(ADDIDATAINC) -I./ $^ -o $@

sample_xpci3009_sequence: sequence.c findboards.c errormsg.c input.c
	$(CC) -Wall -I$(ADDIDATAINC) -I./ $^ -o $@