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 620c1fc5b61155e6c956034b67168d0b07c88738..07336d27f0c8dfd3c68ebc53d66bd1342f415b97 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