
MODULES=nidaq.o
OBJECTS=daq_driver.o dio.o ai.o ao.o gpct.o misc.o lowio.o device_info.o epromdac.o
HEADERS=daq_driver.h eserrlp.h misc.h nicts.h niboards.h


all: $(MODULES) $(PROGRAMS)

nidaq.o:	$(OBJECTS)
	ld -r -o nidaq.o $(OBJECTS)

CFLAGS=-Wall -Wstrict-prototypes -pipe -O2 -fomit-frame-pointer -fvolatile-global

# a few notes...
# if you want debugging information, be sure -DDAQ_DEBUG is included
# if you have module versioning enabled, you need to compile with
#    -DMODVERSIONS
KCFLAGS= $(CFLAGS) -DMODULE -D__KERNEL__ -DDAQ_DEBUG -DMODVERSIONS
#KCFLAGS= $(CFLAGS) -DMODULE -D__KERNEL__ -DMODVERSIONS
#CFLAGS+= -DINTERRUPT_MODE -DFAST_IRQ
#CFLAGS+= -DDEBUG

niboards.h device_info.h: niboards
	./niboards.pl

epromdac.o:	epromdac.c $(HEADERS) epromdac.h
	gcc $(KCFLAGS) -c epromdac.c

daq_driver.o:	daq_driver.c $(HEADERS)
	gcc $(KCFLAGS) -c daq_driver.c

device_info.o:	device_info.c device_info.h $(HEADERS)
	gcc $(KCFLAGS) -c device_info.c

dio.o:	dio.c  $(HEADERS)
	gcc $(KCFLAGS) -c dio.c

ai.o:	ai.c  $(HEADERS)
	gcc $(KCFLAGS) -c ai.c

ao.o:	ao.c  $(HEADERS)
	gcc $(KCFLAGS) -c ao.c

gpct.o:	gpct.c  $(HEADERS)
	gcc $(KCFLAGS) -c gpct.c

misc.o:	misc.c  $(HEADERS)
	gcc $(KCFLAGS) -c misc.c

lowio.o:	lowio.c $(HEADERS)
	gcc $(KCFLAGS) -c lowio.c

clean:
	rm -f nidaq.o $(OBJECTS) niboards.h deviceinfo.h *~


