CFLAGS = -std=gnu11 -Wextra -pedantic -Wall -O0 -g3 -fsanitize=address LDFLAGS = -lncurses -fsanitize=address BUILD_DIR = build SRC_DIR = src GAMES_DIR = games ENGINE_DIR = engine MAIN_OBJECTS = $(BUILD_DIR)/main.o \ $(BUILD_DIR)/minigame_menu.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: src/main.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/minigame_menu.o: src/games/minigame-menu/minigame_menu.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/snake.o: src/games/snake/snake.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/maze_runner.o: src/games/maze-runner/maze_runner.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/minesweeper.o: src/games/minesweeper/minesweeper.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/manual.o: src/games/manual/manual.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/grid.o: src/engine/grid/grid.c cc $(CFLAGS) -o $@ -c $^ $(BUILD_DIR)/grid_game_engine.o: src/engine/engine/grid_game_engine.c cc $(CFLAGS) -o $@ -c $^ clean: rm -f build/*.o main