Update section "Why is make behaving badly?"
This commit is contained in:
parent
ad4bb8089e
commit
99119403f3
@ -16,30 +16,28 @@ would be difficult.
|
|||||||
|
|
||||||
@subsection Why is make behaving badly?
|
@subsection Why is make behaving badly?
|
||||||
|
|
||||||
@strong{(Please note: This section has not yet been updated for the latest
|
Make has two operating modes, UNIX and WIN32. You need to make sure
|
||||||
net release.)}
|
that you are operating in the right mode.
|
||||||
|
|
||||||
Starting with the beta 19 release, make defaults to a win32 mode in
|
In UNIX mode, make uses sh.exe as a subshell. The path list separator
|
||||||
which backslashes in filenames are permitted and cmd.exe/command.com
|
is ':', '\' is the escape character, POSIX paths are expected, and
|
||||||
is used as the sub-shell. In this mode, escape characters aren't
|
Cygwin mounts will be understood. Use this for Makefiles written for
|
||||||
allowed among other restrictions. For this reason, you must set
|
UNIX.
|
||||||
the environment variable MAKE_MODE to UNIX to run make on ordinary Unix
|
|
||||||
Makefiles. Here is the full scoop:
|
|
||||||
|
|
||||||
MAKE_MODE selects between native Win32 make mode (the default) and
|
In WIN32 mode, make uses the "native" command shell (cmd.exe or
|
||||||
a Unix mode where it behaves like a Unix make. The Unix mode does
|
command.com), with all the restrictions that implies. The path list
|
||||||
allow specifying Win32-style paths but only containing forward slashes
|
separator is ';', the path separator is '\', "copy" and "del" work, but
|
||||||
as the path separator. The path list separator character is a colon
|
the Cygwin mount table is not understood. Use this for nmake-style
|
||||||
in Unix mode.
|
Makefiles.
|
||||||
|
|
||||||
Win32 mode expects path separators to be either / or \. Thus no
|
The default mode for the Net Release of make (the one installed by
|
||||||
Unix-style \s as escape are allowed. Win32 mode also uses
|
@code{setup.exe}) is UNIX. The default mode for commercial releases to
|
||||||
cmd.exe/command.com as the subshell which means "copy" and "del"
|
Redhat (formerly Cygnus) customers is WIN32.
|
||||||
(and other shell builtins) will work. The path list separator
|
|
||||||
character is semi-colon in Win32 mode. People who want an nmake-like
|
You can override the default by setting the environment variable
|
||||||
make might want to use this mode but no one should expect Unix
|
MAKE_MODE to "UNIX" (actually case is not significant) or "WIN32"
|
||||||
Makefiles to compile in this mode. That is why the default b19
|
(actually anything other than "UNIX"). You can also specify the options
|
||||||
install sets MAKE_MODE to UNIX.
|
--unix or --win32 on the make command line.
|
||||||
|
|
||||||
@subsection Why the undefined reference to "WinMain@@16"?
|
@subsection Why the undefined reference to "WinMain@@16"?
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user