Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] MBS in CDT 2.1 - defining toolchain with post linking steps not supported?

You are correct… right now generated intermediate files are not handled correctly with the included makefile generator.  We’re working to support this better in either 3.0 or 3.next.  As the 3.0 plan firms up, we’ll let you know what’s going on.

 

In the meantime, if you are really stuck, you can create your own makefile generator, or go with the script suggestion that Ploett referenced in a reply to your email.

 

___________________________________________

 

Chris Recoskie

Software Designer

IDE Frameworks Group

Texas Instruments, Toronto

 

 


From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx] On Behalf Of Emanuel Schleussinger (Ngine.de)
Sent: Wednesday, March 09, 2005 5:06 AM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] MBS in CDT 2.1 - defining toolchain with post linking steps not supported?

 

Hi all,

 

I am running into troubles with extending the current (CDT 2.1) Managed Build System for my embedded platform. Here is the problem:

 

I created a Configuration that will ultimately produce a binary Image for the Gameboy advance. To do so, I need to accomplish the following steps:

 

1) compile .c -> .o

2) link .o -> .elf

3) run a objcopy on the elf to produce the ROM file

 

Therefore, I extended the MBS (org.eclipse.cdt.managedbuilder.core.buildDefinitions), and added a toolchain as follows:

 

Tool1 (Compiler): input: .c output: .o
Tool2 (Linker): input: .o output: .elf
Tool3 (Objcopy): input: .elf output: .gba


If you would like  to look at this more closely, here is my complete
plugin.xml:
http://www.ngine.de/eclipse/plugin.xml

 

I have set my artifact extension (which i think is the final extension
required to build the result of the managed make process), to "gba"
,and this is what happens when i attempt to compile:

 

make -k all
Building file: ../sdf.c
arm-elf-gcc -c -osdf.o ../sdf.c
Finished building: ../sdf.c
 
Building target: sdfsdf.gba <------------------------ PROBLEM: it did not run Tool2 (Linker)
arm-elf-objcopy   sdfsdf.gba sdf.o  
c:\dka\bin\arm-elf-objcopy.exe: 'sdfsdf.gba': No such file
make: *** [sdfsdf.gba] Error 1
make: Target `all' not remade because of errors.

 

After a good discussion of this issue on the newsgroup, I am wondering if the problem with the current implementation of the CDT MBS may be as follows:

 

At the time of makefile generation, the only resources that are
available in the project  will be ".c" files, and the information that
".gba" is to be built.

 

So I wonder if this may be whats happening in the MakefileGenerator

 

1) finds .c files and adds rules to transform them to .o
2) finds no other resources (as nothing was built yet), but knows it
needs to generate ".gba"
3) and therefore adds Tool3 (which it knows produces .gba), feeding it with ".o" instead of ".elf"

 

Any help on how to get such a toolchain working would be much appreciated

 

all the best

Emanuel

 

PS: this issue has been discussed by a few people on the newsgroup, but ultimately, we did not yet manage to come up wuth a solution - so i am posting this to the email list.

 

                             |

-----------------------------+ -

Emanuel Schleussinger        |

Snr. Software Developer      :

Dropshop GmbH                .

office: +49 (89) 74847 203

http://www.dropshop.de

 


Back to the top