为了运行 make 文件,我应该转到 make 文件的目录,然后才能从那里运行 make 文件。即使我在任何目录中,我该如何做同样的事情?
答案1
通用解决方案
(cd /other/dir && make)
不会改变你的 shell当前目录(因为括号中的内容是在子 shell 中运行的),但将make
使用指示的工作目录运行。
如果命令的某个部分出现错误(例如,目录不存在,或者您无权访问该目录),则&&
确保不会运行。make
cd
上述方法适用于各种命令,而不仅仅是make
。因此,值得学习和记住。
具体解决方案
检查手册页中的-C
选项,例如
make -C /other/dir
一些 Unix 命令最初没有此选项,但后来添加了此选项(例如 GNU 实现)
答案2
你可以使用
make -C dir
dir
在读取指定的 makefile 之前切换到目录。请注意,该选项-C
是大写的。
答案3
这是一个老问题,但我喜欢使用~/.bashrc
别名,如下所示:
alias makeaway="cd /dir/to/make && make && cd -"
答案4
您还可以将它与 Makefile 目标一起使用。
make {your target} -C {your Makefile directory}
例如:
make flcean -C /home/yourlogin/yourdirectory