How to get `make` to recognize alias command

The make program is only going to see names that are actually files (or directories). It does not know anything about shell aliases.

Rather than an alias, if you had g77 in your $PATH as a symbolic link, that would work. In many environments, if you have a $HOME/bin directory, that is automatically added to your $PATH. (If not, it is simple to do this manually, details depending upon your shell).

If it is the simpler case:

cd
mkdir bin
cd bin
ln -s /usr/local/bin/gfortran-5 g77

Then log out, and log in again (to let the shell's initialization scripts update the path, etc.)


If you don't want to make a symlink like @Thomas suggested, you can basically make an alias right in the Makefile like so by placing this line somewhere near the top of the Makefile:

G77 := /usr/local/bin/gfortran-5

and then, in your target somewhere, use it like:

$(G77) -w -c -o Abfind.o Abfind.f