From c5d678d58c6c85ed49f4eaa41933461b2b6ff38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20GUEZO?= Date: Sun, 9 Mar 2025 15:49:11 +0100 Subject: [PATCH] chore(Makefile): add test target --- Makefile | 41 +++++++++++++++++++++++++++++++---------- test/test_main.c | 3 +++ 2 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 test/test_main.c diff --git a/Makefile b/Makefile index e779ff6..e24766e 100644 --- a/Makefile +++ b/Makefile @@ -1,25 +1,30 @@ EXE = t3dsr +TEXE = t3dsr_test INC = include SRC = src TST = test BLD = build -DEBUG_DIR = $(BLD)/debug +DDIR = $(BLD)/debug +TDIR = $(BLD)/test CC = clang CFLAGS = -Wall -Wextra -I$(INC) -g -SRCS = $(shell find $(SRC) -name "*.c") -OBJS = $(SRCS:$(SRC)/%.c=$(DEBUG_DIR)/%.o) - -$(EXE): $(OBJS) | $(DEBUG_DIR) +SRCS := $(shell find $(SRC) -name "*.c") +OBJS := $(SRCS:$(SRC)/%.c=$(DDIR)/%.o) + +all: $(EXE) +.PHONY: all + +$(EXE): $(OBJS) | $(DDIR) @$(CC) $^ -o $(BLD)/$@ -$(DEBUG_DIR): - @mkdir -p $(DEBUG_DIR) +$(DDIR): + @mkdir -p $(DDIR) -$(DEBUG_DIR)/%.o: $(SRC)/%.c | $(DEBUG_DIR) +$(DDIR)/%.o: $(SRC)/%.c | $(DDIR) @mkdir -p $(dir $@) @$(CC) $(CFLAGS) -c $< -o $@ @@ -29,6 +34,22 @@ clean: run: $(EXE) @./$(BLD)/$(EXE) -all: $(EXE) +TSRCS := $(shell find $(TST) -name "*.c") +TOBJS := $(TSRCS:$(TST)/%.c=$(TDIR)/%.o) \ + $(filter-out $(DDIR)/main.o, $(OBJS)) -.PHONY: all clean run \ No newline at end of file +debug: + @echo "$(OBJS)\n$(TOBJS)" + +$(TDIR)/%.o: $(TST)/%.c | $(TDIR) + @mkdir -p $(dir $@) + @$(CC) $(CFLAGS) -c $< -o $@ + +$(TDIR): + @mkdir -p $(TDIR) + +$(TEXE): $(TOBJS) | $(TDIR) $(DDIR) + @$(CC) $^ -o $(BLD)/$@ + +test: $(TEXE) + @./$(BLD)/$(TEXE) \ No newline at end of file diff --git a/test/test_main.c b/test/test_main.c new file mode 100644 index 0000000..e9cdae1 --- /dev/null +++ b/test/test_main.c @@ -0,0 +1,3 @@ +int main() { + return 0; +} \ No newline at end of file