Update section "Why is make behaving badly?"

This commit is contained in:
David Starks-Browning 2000-10-31 16:58:09 +00:00
parent ad4bb8089e
commit 99119403f3

View File

@ -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"?