make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make does not stop on error


From: grischka
Subject: Re: make does not stop on error
Date: Tue, 2 May 2006 16:12:08 +0200

> ----------------------------
> I could never reproduce that problem.  Someone else said that they
> could reproduce it, and tried to debug it, but I don't know whether it
> was finished.

I believe he had seen two diffent things.

The one seems indeed a change in make behaviour whether or not
it stops when the -include target cannot be made. Example:

----- makefile
all: T1 T2
T1:
    exit 101
T2:
    exit 202

-include T2

----- make 3.79.1:
exit 202
~c:\mingw\bin\make: *** [T2] Error 202
-->(2)

----- make 3.81.90:
exit 202
exit 101
~make: *** [T1] Error 101
-->(2)

Here is an example for what can happen with the batch files:
- make 3.81.90 from recent cvs
- built with nmake -f NMakefile
- run on windows ME

------ makefile:
O = 1.o 2.o
no.exe: $O
    nolink -o "$@" $?
    @echo $@ made sucessfully!
$O:
    nocc -c $(*F).c -D "X"

------- output:
nocc -c 1.c -D "X"
~Befehl oder Dateiname nicht gefunden.
nocc -c 2.c -D "X"
~Befehl oder Dateiname nicht gefunden.
nolink -o "no.exe" 1.o 2.o
~Befehl oder Dateiname nicht gefunden.
no.exe made sucessfully!
-->(0)

Lines with ~ are from stderr and say "Command or filename not found".
nocc and nolink are compiler tools that I dont have.
(0) is the exitcode of make.

> ----------------------------
> In any case, even if the exit code is always zero, I could never
> explain the ``background'' part of that report.  Can you?

Well, say for instance you have 'make -C src' in a toplevel makefile. 
Then if this process is killed the hard way, the sublevel processes 
are left running. 

Example:

---- makefile.test:
all:
    ./sleepy -sleep "10"

---- rxvt (msys tools):
address@hidden /c/test/make/make-m
$ ./make -f makefile.test
./sleepy -sleep "10"
---> zzrr.. 9
---> zzrr.. 8
---> zzrr.. 7

address@hidden /c/test/make/make-m
$ ---> zzrr.. 6
---> zzrr.. 5
---> zzrr.. 4
---> zzrr.. 3
---> zzrr.. 2
---> zzrr.. 1
---> zzrr.. oops

The proggy sleeps for one second each step. After '7' I pressed 
Ctrl-C. Make is killed and rxvt shows the command prompt. Then 
output continues until time is over.

Note that this would not happen when you hit Ctrl-C in the original 
windows console, but its common with GUI programs that use pipe 
redirection.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]