CFLAGS = -std=gnu11 -Wextra -pedantic -Wall -O0 -g3 -fsanitize=address LDFLAGS = -lncurses -fsanitize=address BUILD_DIR = build MAIN_OBJECTS = $(BUILD_DIR)/main.o \ $(BUILD_DIR)/snake.o \ $(BUILD_DIR)/maze_runner.o \ $(BUILD_DIR)/minesweeper.o \ $(BUILD_DIR)/manual.o \ $(BUILD_DIR)/grid.o \ $(BUILD_DIR)/grid_game_engine.o .PHONY: clean main: $(MAIN_OBJECTS) cc $(LDFLAGS) -o main $^ $(BUILD_DIR)/main.o: main.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/snake.o: games/snake/snake.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/grid_game_engine.o: engine/grid_game_engine.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/maze_runner.o: games/maze-runner/maze_runner.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/minesweeper.o: games/minesweeper/minesweeper.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/manual.o: games/manual/manual.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/grid.o: engine/grid/grid.c cc $(CFLAGS) -o $@ -c $^ clean: rm -f build/*.o main