How to Use command line command to build sofware and manage the source code?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to Use command line command to build sofware and manage the source code?

Jump to solution
4,782 Views
forums_frank
Contributor I

Hi all,

 

We are using CodeWarrior 7.1 to develop our new products based on MCF54452 CPU. We are now totally relly on the CodeWarrior enviornment to compile/link the sofware. In the future we want use the command line tools to do the same job as under the CodeWarrior enviornment. Could anybody here has the similar expierence to share the knowledge with us?

 

We are planning to use "subversion" or "CVS" as our version control system. Also we want to use make file utility (where the CodeWarrior command line tools will be inculded) to deal with the dependencies. Again could pepole share your experiences with us?

 

Best Regards,

Labels (1)
0 Kudos
1 Solution
1,159 Views
RichTestardi
Senior Contributor II

> In the future we want use the command line tools to do the same job as under

> the CodeWarrior enviornment. Could anybody here has the similar expierence to

> share the knowledge with us?

 

In addition to building in the codewarrior IDE, we also do command-line builds using gnu make and both the codewarrior and code sourcery compilers for coldfire.  If you want to see the Makefiles and the build process, it is all in our skeleton source code project zip archive at the bottom of this page:

 

http://www.cpustick.com/downloads.htm

 

You can see the script ./build.sh that fires everything off.  You can see the toolchain-specific Makefiles in build/Makefile.* that tell you "how to build", and then the directory-specific Makefiles elsewhere that tell you "what to build".  Our goal was to completely decouple how you build from what you build, so that a) the general Makefiles (what to build) are *very* simple, and then b) we can add new toolchains trivially by just adding a new "how to build" Makefile for the new toolchain.  It works very well.  (We also have complete vpath support to allow us to select architecture-specific source files, but we don't do that presently and just use #ifdef's.)

 

We use cvs for source control, which I just love, though I might consider git in the future.

 

View solution in original post

0 Kudos
11 Replies
1,160 Views
RichTestardi
Senior Contributor II

> In the future we want use the command line tools to do the same job as under

> the CodeWarrior enviornment. Could anybody here has the similar expierence to

> share the knowledge with us?

 

In addition to building in the codewarrior IDE, we also do command-line builds using gnu make and both the codewarrior and code sourcery compilers for coldfire.  If you want to see the Makefiles and the build process, it is all in our skeleton source code project zip archive at the bottom of this page:

 

http://www.cpustick.com/downloads.htm

 

You can see the script ./build.sh that fires everything off.  You can see the toolchain-specific Makefiles in build/Makefile.* that tell you "how to build", and then the directory-specific Makefiles elsewhere that tell you "what to build".  Our goal was to completely decouple how you build from what you build, so that a) the general Makefiles (what to build) are *very* simple, and then b) we can add new toolchains trivially by just adding a new "how to build" Makefile for the new toolchain.  It works very well.  (We also have complete vpath support to allow us to select architecture-specific source files, but we don't do that presently and just use #ifdef's.)

 

We use cvs for source control, which I just love, though I might consider git in the future.

 

0 Kudos
1,159 Views
cyh
Contributor II

Dear Rich,

 

I am interested in using the command line interface to build our project associated with Code Warrior.

 

The skeleton.zip was downloaded from http://www.cpustick.com/downloads.htm, at the bottom of the webpage.

 

The version, skeleton.v1.72b was download.

 

The build/Makefile was not found in skeleton.v1.72b.

 

May you share the makefile with us on http://www.cpustick.com/?

 

Rgds

CYH

 

0 Kudos
1,159 Views
pbouf
Contributor I

I downloaded skeleton.zip for CodeWarrior 6.2 and MC9S08QE128/MCF51QE128/MCF51CN128/MCF51JM128 I the makefiles are missing.


I would really like to have them.

 

Pierre


0 Kudos
1,159 Views
forums_frank
Contributor I

Thanks Rich.

 

How do you map the options from GUI to command line. Did you did it manually?

 

Regards,

0 Kudos
1,159 Views
jbezem
Contributor III

What experiences are you interested in?

I've done resp. am doing exactly that (switch from CW-GUI to command line, make, CVS, migration to SVN, CW7.1 but for CF5233).

Getting the CL options right is the first challenge, and if you have a certain link-order, it might be a challenge to get it right using a command line generated by a makefile.

Makefile-export didn't work for me, exporting the option panels didn't provide enough information, so I used the XML project exports to find some settings I couldn't otherwise extract; it's an enormous amount of XML data, but better than guessing in some few cases.

CVS/SVN is done outside and has nothing to do with a command-line make (unless you want make to update your CVS), we're setting up Eclipse as editing environment with CVS/SVN integration. Not quite there yet.

 

It's not much information, but maybe it's what you wanted. Otherwise, ask again.

 

FWIW,

 

Johan

Message Edited by jbezem on 2009-04-24 06:46 AM
0 Kudos
1,159 Views
forums_frank
Contributor I

Thanks Johan.

 

Which XML file you were using the find some settings you could not find from makefile-exporting or option panel exporting?

 

Does makefile exporting or option panel exporting provide most of the command line options?

 

Regards,

0 Kudos
1,159 Views
ZiglioNZ
Contributor I

Hi Johan,

 

 I'm interested in what you're doing to move your project to Eclipse.

Are you planning to call the Coldfire command line tools from Eclipse?

Would Eclipse be able to parse the compiler output?

Also, are you thinking of also debugging from Eclipse?

 

Thanks,

Emanuele

0 Kudos
1,159 Views
jbezem
Contributor III

I'm currently working on the makefile structure first. But yes, we will be able to call the command line tools from Eclipse, and we definitely need the infrastructure to have Eclipse parse the warnings/errors from the CW compiler (and PC-Lint for that matter). If that doesn't work out-of-the-box, I'll have to see what needs to be done to make it work.

For debugging we use the Lauterbach emulator. I don't think it will be of much use to debug from Eclipse, since Lauterbach provides a complete environment for that. It may be possible to use Eclipse as the editor of choice when changes are to be made from the debugger, but at the moment that's not an issue for us.

Currently, we 'just' need a "transportable" configuration for our projects, and the CW GUI is too limited, even when you can export projects using XML. It simply doesn't work to have everyone on the team do a project import at the start of each session after a CVS/SVN-sync. It has to be automatic.

 

Johan

Message Edited by jbezem on 2009-04-24 09:01 AM
0 Kudos
1,159 Views
ZiglioNZ
Contributor I

Hi Johan,

 

thanks for your reply. I appreciate you've been going through a lot of effort to break the "CodeWarrior jail". Please keep us posted.

 

Definitely CW doesn't seem to offer good support for team projects or even for projects of other than modest size.

I've tried to make our lives easier by breaking down our project into sub/library projects. 

Having a make file would help applying the same target settings to the main project and the rest.

But there's no easy/automatic way, as you wrote, to merge concurrent changes to a project structure.

If we keep using CW, I guess the goal would be to automate the merging of the XML configuration export file. But probably you've already found that way to be to hard.

 

It seems to me that you're really trying to anticipate what Freescale is in the process of doing: porting CW to the Eclipse Platform and CDT.

I wonder how that is progressing. I suspect it won't happen soon, given the recession.

By the way, is it easier to merge changes to a CDT project?

Message Edited by ZiglioNZ on 2009-04-25 02:18 AM
0 Kudos
1,159 Views
J2MEJediMaster
Specialist I

All I can say is that currently several CodeWarrior products are being migrated to Eclipse. And no, these projects have not stalled because of the economic climate. I cannot say more because I've been bouncing between projects and can't remember what's been made public and what is still under wraps.

 

---Tom

0 Kudos
1,159 Views
ZiglioNZ
Contributor I

Hi Tom,

 

out of curiosity: are you directly involved in the porting of CW to Eclipse?

Do you think CW might be released under the Eclipse (or similar) license in the future?

Freescale already give away a RTOS, TCP/IP and much more for free (QMX) for some Coldfire.

Only the IDE and toolchain is currently missing...

0 Kudos