Files
aiagent/Makefile

63 lines
1.4 KiB
Makefile
Raw Normal View History

# ========================================
# Makefile — C 项目编译与运行
# ========================================
# ---------- 编译器与选项 ----------
CC = gcc
CFLAGS = -Wall -Wextra -std=c11 -g
LDFLAGS =
LIBS =
# ---------- 项目结构 ----------
SRCDIR = src
INCDIR = include
BUILDDIR= build
BINDIR = bin
# ---------- 自动收集源文件 ----------
SRCS = $(wildcard $(SRCDIR)/*.c)
OBJS = $(SRCS:$(SRCDIR)/%.c=$(BUILDDIR)/%.o)
TARGET = $(BINDIR)/app
# ---------- 默认目标 ----------
.PHONY: all run clean help
all: $(TARGET)
# ---------- 链接 ----------
$(TARGET): $(OBJS) | $(BINDIR)
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
# ---------- 编译 ----------
$(BUILDDIR)/%.o: $(SRCDIR)/%.c | $(BUILDDIR)
$(CC) $(CFLAGS) -I$(INCDIR) -c -o $@ $<
# ---------- 创建目录 ----------
$(BINDIR):
mkdir -p $(BINDIR)
$(BUILDDIR):
mkdir -p $(BUILDDIR)
# ---------- 运行 ----------
run: $(TARGET)
./$(TARGET)
# ---------- 清理 ----------
clean:
rm -rf $(BUILDDIR) $(BINDIR)
# ---------- 帮助 ----------
help:
@echo "使用说明:"
@echo " make — 编译项目"
@echo " make run — 编译并运行"
@echo " make clean — 清理构建产物"
@echo " make help — 显示帮助"
@echo ""
@echo "项目结构:"
@echo " src/ — 源文件 (.c)"
@echo " include/ — 头文件 (.h)"
@echo " build/ — 编译中间文件 (.o)"
@echo " bin/ — 可执行文件"