Bah. Pretty sure I selected "Documentation" for this submission, not "Enhancement".

Howard Chu wrote:
URL:
  <http://savannah.gnu.org/bugs/?17881>

                 Summary: Better documentation of make rules
                 Project: make
            Submitted by: hyc
            Submitted on: Thursday 09/28/2006 at 20:26
                Severity: 3 - Normal
              Item Group: Enhancement
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
       Component Version: None
        Operating System: None
           Fixed Release: None

    _______________________________________________________

Details:

The GNU make manual should state explicitly in section 4.2, Rule Syntax,
something to this effect:

When multiple prerequisites are listed for a rule, their order is
insignificant. In particular, you should not assume that prerequisites will
be processed in left-to-right order. Rules that list prerequisites that
depend on other prerequisites in the same rule are invalid and will break
when processed by a parallel make.

For example, given a rule

targetA: reqOne reqTwo reqThree


if "reqThree" cannot be built successfully until "reqOne" already exists,
then this rule does not specify the actual dependencies of targetA. The
correct rules would be:

reqThree: reqOne

targetA: reqTwo reqThree




--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to