diff --git a/Makefile b/Makefile index 97ddd18..2ac0f20 100644 --- a/Makefile +++ b/Makefile @@ -1,38 +1,33 @@ -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) +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 -build: - $(CC) $(OBJECTS) -o minigame-menu $(CFLAGS) $(LDFLAGS) +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 *~ $(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) + rm -f build/*.o main