# change that if you want to cross-compile 
CC= $(CROSS_COMPILE)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:=$(shell pwd)/../../../../include/linux/addidata
endif
####################################################################

OBJS:=sample_apci3120 sample_digital_io sample_sequence sample_read_1

SUB_SAMPLES_DIR:=analogInputSequence digital_inputs digital_outputs read_1_analog_input readMoreAnalogInputs

all: $(OBJS) sub_sample

clean:
	-rm $(OBJS)
	#Loop to remove all sub samples
	@for dir in $(SUB_SAMPLES_DIR); do \
        rm  $$dir/$$dir; \
        rm  $$dir/$$dir.o; \
    done 

# Compile the sample apps

sample_apci3120: sample_apci3120.c
	$(CC) -Wall -I$(ADDIDATAINC) $< -o $@

sample_digital_io: sample_digital_io.c
	$(CC) -Wall -I$(ADDIDATAINC) $< -o $@
	
sample_sequence: sample_sequence.c findboards.o
	$(CC) -Wall -I$(ADDIDATAINC) $< -o $@ findboards.o
	
sample_read_1: sample_read_1_analog_input.c findboards.o
	$(CC) -Wall -I$(ADDIDATAINC) $< -o $@ findboards.o

# Add sub samples
sub_sample:
	@for dir in $(SUB_SAMPLES_DIR); do \
        $(MAKE) -C $$dir ADDIDATAINC=$(ADDIDATAINC); \
    done
	# $(MAKE) ADDIDATAINC=$(ADDIDATAINC) -C $(SUB_SAMPLES_DIR) all

