
# Makefile voor iir filter demonstratie op FreeBSD en Win32
# Dit makefile is gebouwd met de GNU Make syntax
# Dit moet zonder enige aanpassing te porteren zijn naar andere Unix/Linux systemen
# wxWidget code kan ook (zonder aanpassingen) op Mac OS X gecompileerd worden
# zie http://www.wxwidgets.org
# (c) 2006 Hogeschool van Arnhem en Nijmegen
# ir drs E.J Boks 


BESTANDEN := iir.o # grafiek.cpp
UITVOERBAARBESTAND = iirDemo

# keuze is 1) unix of 2) win32
TARGET_PLATFORM := unix

# optimalisatie. keuze is 1) debug of 2) release
UITVOERING := debug

# Hierna niets meer veranderen



## Unix bouwproces
ifeq (${TARGET_PLATFORM},unix)
CPP := /usr/bin/g++

# wxWidget configuratie generatie voor Unix targets
WXUNIXCCONFIG := `/usr/X11R6/bin/wxgtk2-2.6-config --cflags`
WXUNIXCPPCONFIG := `/usr/X11R6/bin/wxgtk2-2.6-config --cxxflags`
WXUNIXLIBSCONFIG := `/usr/X11R6/bin/wxgtk2-2.6-config --libs`

INCLUDES := -I/usr/include -I/usr/local/include -I../h ${WXUNIXCPPCONFIG}
LIBS := -L/usr/lib   -L/usr/local/lib ${WXUNIXLIBSCONFIG}
LINKS := -lc -lpthread


endif


## Win32 bouwproces
ifeq (${TARGET_PLATFORM}, win32)
CPP := /usr/local/mingw32/bin/g++
UITVOERBAARBESTAND := $(addsuffix .exe, ${UITVOERBAARBESTAND})

# wxWidget configuratie generatie voor Win32 targets
WXWIN32CCONFIG :=    `/usr/local/mingw32/bin/wx-config --cflags`
WXWIN32CPPCONFIG :=  `/usr/local/mingw32/bin/wx-config --cxxflags`
WXWIN32LIBSCONFIG := `/usr/local/mingw32/bin/wx-config --libs`

INCLUDES := ${WXWIN32CPPCONFIG}
LIBS := ${WXWIN32LIBSCONFIG}
LINKS := 

# -lpthread

endif


AFHANKELIJKHEIDVLAGGEN = -MMD -MF .dep/$(@F).d

ifeq (${UITVOERING}, debug)
DEBUG := -gstabs+
else
DEBUG := -O2
endif



.PHONY: all
all: ${UITVOERBAARBESTAND}



${UITVOERBAARBESTAND} : ${BESTANDEN}
	@echo "Bouw ${UITVOERBAARBESTAND} uit bronbestanden ${BESTANDEN}"; \
	${CPP}  -pipe -march=pentiumpro ${DEBUG} -Wall -Werror -o $@  $? ${LIBS} ${LINKS}   


#object bestande uit C++
%.o: %.cpp
	@echo "Compileer $< ......"; \
	${CPP}  -c -pipe -march=pentiumpro ${DEBUG} -Wall -Werror ${INCLUDES} ${AFHANKELIJKHEIDVLAGGEN} -o $@ $<    

# Voeg de afhankelijkheidsbestanden erbij
-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)




.PHONY: clean
clean:
	@echo "Grote schoonmaak............"; \
	rm -f ${UITVOERBAARBESTAND} ; \
	rm -f *.o *.?o *elf *.core  .dep/*.d *~ 
