让我们说我在一个子目录sub
中:
admin@pc ~/folder/subfolder $
我想在make
目录的Makefile
上运行folder
。
如果我在subfolder
目录中,我该如何实现?
我有一些想法:
admin@pc ~/folder/subfolder $ ../make
admin@pc ~/folder/subfolder $ /../make
但这些都不起作用。
答案 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