# eclipse calling make, not rosmake

By following wiki, my eclipse works almost perfect with ROS, after running "make eclipse-project". Only thing is I had to add the following modification in order to run rosmake from eclipse' build feature (w/o adding make target or else). Am I missing something?

On eclipse project's Properties, C/C++ Make Project --> Make Builder tab

• Change Build command from /usr/bin/make to /opt/ros/fuerte/bin/rosmake
• Delete Build (Increment Build) value that is initially set all

I still want to avoid the workaround above because I have to "make clean" often for a certain reason (uploading to versioning server is primary one), which resets this config. My colleague is experiencing the same phenomenon (and the workaround above actually came out from him, which is ok but still makes things tedious in a middle/long run).

Environment: Ubuntu 10.04, Eclipse Indigo SP2

edit retag close merge delete

What exactly is your question? I'm not sure I understood your problem, it seems to work fine?

( 2012-07-25 16:31:26 -0600 )edit

@Felix Kaser I updated my question. I'm wondering if there's a solution that doesn't require any additional action after "make eclipse-project".

( 2012-07-25 19:18:48 -0600 )edit

Ah ok that makes much more sense now. Thanks! I guess you could adapt the make eclipse-project to include the project specific build instructions, but that's just a wild guess.

( 2012-07-25 19:34:11 -0600 )edit

Sort by » oldest newest most voted

I think your solution you already have is actually good. The better solution (to me) is not to use any IDE's build tools. The linux gcc/gdb etc environment has been made to work with the command line and iterated on for many years and is a very robust solution. I do like IDEs for a development environment (code completion and some other things), but that’s about all I use it for. For compiling I switch to a terminal and run all my build commands whether its ROS or not.

IDEs have just built an extra layer on top of the gcc/cmake/etc tools, which means if there's a problem, it could be in that extra layer which you don't need anyways.

more

After having 2 answers by now I assume there's no direct solution to my question. So I chose yours as the best ans since you refer to my workaround, while I still prefer to building/debugging from IDE b/c I can refer to code esp. during debug.

( 2012-07-31 07:31:08 -0600 )edit

Given all your dependencies are built already, calling make instead of rosmake is fine. What rosmake essentially does is traversing the dependency tree of your package in the right order and executing make in each package. After you called it once and don't change code in your dependencies, calling make in your package is much faster and should be just fine.

more

Thx for giving insight about what rosmake does (I didn't know about what you wrote). I just want to stick to using rosmake all the time b/c I want to avoid any possible mysterious errors that root in any ROS setting (i.e. not pure make problems).

( 2012-07-31 07:34:08 -0600 )edit