如何从更高级别的目录运行"make"?



假设我在子目录中sub

admin@pc ~/folder/subfolder $

我想在folder目录中的Makefile上运行make

当我在subfolder目录中时,如何实现它?

我有一些想法,例如:

admin@pc ~/folder/subfolder $ ../make
admin@pc ~/folder/subfolder $ /../make

但这些都不起作用。

如果由于某种原因您确实需要在 .. 中运行 make ,您可以运行

(cd .. && make)

另一种内置答案,避免了khachik答案中额外的子外壳,是helpYou在他们的评论中给出的答案:

要从不同的目录自动运行make,您需要-C选项。

'-C 目录'

'--目录=目录'

在读取生成文件之前更改为目录目录。如果指定了多个"-C"选项,则每个选项都相对于前一个选项进行解释:"-C/-C 等"等效于"-C/etc"。这通常与 make 的递归调用一起使用(请参阅 make 的递归使用)。

-f 参数仅指定要使用的备用生成文件,但在当前目录中运行。

子壳解决方案是一个很好的解决方案,如果 make 没有内置解决方案,那将是正确的解决方案。

这是

正确答案。

make -C .. -f Makefile

最新更新