chore(Makefile): add test target

This commit is contained in:
2025-03-09 15:49:11 +01:00
parent ea9af1577a
commit c5d678d58c
2 changed files with 34 additions and 10 deletions

View File

@@ -1,25 +1,30 @@
EXE = t3dsr EXE = t3dsr
TEXE = t3dsr_test
INC = include INC = include
SRC = src SRC = src
TST = test TST = test
BLD = build BLD = build
DEBUG_DIR = $(BLD)/debug DDIR = $(BLD)/debug
TDIR = $(BLD)/test
CC = clang CC = clang
CFLAGS = -Wall -Wextra -I$(INC) -g CFLAGS = -Wall -Wextra -I$(INC) -g
SRCS = $(shell find $(SRC) -name "*.c") SRCS := $(shell find $(SRC) -name "*.c")
OBJS = $(SRCS:$(SRC)/%.c=$(DEBUG_DIR)/%.o) OBJS := $(SRCS:$(SRC)/%.c=$(DDIR)/%.o)
$(EXE): $(OBJS) | $(DEBUG_DIR) all: $(EXE)
.PHONY: all
$(EXE): $(OBJS) | $(DDIR)
@$(CC) $^ -o $(BLD)/$@ @$(CC) $^ -o $(BLD)/$@
$(DEBUG_DIR): $(DDIR):
@mkdir -p $(DEBUG_DIR) @mkdir -p $(DDIR)
$(DEBUG_DIR)/%.o: $(SRC)/%.c | $(DEBUG_DIR) $(DDIR)/%.o: $(SRC)/%.c | $(DDIR)
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@$(CC) $(CFLAGS) -c $< -o $@ @$(CC) $(CFLAGS) -c $< -o $@
@@ -29,6 +34,22 @@ clean:
run: $(EXE) run: $(EXE)
@./$(BLD)/$(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 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)

3
test/test_main.c Normal file
View File

@@ -0,0 +1,3 @@
int main() {
return 0;
}