CC = gcc

raylib_folder = ./raylib
unityfolder   = ./unity
BINARIES      = ./windows

CFLAGS  = -g -Wall -I$(raylib_folder) -DSTART_GRAPHICS 
LDFLAGS = -lopengl32 -lgdi32 -lwinmm

# --------------------------
# initiales Spiel bauen
# --------------------------
wordsalad_initial: $(BINARIES)/libwordsalad_complete.a $(BINARIES)/libraylib.a
	$(CC) -o $@ $(BINARIES)/libwordsalad_complete.a $(BINARIES)/libraylib.a $(LDFLAGS)

# --------------------------
# Normales Spiel bauen
# --------------------------
all: wordsalad

wordsalad: main.o input.o game.o graphicalGame.o $(BINARIES)/libraylib.a
	$(CC) $(CFLAGS) -o $@ main.o input.o game.o graphicalGame.o $(BINARIES)/libraylib.a $(LDFLAGS)

main.o: main.c
	$(CC) $(CFLAGS) -c main.c -o main.o

input.o: input.c
	$(CC) $(CFLAGS) -c input.c -o input.o

game.o: game.c
	$(CC) $(CFLAGS) -c game.c -o game.o

graphicalGame.o: graphicalGame.c
	$(CC) $(CFLAGS) -c graphicalGame.c -o graphicalGame.o

# --------------------------
# Unit Tests
# --------------------------
TEST_BIN = runTests

unit_tests.o: unit_tests.c
	$(CC) $(CFLAGS) -I$(unityfolder) -c unit_tests.c -o unit_tests.o

test: input.o game.o unit_tests.o $(BINARIES)/libunity.a
	$(CC) $(CFLAGS) -I$(unityfolder) -o $(TEST_BIN) input.o game.o unit_tests.o $(BINARIES)/libunity.a

# --------------------------
# Clean
# --------------------------
clean:
	del /f *.o *.exe
