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

时间:2015-02-12 09:54:45

标签: makefile osx-yosemite texinfo

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

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

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

我可以

  1. 在PATH中链接makeinfo
  2. 执行make
  3. 取消链接texinfo
  4. 但我认为这不优雅。

    这是我唯一的选择吗?

1 个答案:

答案 0 :(得分:0)

这取决于你的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。