Code Warrior 10 make file generation

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

Code Warrior 10 make file generation

2,706 Views
codetrooper
Contributor II

I compile pretty big projects with this IDE. I encounter a very long delay caused by make file generation and building all files every time I compile.

Isn't there a check which file is modified prior compiling?

If I change only one single file I don't want the whole project to be compiled from scratch!

 

thx for any help.

Labels (1)
0 Kudos
10 Replies

1,267 Views
CrasyCat
Specialist III

Hello

  As far as I know Incremental build is activated by default when you create a project.

 

  Did you associate a pre-build step to your project? My experience is that when there is a pre-build step

  associated, the project, this forces a full rebuild of the project.

 

  To check that:

       - Open your project Properties dialog

       - Go to C/C++ Build > Settings page and switch to the Build Steps tab.

          Is anything specified in pre-build steps group?

 

CrasyCat

0 Kudos

1,267 Views
codetrooper
Contributor II

No, I just have a post-build step.

 

I don't see any "Incremental build" option in the project settings...

0 Kudos

1,267 Views
J2MEJediMaster
Specialist I

OK, let's try checking the settings again. In CodeWarrior v10.2 for MCUs, do the following:

 

1) In the C/C++ Perspective, select your project.

2) Choose Project > Properties.

    A Properties for <your project> window appears.

3) Choose C/C++ Build. Do NOT expand this choice, just click on it.

   A C/C++ Build view appears in the Properties window.

4) Click on the Behaviour tab to display the build settings.

5) In the Workbench Build Behaviour group, see if the Build (Incremental Build) option is checked.

 

---Tom

0 Kudos

1,267 Views
codetrooper
Contributor II

Thx. Now I know where it is. It has been already active.

Apparently it depends on which file I have changed. The dependency check then builds every file which depends on the

changed one (even if it's only a cpp file I changed).

I have seen some other strange effects:

1. If I disable incremental build, the compilation wouldn't start at all

2. If I disable automatic make-file generation I can't generate make files manually either (CTRL+6)

3. If automatic make-file generation is active, the generation process should only be done if the project changes. But it is done everytime (and last for nearly a minute on my pc)

4. If I change a cpp file x which is referenced by another cpp file y then y is also compiled again. If x was a header file this would make sense, but this behavior isn't. This leads to a lot of unnecessary compilation dependencies.

0 Kudos

1,267 Views
CrasyCat
Specialist III

Hello

 

What do you mean exactly when you say

"If I change a cpp file x which is referenced by another cpp file y"?

 

Do you have an include x.cpp inside of y.cpp?

 

Did you check the preprocessor output for file y.cpp?

 

CrasyCat

0 Kudos

1,266 Views
codetrooper
Contributor II

No, I use a class in y which is implemented in x. I just include x's header in y, which has not been changed, so y should not compile again.

 

 

0 Kudos

1,266 Views
CrasyCat
Specialist III

Hello

 

I would recommend you to submit a service request for that.

Click here to submit a service request.

Make sure to attach a reproducible project and installed product information to the service request.

 

CrasyCat

0 Kudos

1,266 Views
codetrooper
Contributor II

done.

Service Request number 1-906077612 

0 Kudos

1,266 Views
konrada
Contributor IV

You can bypass the regeneration of makefiles if you build from command-line. Just walk into the root of the build directory and run mingw-make.exe from c:\freescale\cw mcu 10.2\gnu\bin.

 

Probably there's also a switch somewhere in the Eclipse CDT project settings to stop regenerating makefiles, but then your build is silently wrong when you add files and don't remember to regenerate makefiles. 

 

If you observe that every file is compiled every time, even if you changed nothing at all, that's a different problem; the make tool should compare timestamps. Is your workspace on a fileserver with a noticeable clock difference? 

0 Kudos

1,266 Views
codetrooper
Contributor II

Thats quite uncomfortable. Using an IDE should avoid command-line calls.

Alas there isn't such a switch. But as you are the developer of this Eclipse-CW-Edition, it should be possible to add such a checkbox.

I build locally. It seems that the comparison does not work or there is also some kind of hidden switch?

0 Kudos