Chad makefile

This commit is contained in:
2025-10-22 16:37:41 +02:00
parent 40a3668049
commit d0e4898fbd

View File

@@ -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