如果我的makefile中有这样的规则:
subdir/object:
cd subdir && do_stuff_to_build_object
我是否需要在规则末尾添加&& cd ..
,以便make
在启动时运行结束时在同一目录中结束?或者make
是否在子shell中运行规则或以其他方式保护自己不会更改目录等内容?换句话说,在执行该规则后,后续规则是否会在subdir/
而不是我想要的地方执行?
答案 0 :(得分:1)
不适用于基于Unix的系统。
该操作由make
运行的shell(或至少是一个子流程)执行,并且它执行的任何cd
操作都不会影响父make
过程