使用 Makefile 可以帮助你在 C/C++ 项目中自动化构建过程,从而提高开发效率。下面是一个简单的 Makefile 示例,说明了如何使用 Makefile 来构建一个 C/C++ 项目:
# 编译器设置 CC = gcc CXX = g++ CFLAGS = -Wall -Wextra -g CXXFLAGS = -Wall -Wextra -g # 目标文件名 TARGET = myprogram # 源文件目录 SRCDIR = src # 头文件目录 INCDIR = include # 中间文件目录 OBJDIR = obj # 源文件列表(.c 文件) SRCS = $(wildcard $(SRCDIR)/*.c) # 中间目标文件列表(.o 文件) OBJS = $(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o,$(SRCS)) # 头文件搜索路径 INC = -I$(INCDIR) # 默认构建目标 all: $(TARGET) # 生成目标文件 $(OBJDIR)/%.o: $(SRCDIR)/%.c @mkdir -p $(OBJDIR) $(CC) $(CFLAGS) $(INC) -c -o $@ $< # 链接生成可执行文件 $(TARGET): $(OBJS) $(CC) $(CFLAGS) -o $@ $^ # 清理生成的文件 clean: @rm -rf $(OBJDIR) $(TARGET) # 定义伪目标,防止与文件同名的文件冲突 .PHONY: all clean
在这个 Makefile 中:
CC
CXX
CFLAGS
CXXFLAGS
-Wall
-g
TARGET
SRCDIR
INCDIR
OBJDIR
SRCS
OBJS
INC
all
$(TARGET)
$(OBJDIR)/%.o: $(SRCDIR)/%.c
$(TARGET): $(OBJS)
clean
.PHONY
要使用这个 Makefile,将它保存为名为 Makefile 的文件,然后在终端中运行 make 命令即可构建项目。要清理生成的文件,可以运行 make clean。
Makefile
make
make clean
原文链接:codingdict.net