指定要在 make 命令中使用的 makeinfo

Specify makeinfo to be used in make command

在 OS X Yosemite 上,标准的 texinfo 版本很旧,不支持某些功能。

我现在已经通过 homebrew 安装了更新的版本。由于已经存在一个版本,因此二进制文件不会放入 PATH(仅 keg),这很有意义。

现在,如何在不修改生成文件的情况下告诉make我想使用位于/usr/local/opt/texinfo/bin/makeinfo的二进制文件?

我可以

  1. link 路径中的 makeinfo
  2. 执行制作
  3. unlink texinfo

但我认为这不够优雅。

这是我唯一的选择吗?

这取决于您的 makefile。如果它使用一个变量来保存 makeinfo 程序的名称,就像这样:

MAKEINFO = /usr/bin/makeinfo

foo.info: foo.texi
       $(MAKEINFO) ...

那么你可以简单地 运行 make MAKEINFO=/usr/local/opt/texinfo/bin/makeinfo.

或者,如果它仅使用没有路径的程序名称,如 makeinfo,您可以在调用 make 之前设置您的 $PATH 变量:PATH=/usr/local/opt/texinfo/bin:$PATH make

如果您的 makefile 使用没有变量的硬编码路径调用 makeinfo

foo.info: foo.texi
        /usr/bin/makeinfo ...

那么你运气不好,你 必须 更改你的 makefile。