mirror of
https://github.com/guezoloic/t3dsr.git
synced 2026-01-25 07:34:23 +00:00
55 lines
868 B
Makefile
55 lines
868 B
Makefile
EXE = t3dsr
|
|
TEXE = t3dsr_test
|
|
|
|
INC = include
|
|
SRC = src
|
|
TST = test
|
|
BLD = build
|
|
|
|
DDIR = $(BLD)/debug
|
|
TDIR = $(BLD)/test
|
|
|
|
CC = clang
|
|
CFLAGS = -Wall -Wextra -I$(INC) -g
|
|
|
|
SRCS := $(shell find $(SRC) -name "*.c")
|
|
OBJS := $(SRCS:$(SRC)/%.c=$(DDIR)/%.o)
|
|
|
|
all: $(EXE)
|
|
.PHONY: all
|
|
|
|
$(EXE): $(OBJS) | $(DDIR)
|
|
@$(CC) $^ -o $(BLD)/$@
|
|
|
|
$(DDIR):
|
|
@mkdir -p $(DDIR)
|
|
|
|
$(DDIR)/%.o: $(SRC)/%.c | $(DDIR)
|
|
@mkdir -p $(dir $@)
|
|
@$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
@rm -rf $(BLD) $(EXE)
|
|
|
|
run: $(EXE)
|
|
@./$(BLD)/$(EXE)
|
|
|
|
TSRCS := $(shell find $(TST) -name "*.c")
|
|
TOBJS := $(TSRCS:$(TST)/%.c=$(TDIR)/%.o) \
|
|
$(filter-out $(DDIR)/main.o, $(OBJS))
|
|
|
|
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)
|