fix makefile suppression of intermediate file removal
authorRich Felker <dalias@aerifal.cx>
Thu, 27 Aug 2015 19:58:20 +0000 (19:58 +0000)
committerRich Felker <dalias@aerifal.cx>
Thu, 27 Aug 2015 19:58:20 +0000 (19:58 +0000)
at one point, GNU make was removing crt/*.o after producing the copies
in lib/ due to an arcane misfeature for handling "intermediate" files.
the circumstances that caused this are no longer present in our
makefile, but the previous workaround using .PRECIOUS was wrong and
could result in corrupt/partial files being left behind during an
interrupted build. using .SECONDARY is the correct, documented fix
that will prevent deletion of "intermediate" files from ever
resurfacing.

Makefile

index 620c1fc..07336d2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -203,6 +203,6 @@ musl-git-%.tar.gz: .git
 musl-%.tar.gz: .git
         git archive --format=tar.gz --prefix=$(patsubst %.tar.gz,%,$@)/ -o $@ v$(patsubst musl-%.tar.gz,%,$@)
 
-.PRECIOUS: $(CRT_LIBS:lib/%=crt/%)
+.SECONDARY:
 
 .PHONY: all clean install install-libs install-headers install-tools