Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - File rename and no rule to make target problem: (5 Items)
   
File rename and no rule to make target problem  
I have a project A with file foo.h
I also have a project B which references foo.h

If I rename foo.h to foobar.h and rebuild I invariably get an error 'No rule to make foo.h'

What I find is that a file *.d in the /o or /o_g directory still contains a reference to foo.h after the rename.

I am running IDE 4.6.1 under Windows XP

Any suggestions to clear up the 'No rule to make ..." error?
Re: File rename and no rule to make target problem  
Hi, Keith,

Yes, the *.d file is generated by the GNU compiler's dependency-checking
function.  You will need to clean the project to remove all *.d files,
then the next build will re-generate them with the new dependency names.

It may be (depending on the type of project that you have) that a clean
build does not delete this *.d file.  In that case, just delete it
yourself.

HTH,

Christian


On Sun, 2010-02-07 at 08:25 -0500, Keith Smith wrote:

> I have a project A with file foo.h
> I also have a project B which references foo.h
> 
> If I rename foo.h to foobar.h and rebuild I invariably get an error 'No rule to make foo.h'
> 
> What I find is that a file *.d in the /o or /o_g directory still contains a reference to foo.h after the rename.
> 
> I am running IDE 4.6.1 under Windows XP
> 
> Any suggestions to clear up the 'No rule to make ..." error?
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post46733
> 


Re: File rename and no rule to make target problem  
Thanks. That explanation agrees with what I found.

You said that depending on the type project a clean build does not delete *.d files.

Which type of projects? I'm using QNX C++ Projects.
Re: File rename and no rule to make target problem  
Hi, Keith,

I think I've seen that certain *.d files were not deleted in cleaning a
managed project using the external builder, but it's possible that it is
an old problem since fixed.

Your QNX Projects should not have this problem.  Or, at least, if they
do, then it's a bug that we should fix.

Cheers,

Christian


On Mon, 2010-02-08 at 09:44 -0500, Keith Smith wrote:

> Thanks. That explanation agrees with what I found.
> 
> You said that depending on the type project a clean build does not delete *.d files.
> 
> Which type of projects? I'm using QNX C++ Projects.
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post46792
> 


Re: File rename and no rule to make target problem  
I now understand my problem with deleting the *.d files.

This is an esoteric corner case.

I am using ClearCase with snapshot views with IBM's ClearCase plug-in:
    SCM Adapter Version 7.0.0 BuildID 20080808A
    MVFS Support Plugin 7.0.0 BuildID 20080131A

When I am not connected to a ClearCase server I am unable to delete the *.d files from within the IDE.

When I use SysInternals Process Monitor to watch the delete operation fail, I see that there is a search for a file, 
view.dat that is not found. It is searched for from .../so up the directory tree.

There are no other errors reported in the Monitor log.

I am able to delete the *.d files in File Explorer