Okay, but I don't have this problem with other IDE's that I use with a external makefile build.
I'll keep investigating...
There's nothing to investigate. Let me tell you once again, in case you didn't understand it.
C::B is not using makefiles to build its projects. It uses its own sophisticated build system. The only time it needs to call make, is if the project is using a custom makefile.
In this case, all C::B does is to call make with the appropriate arguments. Nothing more, nothing less.
As you may very well know, a makefile contains all the info needed to build a project. Including the generated objects directory, the filenames to generate, etc.
So, since you are using a custom makefile for your project, C::B can't do nothing more than just launch make.
You don't think that C::B should automatically edit your makefile? :lol:
And for those "other IDEs" where you don't see this problem, they 're probably using make for builds anyway and generate a makefile automatically each time before building the project.
This
is not a custom makefile, it's an IDE-maintained makefile.
Huge difference

.
Btw, seeing you don't quite understand the build system, why are you using custom makefiles? Are you sure you need them? (just checking)