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/