bugmake - Bugs: bug #4826, a collision between pattern rule...

 
 

bug #4826: a collision between pattern rule and an included file, which matchs pattern

Submitted by:  Alon Blayer-Gat <alonbg>
Submitted on:  Mon 18 Aug 2003 04:53:50 PM UTC  
 
Severity: 3 - NormalItem Group: Bug
Status: Not A BugPrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Component Version: 3.80Operating System: POSIX-Based
Fixed Release: NoneTriage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

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

 

Fri 22 Aug 2003 01:56:43 AM UTC, comment #3:

This is correct behavior. See the GNU make manual, section "How Makefiles are Remade", in the chapter "Writing Makefiles". Thanks!

Paul D. Smith <psmith>
Project Administrator
Tue 19 Aug 2003 11:53:21 AM UTC, comment #2:

What I think is wrong:
1. Why are the make.cpf and make.cpptets being made?
2. make.cpptest is a make file not a target. Why should it be made up ?
3. Why targets which are not the default are being made.

Alon Blayer-Gat <alonbg>
Mon 18 Aug 2003 04:58:08 PM UTC, comment #1:

Can you explain what exactly you think is wrong here?

Paul D. Smith <psmith>
Project Administrator
Mon 18 Aug 2003 04:53:50 PM UTC, original submission:

Problem decription:
If an included file exists (say make.cpptest), which matches a pattern rule (%.cpptest)
And an intermidiate target (say hello.world) is more recent then then the included make.cpptest file.
And %.cpptest depends on say, %.cpf, which depends on hello.world then the target 'make.cpptest' will be made as well when issuing a simple 'make'.
In this example you can see that 'all' appears before the 'include' directive.

The Makefile file:
==================
all:
echo $@

include test/make.cpptest
------------end------------------
The test/make.cpptest file:
===========================
hello.world:
touch $@

%.cpptest: %.cpf
echo $@

%.cpf: hello.world
touch $@
---------------end-------------------
Output:
=======
touch hello.world
touch test/make.cpf
touch test/make.cpptest
rm test/make.cpf
echo all
all
--------------end--------------

Alon Blayer-Gat <alonbg>

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

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 2 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Fri 22 Aug 2003 01:56:43 AM UTCpsmithOpen/ClosedOpen=>(Error - Not Found)
Fri 22 Aug 2003 01:56:42 AM UTCpsmithStatusNone=>(Error - Not Found)

Back to the top


Powered by Savane 3.1-cleanup1