I'm running GNU make 3.78.1 on Solaris 2.7.  I have some rules that
involved intermediate files. These files are listed in a .SECONDARY
rule because I need them to stick around.  Before I realized that I
needed to them to a .SECONDARY list I was very frustrated by make's
automatic removal mechanism (I had never been exposed to it.)  It
took me a while to figure out why rm was being called at the end of
the make.  I ran make with the -d debugging switch hoping to gain
some insight.  The last 4 lines of output are include here (I snipped
out the file names list since it was rather long)

 Finished prerequisites of target file `all'.
Must remake target `all'.
Successfully remade target file `all'.
rm <file list>

A lot of time would have been saved if there had been a debug line
immediately preceding the line with the rm that said something like:

deleting intermediate files

I'd like to ask that you please add such a line to make's debug
output.

Using .PRECIOUS solved my problem.  I used it as a guess.  I did not
know that .PRECIOUS had more than one use.  After I realized that
make was doing something intelligent with intermediate files and that
.PRECIOUS fixed the problem I took a look at the docs and found the
.SECONDARY target as well as the .PRECIOUS/.SECONDARY overlap.

Thanks
Greg Mattes


__________________________________________________
Do You Yahoo!?
Yahoo! Mail - Free email you can access from anywhere!
http://mail.yahoo.com/

Reply via email to