Makefile
CXX = g++ # 编译器
TARGET = out # 最终输出的文件名
# 如果有新增源文件,需手动添加同名的中间文件
OBJ = main.o src1.o src2.o # 要生成的中间文件(汇编文件),还未链接
# 也可以使用下面这种方法,这样我们就不要手动添加新增的源文件了
# SRC = $(wildcard *.cpp) # 表示所有cpp文件,wildcard是使用通配符的意思
# OBJ = $(patsubst %.cpp, %.o, $(SRC)) # 将所有源文件替换成同名的中间文件
CXXFLAGS = -Wall # 编译选项,这里表示输出警告信息
$(TARGET): $(OBJ) # 冒号前是目标,冒号后是依赖
$(CXX) -o $@ $^ # $@代表冒号前的文件,$^代表冒号后的所有文件
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $< -o $@ # $<代表冒号后的第一个文件
.PHONY: clean # 表示伪目标,防止我们的文件名是clean,从而不执行以下命令
clean:
rm -f *.o $(TARGET) # 删除所有生成的文件
# make 执行生成target文件
# make clean 执行目标clean,即清楚所有生成的文件
CMakeLists.txt
cmake_minimum_required(VERSION 3.10) # 要求的cmake的最小版本
project(MyProject) # 项目名称
add_executable(out main.c src1.c src2.c) # 生成的文件为out,然后后面是需要的源文件
标签:文件,%.,Makefile,源文件,CMkeLists,冒号,cpp,txt
From: https://www.cnblogs.com/winter-z/p/18401883