代码拉取完成,页面将自动刷新
# 定义编译器和编译选项
CC = gcc
CFLAGS = -Wall -g
# 定义目录变量
SRCDIR = src
BUILDDIR = build
# 获取所有的.c文件
SRCS := $(wildcard $(SRCDIR)/*.c)
# 将.c文件转换为目标文件,并放入build目录
OBJS := $(patsubst $(SRCDIR)/%.c,$(BUILDDIR)/%.o,$(SRCS))
# 定义目标文件名和依赖关系
TARGET = ProjectOut
DEPS = $(OBJS:.o=.d)
# 链接目标文件
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) $^ -o $(BUILDDIR)/$@
# 编译每个.c文件为目标文件
$(BUILDDIR)/%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c $< -o $@
# 自动生成依赖关系
-include $(DEPS)
# 生成依赖关系文件
$(BUILDDIR)/%.d: $(SRCDIR)/%.c
@mkdir -p $(@D)
$(CC) -MM -MF $@ -MP -MT "$(@:.d=.o) $@" $<
# 清理所有生成的文件
clean:
rm -rf $(BUILDDIR) $(TARGET)
# 打印编译选项和目标文件
info:
@echo "CC = $(CC)"
@echo "CFLAGS = $(CFLAGS)"
@echo "SRCDIR = $(SRCDIR)"
@echo "BUILDDIR= $(BUILDDIR)"
@echo "SRCS = $(SRCS)"
@echo "OBJS = $(OBJS)"
@echo "DEPS = $(DEPS)"
@echo "TARGET = $(TARGET)"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。