如果我的makefile规则更改目录,是否需要在完成之前更改?

时间:2010-09-03 02:48:11

标签: makefile semantics

如果我的makefile中有这样的规则:

subdir/object:
    cd subdir && do_stuff_to_build_object

我是否需要在规则末尾添加&& cd ..,以便make在启动时运行结束时在同一目录中结束?或者make是否在子shell中运行规则或以其他方式保护自己不会更改目录等内容?换句话说,在执行该规则后,后续规则是否会在subdir/而不是我想要的地方执行?

1 个答案:

答案 0 :(得分:1)

不适用于基于Unix的系统。

该操作由make运行的shell(或至少是一个子流程)执行,并且它执行的任何cd操作都不会影响父make过程