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

时间:2015-04-27 21:13:31

标签: bash terminal

让我们说我在一个子目录sub中:

admin@pc ~/folder/subfolder $

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

如果我在subfolder目录中,我该如何实现?

我有一些想法:

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

但这些都不起作用。

3 个答案:

答案 0 :(得分:3)

如果由于某种原因你真的需要在make中运行..,你可以运行

(cd .. && make)

答案 1 :(得分:2)

一个替代的,内置的答案,避免了khachik答案的额外子shell是helpYou在他们的评论中给出的答案:

要自动从其他目录运行make,您需要-C option to make

  

' - C dir'

     

“ - 目录DIR =”

     

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

-f参数只是指定要使用的备用makefile,但在当前目录中运行。

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

答案 2 :(得分:0)

这是正确答案。

make -C .. -f Makefile