最近在网上看到一篇makefile的快速教程,感觉写得非常好,对于管理一些基本的小项目来说够用了,这里特别mark一下。
这里附加两个解释:
- 默认的情况下,make处理第一个不以.开头的target,并会更新它所以来的target,所以如果处理第一个target的时候不依赖与clean的话,clean不会被执行。但是,如果处理第一个target的时候不小心产生了一个clean文件,那么我们再运行make clean的时候这个命令不会做任何事。而.PHONY这个特殊的宏则表明clean是一个虚假的目标,因此make clean的时候不管有没clean文件都要执行这个。
- patsubst的用法见这里