# Makefile voor het practicum pprts: Illustratie van de concepten
# Klaas Gadeyne 2001
# Betere versie : lichte vorm van ontkoppeling :-)

# We compileren met behulp van de GNU c++ compiler g++
# de optie -Wall zorgt ervoor dat we _alle_ warnings te zien krijgen
#          -g produceert debugging info die dan later door de debugger
#          (gdb) kan gebruikt worden
CC = gcc
CFLAGS = -Wall -g
# INCLUDES = -I /usr/src/comedi/include/
# Zie man gcc voor de verklaring van deze optie

# Onze bibliotheek is heel eenvoudig, ze bestaat nl. uit 1 file, die
# de implementatie van de klasse test bevat.
SOURCES = encodertest.c
# De objects (.o files) of gecompileerde versie van onze bibliotheek
# verkrijgen we door .cpp te vervangen door .o
OBJECTS:=$(patsubst %.c,%.o,$(SOURCES))
EXECS:=$(patsubst %.c,%.out,$(SOURCES))

# Algemene structuur
# target: nodig1 prerequisite2 ... 
#	commando (voorafgegaan door een TAB!!!!!)
# 
# Vermits dit het eerste target is, zal "make all" uitgevoerd worden
# wanneer je make zonder argument intikt :
all: $(EXECS)

# How to make main.out from test.o and main.cpp
%.out : %.o
	$(CC) $(CFLAGS) -o $@ $^ -lcomedi -lpthread

# How to make test.o from test.c
%.o : %.c
	$(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<

clean:
	-rm -r *.o *.s *.i *~ \#* $(EXECS) $(OBJECTS)

.PHONY: clean