help-make
[Top][All Lists]
Advanced

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

deleting the target if interrupted, does not work?


From: Mark Galeck (CW)
Subject: deleting the target if interrupted, does not work?
Date: Sun, 1 Nov 2009 00:05:48 -0700

Hello,  I have another question, this time I really don't want to look silly, 
so I really tried to grep the manual faithfully, and the only place that it 
says what happens when you try to kill make, is:

5.6 Interrupting or Killing make
If make gets a fatal signal while a command is executing, it may delete the 
target file that the command was supposed to update. This is done if the target 
file's last-modification time has changed since make first checked it. 


This does not work for me.  

Here is an example, not a real-life situation of course, but as simple as I 
could make it to capture the essence of the problem:  


foobar.pl is:

open FOOBAR, ">foobar";
while (1) {
}

and makefile is:

SHELL = cmd.exe
foobar:
        perl foobar.pl


Now here's what happens when I type Ctrl-C while the perl script is looping:

D:\tmp>make foobar
perl foobar.pl
Terminating on signal SIGINT(2)
make: *** Deleting file `foobar'
make: unlink: foobar: Permission denied
make: *** [foobar] Error 2

and the file foobar is still there, however, I can delete it without any 
problem:

D:\tmp>del foobar

D:\tmp>

So I was able to delete it after the perl script is gone, why can't make wait 
until the perl script is gone and then delete the file?  


Thank you for any insight!  Mark 





reply via email to

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