all: bin/test bin/exemple doc/doxy

bin/affichage:obj/affichage.o obj/Image.o obj/ImageViewer.o obj/Pixel.o
	g++ -g obj/affichage.o obj/Pixel.o obj/Image.o obj/ImageViewer.o  -o bin/affichage -lSDL2 -lSDL2_ttf -lSDL2_image

obj/affichage.o:src/Image.h src/mainAffichage.cpp  src/ImageViewer.h
	g++ -Wall -I/usr/include/SDL2 -c src/mainAffichage.cpp -o obj/affichage.o

obj/ImageViewer.o: src/Image.h src/ImageViewer.cpp sec/ImageViewer.h
	g++ -Wall -I/usr/include/SDL2 -c src/ImageViewer.cpp -o obj/ImageViewer.o

bin/test: obj/mainTest.o obj/Pixel.o obj/Image.o
	g++ -g obj/mainTest.o obj/Pixel.o obj/Image.o -o bin/test

obj/mainTest.o: src/mainTest.cpp src/Image.h 
	g++ -g -Wall -c src/mainTest.cpp -o obj/mainTest.o

obj/Pixel.o: src/Pixel.cpp src/Pixel.h
	g++ -g -Wall -c src/Pixel.cpp -o obj/Pixel.o
	
obj/Image.o: src/Image.cpp src/Image.h
	g++ -g -Wall -c src/Image.cpp -o obj/Image.o
	
bin/exemple: obj/exemple.o obj/Pixel.o obj/Image.o
	g++ -g obj/exemple.o obj/Pixel.o obj/Image.o -o bin/exemple	

obj/exemple.o: src/mainExemple.cpp src/Image.h
	g++ -g -Wall -c src/mainExemple.cpp -o obj/exemple.o

doc/doxy: docu/doxyfile
	doxygen docu/doxyfile
	
clean:
	rm -rf obj/* bin/* data/*

veryclean: clean
	rm *.out