在用Makefile的时候可能会遇到很多小细节,下面将这些细节记录下来。
1.@的用法
makefile在执行的时候会将该命令先打印出来,再执行。可以在命令的前面加上@,这样在执行之前就不会被打印出来了。
2.export
登录到系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。
export ,是把你设置的环境变量传给当前SHELL的子SHELL,使其在子SHELL中有效。
3 $< 和 $ ^
$< 是规则的第一个依赖文件名。$^是所有的依赖文件列表。
如下面就不能用$<,必须用$^。
OBJS := hello.o world.o
gcc -o test $^
但是$^是去除了重复依赖文件的,$+包含依赖文件中重复出现的文件。
阅读(628) | 评论(0) | 转发(0) |