URL: <http://savannah.gnu.org/bugs/?32872>
Summary: Inheritance of target-specific variable not always suppressed by private Project: make Submitted by: None Submitted on: Mon 21 Mar 2011 20:07:50 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: The private modifier should suppress inheritance of target-specific variables, but this does not seem to always work. In a chain of dependant targets, if more than one target modifies a private target-specific variable, then the later target in the chain inherits the private variable from the earlier target. Building the attached makefile with GNU Make 3.82, I get the following output: bar3: FOO 1 3 bar2: FOO bar1: FOO 1 I was not expecting the private value of DEFS used by target 'bar1' to be inherited and used when creating the private value of DEFS for target 'bar3'. The output I expected was: bar3: FOO 3 bar2: FOO bar1: FOO 1 The attached makesimple is probably a simpler example and I expected it to give the following output: bar3: 3 bar2: bar1: 1 regards, Rob. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Mon 21 Mar 2011 20:07:50 UTC Name: makefile Size: 165B By: None <http://savannah.gnu.org/bugs/download.php?file_id=22982> ------------------------------------------------------- Date: Mon 21 Mar 2011 20:07:50 UTC Name: makesimple Size: 154B By: None <http://savannah.gnu.org/bugs/download.php?file_id=22983> _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?32872> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make