makefile的简单格式以及伪目标是什么

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当成是一个普通的文件而去寻找依赖文件了,这样命令就可以成功执行了。所以总结一点无论怎么样伪目标下的命令总是被执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值