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