Gmake compliance is included for convenience because it may
be found on many systems and most make programs are worse
The major problem with gmake is that it does not handle the
include directive correctly. The general rule for a make program is
to first try to "make" any object it should look on. Gmake
does not try to "make" any makefile it should include. One result
is many warnings about non-existent files (which you could ignore).
The other problem with gmake and include files is hat gmake
includes the files in the opposite order than expected. The result is
that dependencies may not handled correctly.
If you have problems with the make file system and gmake,
you are out of luck. Gmake has a debug option, but it gives
tons of debug messages. Less than 1% of these debug messages are
useful. Important things are missing in these debug messages.
Gmake has bug with the VPATH= option. Some of the macros are
not expanded correctly. I had to remove all occurrences of
$@ $* and $^ on some places for this reason.
On some platforms (e.g. OSF1), gmake is not able to correctly recognize
the default target. If gmake complains about this, call ./Gmake all
To use GNU make create a file called 'Gmake' in you search path
exec gmake "$@"
and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make'
on Linux is really a gmake.
'Gmake' and 'Gmake.linux' are part of this distribution.
Note that makefile versions past 98/10/13 are trying to recognize
gmake by assuming that $(MAKE_COMMAND) is only present if you
are running gmake. So it may be worth to try to just call 'gmake'
or even 'make' if your system uses gmake as the default make program.