delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/10/18/12:53:15

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Wed, 18 Oct 2000 17:50:52 +0100
Message-ID: <5169-Wed18Oct2000175052+0100-starksb@ebi.ac.uk>
X-Mailer: emacs 20.7.1 (via feedmail 9-beta-7 I);
VM 6.75 under Emacs 20.7.1
From: David Starks-Browning <starksb AT ebi DOT ac DOT uk>
MIME-Version: 1.0
To: cygwin AT sources DOT redhat DOT com
Subject: FAQ about make

Hi,

While procrastinating against some of the more challenging FAQ revisions
(like whole new sections on logging in, scripts not working, and this
binmode/textmode thing), I'm getting instant gratification from some
easier fixes.

One outdated entry that I would like to fix is this:

Q:	Why is make behaving badly?

A:	(Please note: This section has not yet been updated for the
	latest net release.)

	Starting with the beta 19 release, make defaults to a win32 mode
	in which backslashes in filenames are permitted and cmd.exe /
	command.com is used as the sub-shell. In this mode, escape
	characters aren't allowed among other restrictions. For this
	reason, you must set 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 a Unix mode where it behaves like a Unix make. The Unix mode
	does allow specifying Win32-style paths but only containing
	forward slashes as the path separator. The path list separator
	character is a colon in Unix mode.
	
	Win32 mode expects path separators to be either / or \. Thus no
	Unix-style \s as escape are allowed. Win32 mode also uses
	cmd.exe / command.com as the subshell which means "copy" and
	"del" (and other shell builtins) will work. The path list
	separator character is semi-colon in Win32 mode. People who want
	an nmake-like make might want to use this mode but no one should
	expect Unix Makefiles to compile in this mode. That is why the
	default b19 install sets MAKE_MODE to UNIX.

Currently, /etc/profile contains 'export MAKE_MODE=unix'.  Is this the
only sense in which the behaviour has changed with the latest net
release?  (Hmm, I just tried it, and it seems the default is already
unix mode, so is MAKE_MODE=unix unnecessary now?)

And this business about path and path list separators.  Is this only
as a result of using cmd.exe instead of sh.exe, or does make do its
own path processing (like for VPATH)?

Before you all tell me to go off and figure it out for myself, remember
that my interests are selfless, I'm not doing this for me. :-)

Thanks for your help.

Regards,
David



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019