Specify makeinfo to be used in make command

517 Views Asked by At

On OS X Yosemite, the standart texinfo version is quite old and does not suppprt certain features.

I now have installed, via homebrew, a newer version. As there is an already existing version, the binaries are not put into the PATH (keg only), which makes perfect sense.

Now, how can I tell make, without modifying the make file that I want to use the binary located at /usr/local/opt/texinfo/bin/makeinfo?

I could

  1. link makeinfo in the PATH
  2. execute make
  3. unlink texinfo

But I consider this un-elegant.

Is this my only option?

1

There are 1 best solutions below

1
MadScientist On BEST ANSWER

It depends on your makefile. If it uses a variable to hold the name of the makeinfo program, something like this:

MAKEINFO = /usr/bin/makeinfo

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

then you can simply run make MAKEINFO=/usr/local/opt/texinfo/bin/makeinfo.

Alternatively, if it uses just the name of the program without a path, like makeinfo, you can set your $PATH variable before invoking make: PATH=/usr/local/opt/texinfo/bin:$PATH make

If your makefile invokes makeinfo using a hardcoded path with no variable:

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

then you're out of luck and you HAVE TO change your makefile.