Consider this Makefile
:
.PHONY: all
all: main.txt
main.txt: build/main.txt
cp build/main.txt .
%/main.txt: %/data.txt
cp $*/data.txt $*/main.txt
%/data.txt:
touch $*/data.txt
After running make
, build/data.txt
is removed automatically. Why is this the case?
I tried adding .PRECIOUS: build/%
to the file, but it it not help, the file was still removed. How can I prevent this?