CC = gcc CFLAGS = -std=gnu11 -Wextra -pedantic -Wall -O0 -g3 -fsanitize=address LDFLAGS = -lncursesw -fsanitize=address OBJ_DIR = ./build OBJECTS = $(wildcard $(OBJ_DIR)/*.o) BUILD_COMMAND = $(CC) -c $^ -o $(OBJ_DIR)/$@ $(CFLAGS) $(LDFLAGS) .PHONY: clean build: $(CC) $(OBJECTS) -o minigame-menu $(CFLAGS) $(LDFLAGS) clean: rm -f *~ $(OBJECTS) main main.o: main.c $(BUILD_COMMAND) minigame-menu.o: games/minigame-menu/minigame_menu.c $(BUILD_COMMAND) manual.o: games/manual/manual.c $(BUILD_COMMAND) maze-runner.o: games/maze-runner/maze_runner.c $(BUILD_COMMAND) snake.o: games/snake/snake.c $(BUILD_COMMAND) minesweeper.o: games/minesweeper/minesweeper.c $(BUILD_COMMAND) engine.o: engine/grid_game_engine.c $(BUILD_COMMAND) grid.o: engine/grid/grid.c $(BUILD_COMMAND)