指定要在 make 命令中使用的 makeinfo
Specify makeinfo to be used in make command
在 OS X Yosemite 上,标准的 texinfo 版本很旧,不支持某些功能。
我现在已经通过 homebrew 安装了更新的版本。由于已经存在一个版本,因此二进制文件不会放入 PATH(仅 keg),这很有意义。
现在,如何在不修改生成文件的情况下告诉make
、我想使用位于/usr/local/opt/texinfo/bin/makeinfo
的二进制文件?
我可以
- link 路径中的 makeinfo
- 执行制作
- 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。
在 OS X Yosemite 上,标准的 texinfo 版本很旧,不支持某些功能。
我现在已经通过 homebrew 安装了更新的版本。由于已经存在一个版本,因此二进制文件不会放入 PATH(仅 keg),这很有意义。
现在,如何在不修改生成文件的情况下告诉make
、我想使用位于/usr/local/opt/texinfo/bin/makeinfo
的二进制文件?
我可以
- link 路径中的 makeinfo
- 执行制作
- 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。