I am trying to run make using a script given to me by my new employer. The script relies on a feature present in gnu make v4.2+, and of course the only installed version is 3.8.

I used brew to install 4.3, but it's installed as gmake not make, and that breaks the script, which I could modify, but I'm still new here and our devops guy will likely have something nasty to say when he gets back.

The other mac machines in our office are not yet upgraded to Catalina, so nobody else has this problem yet. Brew used to have a feature where it would hack something to make this work, but it's gone now. That also means all the other stack exchange answers no longer apply, because Apple broke things in Catalina.

Does anyone know what I can do now? I have enough linux experience to get by in a terminal, but I've never so much as looked at MacOS until this morning.

In the link I posted, a user provided this simple fix:

for gnuutil in /usr/local/opt/**/libexec/gnubin/*; do
ln -s $gnuutil /usr/local/gnubin/
echo "Add /usr/local/gnubin to /etc/paths"

I assumed this was a shell script, ran it, and it spat out:

ln: /usr/local/gnubin/: No such file or directory

Does anyone know how to achieve upgrading the built in make to 4.3?

Or is there a way to replace the built in make with the version installed by brew?

MacOS version:                    Catalina 10.15.2
out of the box make version:      3.81
brew installed  make version:     4.3
  • 1
    1 can you set up an alias, for make = path/to/gmake? 2 symlinking(the shell script) the brew's directories and /url/local/bin would work, if it was make, not gmake.. 3 it is bin on macOS .. nothing related to gnu
    – anki
    Jan 21 '20 at 23:21

GNU "make" has been installed as "gmake". If you need to use it as "make", you can add a "gnubin" directory to your PATH from your bashrc like:

 PATH="$(brew --prefix)/opt/make/libexec/gnubin:$PATH"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .