File: README.gmake

package info (click to toggle)
star 1.5a67-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,600 kB
  • ctags: 4,715
  • sloc: ansic: 37,601; sh: 3,198; makefile: 200
file content (47 lines) | stat: -rw-r--r-- 1,973 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.