puissance4: main.o twoPlayers.o board.o randomAI.o winnerCheck.o smartAI.o
	gcc main.o twoPlayers.o board.o randomAI.o winnerCheck.o smartAI.o -o puissance4

main.o : src/main.c
	gcc -Wall -Wextra -c src/main.c

twoPlayers.o : src/twoPlayers.c src/twoPlayers.h
	gcc -Wall -Wextra -c src/twoPlayers.c

board.o : src/board.c src/board.h
	gcc -Wall -Wextra -c src/board.c

randomAI.o : src/randomAI.c src/randomAI.h
	gcc -Wall -Wextra -c src/randomAI.c

winnerCheck.o : src/winnerCheck.c src/winnerCheck.h
	gcc -Wall -Wextra -c src/winnerCheck.c

smartAI.o : src/smartAI.c src/smartAI.h
	gcc -Wall -Wextra -c src/smartAI.c

clean:
	@echo "this rule must clean everything up (including candidate files in testbed)"
	$(MAKE) -C testbed clean

tests: puissance4
	$(MAKE) -C testbed

unitTests: 
	$(MAKE) -C UnitTests