chore: Initialize basic targets in Makefile

This commit is contained in:
2025-03-09 15:02:07 +01:00
parent 6253ea73c2
commit ea9af1577a
3 changed files with 39 additions and 0 deletions

34
Makefile Normal file
View File

@@ -0,0 +1,34 @@
EXE = t3dsr
INC = include
SRC = src
TST = test
BLD = build
DEBUG_DIR = $(BLD)/debug
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)
@$(CC) $^ -o $(BLD)/$@
$(DEBUG_DIR):
@mkdir -p $(DEBUG_DIR)
$(DEBUG_DIR)/%.o: $(SRC)/%.c | $(DEBUG_DIR)
@mkdir -p $(dir $@)
@$(CC) $(CFLAGS) -c $< -o $@
clean:
@rm -rf $(BLD) $(EXE)
run: $(EXE)
@./$(BLD)/$(EXE)
all: $(EXE)
.PHONY: all clean run