%% Andre Sihera <[EMAIL PROTECTED]> writes:
as> I am experiencing a problem with GNU make on NT. The details of
as> GNU make are as follows:
First, I will preface by saying that I know little about Windows in
general, and NT in particular.
as> C:\> make --v
as> GNU Make version 3.79, by Richard Stallman and Roland McGrath.
You should get a copy of the latest version, 3.79.1.
as> The version (as downloaded from a GNU mirror site) was 3.79-3
That is not a valid GNU make version. I don't know what mirror you got
this from, but there is no GNU make version 3.79-3. I suspect you might
be using the Cygwin version of GNU make; note that this is not identical
to the official GNU make that runs on Windows.
You should contact the Cygwin folks about problems with this version of
GNU make, unless you can reproduce them with the "vanilla" version as
well; thanks!
as> C:\> set MAKEFLAGS
as> MAKEFLAGS=--win32 --keep-going --no-builtin-variables
There is no --win32 flag for official GNU make.
as> 1. If a build rule within a makefile causes the makefile to be re-read
as> (e.g. when calculating included file dependencies) then this is
as> launched in a separate process from the process that executes
as> the final makefile. The two processes, though, are not
as> scheduled properly leaving only one process to finish on return
as> of the prompt; Weirdly, the second process then starts itself
as> up some time later, probably after another task has been
as> started.
I suspect this is due to NT's pathetic excuse for a filesystem. My
understanding (and again, this is here-say; I don't use Windows myself)
is that certainly FAT, and I'm pretty sure VFAT, and I don't know about
NTFS, only record timestamps with an even value.
as> 2. The -j option appears to have no effect at all, especially if
as> set to one.
Using a -j of one is a no-op. -j tells you how many jobs make should
start in parallel; if you say one then you get the default behaviour of
make: one job started at a time. The code in make actually just ignores
the -j option of the value is 1.
as> This is possibly connected with the first problem. I
as> particularly wanted to use this option to be able to control
as> the order in which sub-projects are built, and hence resolve
as> inter-project dependencies. Unfortunately, even with a -j
as> setting of one, sub-projects still manage to get started in
as> parallel with two or three executing simultanously.
If you use -j1 you should get no parallel builds, just as if you use
make with no -j at all you should get no parallel builds. If you are
getting parallel builds with -j1 or with no -j, then something is
seriously wrong with your make or your makefile.
--
-------------------------------------------------------------------------------
Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at:
http://www.gnu.org http://www.paulandlesley.org/gmake/
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist
_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make