当我写好了如下的cpp文件时,我也使用Makefile进行批量编译处理,于是我这样写。
main:main.cpp printMap.cpp getMap.cpp freeMap.cpp deepSearch.cpp
g++ main.cpp printMap.cpp getMap.cpp freeMap.cpp deepSearch.cpp -o main
输入make编译成功。
当我知道make会自动处理依赖,于是我这样写。
main:main.o printMap.o getMap.o freeMap.o deepSearch.o
g++ main.o printMap.o getMap.o freeMap.o deepSearch.o -o main
输入make编译成功。
当我知道可以使用变量的时候,于是我这样写。
SOURCE = main.o printMap.o getMap.o freeMap.o deepSearch.o
main:$(SOURCE)
g++ $(SOURCE) -o main
输入make编译成功。
当我知道有匹配符的时候,于是我这样写。
# 匹配所有的*.cpp文件,并且把匹配到的结果保存到变量SOURCE2
SOURCE2=$(wildcard ./*.cpp)
# 把所有的*.cpp文件替换成*.o文件,并且把结果保存到变量SOURCE
SOURCE=$(patsubst %.cpp,%.o,$(SOURCE2))
# 开始编译
main:$(SOURCE)
g++ $(SOURCE) -g -o main
输入make编译。
当我知道make可以扩展一些其他的功能的时候,我添加了一条clean功能
输入命令make clean 清除了所有的*.o文件