.d directory is created after compiling

General questions regarding the usage of CodeLite
User avatar
eranif
CodeLite Plugin
Posts: 6373
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: .d directory is created after compiling

Post by eranif »

piebru wrote:Is this intentional?
One of the changes in codelite 3 was the ability to reduce un-needed links.
Prior to codelite 3, if you had a project of type 'exe' or 'dll' and you hit the build command, codelite would have perform link even if nothing was changed.

This is not the case now, the ".d" file is a marker for the makefile that tells it whether the $(IntermediateDirectory) should be re-created. The .d file will always be placed under $(IntermediateDirectory)/.d
Where the "$(IntermediateDirectory)" is usually "Debug" or "Release"

There are other markers for this purpose:
When a project is built, it will place a marker under : <workspace path>/.<configuration-name>/<project name>
Using the timestamp of the marker file, the makefile is able to determine whether a dependency project was modified and whether a re-link is required

Eran
Make sure you have read the HOW TO POST thread
spaces
CodeLite Veteran
Posts: 67
Joined: Mon Aug 22, 2011 10:15 pm
Genuine User: Yes
IDE Question: c++
Contact:

Re: .d directory is created after compiling

Post by spaces »

Hmm, so that's why it doesn't work for me. Even 3.0 is relinking always even if there wasn't any change.

I have sub-projects that are linking in their output dir.

So it's .\something1.dll while the objects are in .\Debug\somthing.o. The release build is also linked in the output dir but objects are in .\Release.

To be more precise:

Output File: $(ProjectName).drv
Intermediate Folder: ./Release
Working Folder: $(IntermediateDirectory)

And it's linking no matter if something changed or not.
Post Reply