[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #16958] Marking .PHONY dependencies as targets is a regression agai

From: anonymous
Subject: [bug #16958] Marking .PHONY dependencies as targets is a regression against 3.80
Date: Wed, 28 Jun 2006 12:35:40 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20060608 Ubuntu/dapper-security Firefox/


                 Summary: Marking .PHONY dependencies as targets is a
regression against 3.80
                 Project: make
            Submitted by: None
            Submitted on: Wednesday 06/28/2006 at 12:35 UTC
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
       Component Version: 3.81
        Operating System: None
           Fixed Release: None



Running "make foo" with a Makefile containing the following two rules
produces different results with make 3.80 and 3.81.

.PHONY: foo

        echo the target is $@

With 3.80, it prints "the target is foo", and with 3.81 it states that
"Nothing to be done for `foo'".   This was caused by adding the following
line to file.c in int .PHONY case (line 675).

          f2->is_target = 1;

This is a regression, since it breaks our makefiles, and I don't understand
why phonies should be considered as explicit targets unless there are actual
rules for them.

The ChangeLog mentions this, but it doesn't really explain why the change was

2004-09-21  Boris Kolpackov  <address@hidden>

        * file.c (snap_deps): Mark .PHONY prerequisites as targets.

        * implicit.c (pattern_search): When considering an implicit rule's
        prerequisite check that it is actually a target rather then
        just an entry in the file hashtable.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]