Author Topic: Project Makefile vs. Target Makefile  (Read 5308 times)

grunerite

  • Guest
Project Makefile vs. Target Makefile
« on: January 17, 2006, 02:54:53 am »
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

« Last Edit: January 17, 2006, 03:00:10 am by grunerite »

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
Re: Project Makefile vs. Target Makefile
« Reply #1 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)...
Be patient!
This bug will be fixed soon...

grunerite

  • Guest
Re: Project Makefile vs. Target Makefile
« Reply #2 on: January 17, 2006, 05:45:07 pm »
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