从Emacs的子目录中调用项目根目录中的makefile

Nav*_*K N 5 emacs makefile

我在项目根目录中有一个makefile.如果我在子目录中编辑文件,如何从EMACS 调用makeMx编译make将无法正常工作,因为它在当前目录中查找makefile.但是我在项目根目录中有makefile.

有什么想法吗?

编辑

正如所建议的那样,make -f fullpath_to_makefile就可以了.但是我在makefile中包含了一些包含" tests/module.mk "的包含失败的内容.它正在子目录中查找" tests "目录.这可以通过在makefile中指定完全限定的路径来解决.但我不认为这是一个很好的解决方案.有更好的方法吗?

Dir*_*tel 5

M-x compile函数查找compile-command-variable你可以在promt上覆盖的函数 - 所以只需用类似的东西替换它

(cd ../.. && make && cd -)
Run Code Online (Sandbox Code Playgroud)

让它运行.

我也经常使用文件头(第1行)等

// -*- compile-command: "g++ -o myprog myprog.ccc -lfoo -lbar && ./myprog"; -*-
Run Code Online (Sandbox Code Playgroud)

您可以随意使用不同的选项进行概括.重新加载文件后,M-x compile将执行我认为非常有用的自定义编译命令.