gpt4 book ai didi

emacs 编译命令在上级目录中查找 makefile

转载 作者:行者123 更新时间:2023-12-01 23:17:55 25 4
gpt4 key购买 nike

这似乎是一个明显的黑客,我讨厌自己编写它,但我没有运气找到它。

我想联系 M-x compile它将在目录树中从 cwd 向上搜索到带有 Makefile 的第一个目录,然后运行 ​​make 命令。所以,基本上是

  • 如果 ./Makefile 存在,运行 make 命令
  • 否则,cd ..然后再试一次

  • 停在 $HOME .

    最佳答案

    以下代码定义了 compile-parent ,它定位最近的 Makefile并创建一个 make命令使用该 Makefile。它的行为类似于 compile因为它仍然会提示,向您显示它将使用的命令,并让您有机会对其进行编辑,例如通过指定一个特定的目标。

    (defun compile-parent (command)
    (interactive
    (let* ((make-directory (locate-dominating-file (buffer-file-name)
    "Makefile"))
    (command (concat "make -k -C "
    (shell-quote-argument make-directory))))
    (list (compilation-read-command command))))
    (compile command))

    您可能还想查看 Projectile扩展,它提供了一个次要模式来通过 VCS 元数据或特定构建文件的存在来检测项目,有几个命令可以从项目根目录工作,包括 projectile-compile命令,运行 M-x compile从项目根。

    关于emacs 编译命令在上级目录中查找 makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715541/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com