example
all : a
tab
all : b
tab
a:
echo "a"
b:
echo "b"
当makefile里出现了相同目标,并且该目标有跟谁command操作的时候,会发生command重载,这时候后面的依赖将添加到原来依赖的前面
如上执行结果是
makefile:4: warning: overriding commands for target `all'
makefile:2: warning: ignoring old commands for target `all'
echo "b"
b
echo "a"
a
如果把上面列子的俩个tab删除,则不会发生重载,目标的依赖添加到后面,结果如下
echo "a"
a
echo "b"
b
本文探讨了Makefile中出现相同目标并带有不同命令时的情况,即命令重载现象。通过具体示例说明了如何处理此类问题,展示了命令重载前后执行结果的变化。
502

被折叠的 条评论
为什么被折叠?



