bugmake - Bugs: bug #2515, .SECONDARY no longer ignores...

 
 

bug #2515: .SECONDARY no longer ignores missing intermediate targets

Submitted by:  Invalid User ID <Invalid User ID>
Submitted on:  Mon 10 Feb 2003 05:00:41 PM UTC  
 
Severity: 3 - NormalItem Group: Bug
Status: FixedPrivacy: Public
Assigned to: Paul D. Smith <psmith>Open/Closed: Closed
Component Version: 3.80Operating System: POSIX-Based
Fixed Release: 3.81Triage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Fri 28 Mar 2003 06:36:10 AM UTC, comment #2:

I fixed this. Patch attached.

Using .SECONDARY with a list of prerequisites behaved properly, but there was a bug which caused .SECONDARY with no targets to not do the right thing.

Note I disagree with your characterization of this feature: .SECONDARY with not targets does NOT assume "everything is up to date if it does not exist."

Even with .SECONDARY, non-existent files will still be rebuilt IF their prerequisites have changed. Otherwise, they will not be rebuilt. I believe this is the proper semantics.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Mon 10 Feb 2003 06:35:13 PM UTC, comment #1:

Apparently RMS added this feature in 1995, but your description of what it was supposed to do does not match his documentation. There is no mention at all of this feature in the NEWS file; the ChangeLog says nothing except it was added. The documentation says:

The targets which .SECONDARY depends on are treated as intermediate files, except that they are never automatically deleted.

Later it says:

You can prevent automatic deletion of an intermediate file by marking it as a secondary file. To do this, list it as a dependency of the special target .SECONDARY. When a file is secondary, make will not create the file merely because it does not already exist, but make does not automatically delete the file.

Neither of these descriptions seems to match the one you provide, that a secondary target "was always assumed up to date if it did not exist". However, your example does seem to show a bug because make's behavior appears to not match its documentation. I'll look at this more carefully.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #367:  secondary.patch added by psmith (3KiB - application/octet-stream - Patch to fix .SECONDARY issue)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 5 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sat 01 Apr 2006 07:04:23 AM UTCpsmithFixed Release4.0=>3.81
Fri 28 Mar 2003 06:36:10 AM UTCpsmithStatusNone=>(Error - Not Found)
  Assigned toNone=>NA
  Open/ClosedOpen=>(Error - Not Found)
  Fixed ReleaseNone=>(Error - Not Found)

Back to the top


Powered by Savane 3.1-cleanup1