在命令行输入make命令后,会查找当前目录下的Makefile文件来执行,一切都是自动运行的。有时候Makefile中有多个程序需要编译,这时可以使用“make all”来编译所有的程序。当然也可以使用“make 程序名”来单独编译某一个文件。
既然make可以指定所有Makefile中的目标,那么也包括“伪目标”。我们可以根据这种性质来让我们的Makefile根据指定的不同目标来完成不同的任务。通常情况下参考linux源码的Makefile规则来书写我们的Makefile中的目标。
“all”—— 这个伪目标是所有目标的目标,其功能一般是编译所有的目标。
“clean” —— 这个伪目标功能是删除所有被make创建的文件。
“install” —— 这个伪目标功能是安装已编译好的程序,其实就是把目标执行文件拷贝到指定的目标中去。
“print” —— 这个伪目标的功能是例出改变过的源文件。
“tar” —— 这个伪目标功能是把源程序打包备份。也就是一个tar文件。
“dist” —— 这个伪目标功能是创建一个压缩文件,一般是把tar文件压成Z文件,或是gz文件。
“TAGS” —— 这个伪目标功能是更新所有的目标,以备完整地重编译使用。
“check”和“test” —— 这两个伪目标一般用来测试makefile的流程。
上述的这些伪目标都是GNU开源软件定义和采用的,为了规范和统一,我们如果编写Makefile时也尽量使用上述的关键字命名目标。
【参考】 跟我一起写Makefile:make运行
http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile:make%E8%BF%90%E8%A1%8C