CC = g++
CFLAGS := -std=c++11 -Wall -Wfatal-errors -c -ggdb -O0
LDFLAGS := -lsfml-graphics -lsfml-window -lsfml-system
BIN = tictactoe
OBJ = main.o tictactoe.o menu.o button.o board.o cell.o

all: depends $(BIN)

$(BIN): $(OBJ)
	$(CC) $(LDFLAGS) $^ -o $@

%.o: %.cpp
	$(CC) $(CFLAGS) $< -o $@

depends:
	@echo -n > depends
	@$(foreach obj,$(OBJ), g++ -MM $(subst .o,.cpp,$(obj)) >> depends;)

-include depends

clean::
	rm -f $(OBJ) $(BIN) depends
