make的用法,首先make执行的前提需要在当前目录下存在一个叫作makefile的文件,makefile的文件的内容直接关系到make命令如何去执行。如makefile的内容为
main:main.o
gcc main.o -o main
main.o:main.c
gcc -c main.c main.o
clean:
rm *.o
那么如果当前目录下存在main.c且源文件的语法没有出错的话,那么就会生成一个名为main的可执行文件,过程是比较main和main.c的生成时间,如果main.c的时间比main迟的话就会重新编译程序。
重点来了伪目标,首先假设一种情况下,当前目录下有一个文件叫做clean,那么由于make以文件处理作为第一优先级,所以它会把clean当作一个文件,然后去寻找它的依赖文件,由于我们的目的本身就是定义一个类似标签的东西,所以clean下面只是一些命令,所以没有依赖文件,所以默认认为这个文件是最新的,不执行以下命令,这显然不是我们要的结果,所以我们用.PHONY:clean来定义一个名为clean的伪目标,这样的话当目录下有这个文件的时候,make命令就不会把clean当成是一个普通的文件而去寻找依赖文件了,这样命令就可以成功执行了。所以总结一点无论怎么样伪目标下的命令总是被执行。
makefile的简单格式以及伪目标是什么
最新推荐文章于 2022-11-18 21:06:58 发布