makefile中$^和$?有什么区别
我知道makefile中$^表示所有依赖文件,而$?表示比目标还要新的依赖文件列表,那么他们俩有什么区别?什么又叫做比目标还要新的依赖文件列表?...
我知道makefile中$^表示所有依赖文件,而$?表示比目标还要新的依赖文件列表,那么他们俩有什么区别?什么又叫做比目标还要新的依赖文件列表?
展开
1个回答
展开全部
Makefile中$^和$?的区别其实定义的很清楚,一个是所有依赖文件,一个是比目标还要新的文件列表。只是$?的用途大多是用于类似编译日志记录等等的功能。举例如下:
record :a.c b.c # record 依赖a.c和b.c文件
lpr -p $? # $?列出比目标文件(record)更新的所有依赖文件,并由lpr命令提交给打印机
touch record # 更新record文件的时间戳,如果没有则建立record文件。
上面的例子的作用是每次编译的时候,会在打印机中打印出上一次编译后被更新的文件名,而没有更改过的文件不会被打印。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询