Files
test-projects/clang/Makefile
T
2026-01-09 14:01:23 +01:00

62 lines
996 B
Makefile

SHELL := /usr/bin/env bash
PREFIX :=
CC := $(PREFIX)gcc
LD := $(PREFIX)ld
SIZE := $(PREFIX)size
GDB := $(PREFIX)gdb
NAME := c-test-project
SRC_DIR := ./src
INC_DIR := ./inc
BIN_DIR := ./bin
OBJ_DIR := $(BIN_DIR)/obj
OPT_LEVEL := -g3 \
-O0
C_SRC := main.c
C_DEF :=
C_DEF := $(addprefix -D, $(C_DEF))
C_INC := $(INC_DIR)
C_INC := $(addprefix -I, $(C_INC))
C_FLAGS := $(C_DEF) \
$(C_INC) \
$(OPT_LEVEL) \
-Wall \
-Wextra \
-Wpedantic \
-Wconversion \
-Wsign-conversion \
-Wsign-compare \
-Wcast-align=strict \
-Wfloat-equal \
-Wlogical-op \
-Wno-unused-command-line-argument \
-Werror
BINARY := $(BIN_DIR)/$(NAME)
MKDIR := $(BIN_DIR) $(OBJ_DIR)
VPATH := $(SRC_DIR)
.PHONY: all clean test
all: clean $(MKDIR) $(BINARY)
clean:
@rm -rf $(MKDIR)
$(MKDIR):
@mkdir -p $@
$(BINARY): $(C_SRC)
gcc $(C_FLAGS) $^ -o $@