URL: <http://savannah.gnu.org/bugs/?35133>
Summary: Pattern rules used as dependencies for .PRECIOUS don't actually do pattern matching Project: make Submitted by: None Submitted on: Tue 20 Dec 2011 10:17:46 PM UTC Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 3.82 Operating System: POSIX-Based Fixed Release: None Triage Status: None _______________________________________________________ Details: Simple example: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- all: some_target_blah.o stuff.o @echo $@, $< %.y: @echo $@ some_target%.cc : %.y @echo $@, ${TEST} %.cc: @echo $@, ${TEST} %.o : %.cc @echo $@, $< #1 %.cc : TEST := stuff #2 .PRECIOUS: %.cc -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- In the above example, pattern-matching is used in a few different ways; the two I'm drawing attention to in this bug report are #1 and #2. #1 causes *EVERY* .cc file to have TEST set. However, in #2, the pattern specified as a dependency of .PRECIOUS only applies to files built using a rule of the form: %.cc : whatever Since 'some_target_blah.o' is built using a different pattern, the .PRECIOUS directive doesn't apply to it; thus, make will still try to remove that file when it is finished running. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?35133> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make