48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
Gmake compliance is included for convenience because it may
|
|
be found on many systems and most make programs are worse
|
|
than gmake.
|
|
|
|
***** If you are on a platform that is not yet known by the *****
|
|
***** Schily makefilesystem you cannot use GNU make. *****
|
|
***** In this case, the automake features of smake are required. *****
|
|
|
|
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
|
|
that contains:
|
|
|
|
#!/bin/sh
|
|
MAKEPROG=gmake
|
|
export MAKEPROG
|
|
exec gmake "$@"
|
|
|
|
and call 'Gmake' instead of gmake. On Linux and on Cygwin there is
|
|
no gmake, 'make' on Linux and on Cygwin 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.
|
|
|