News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

Project Makefile vs. Target Makefile

Started by grunerite, January 17, 2006, 02:54:53 AM

Previous topic - Next topic

grunerite

SVN rev 1751 and newer
WinXP

I have a workspace with several projects, where each project builds a different library. I have to date set up the projects to build with 1 compiler, gcc, with Code::Blocks handling all make orchestration. Project setup looks something like this:

Project1_Lib1
   -Target1_gcc_344_Release
   -Target2_gcc_344_Debug
   -Target3_gcc_342_Release
   -Target4_gcc_342_Debug
Project2_Lib2
   -Target1_gcc_344_Release
   -Target2_gcc_344_Debug
   -Target3_gcc_342_Release
   -Target4_gcc_342_Debug
... and so on

This is fantastic, I can even use different compilers with the same project. However, now, I want to add new targets to the same projects, but this time I want to add targets that use a 'Custom Makefile'. So, I want some targets to use Custom Makefiles, and some targets to use a C::B orchestrated build, all in the same project.

Can this be done?

The problem I see with achieving this is that the 'Custom Makefile' is specified at the Project level, not the target level. However, I also note that under Project Build Options, there is a "Make Commands" tab page [presumable changeable at the target level] with some info that can be filled in, but I don't quite understand how to use it. Perhaps changes there would make this possible?

If there is a way to achieve what I want, I would greatly appreciate any hints.

Thanks


mandrav

The custom makefile option is really project wide. I think it would complicate things unnecessarily if it were at target level (even for the user)...
Be patient!
This bug will be fixed soon...

grunerite

Quote from: mandrav on January 17, 2006, 08:40:06 AM
The custom makefile option is really project wide. I think it would complicate things unnecessarily if it were at target level (even for the user)...
The only complication for the user that I see is really semantic in nature only. Yes, traditionally 'targets' are specified in a makefile, and 'targets' aren't a superset of makefiles. But, the beauty of Code::Blocks is it has broken traditional approaches, allowing use of multiple compilers to be associated with a project. So, why limit multi-compiler approach by only allowing 'Custom Makefile' only OR C::B orchestrated builds only?

Perhaps it is overly difficult to do, but it would be more powerful if you could use a "Target Custom Makefile" for some targets, and C::B controlled builds for other targets. And, this would allow retention of "Custome Makefile" for the whole project if that is what the user desires.

Cheers