[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Dependency problem

From: Felix Ruess
Subject: Re: [Paparazzi-devel] Dependency problem
Date: Tue, 29 Oct 2013 13:30:46 +0100

Actually if you only change defines like gains in your airframe file (that are simply added to generated/airframe.h), it will correctly recompile all source files that include the generated airframe file.
But it e.g. won't detect modified defines in the firmware section.

Dependency generation is specified in the appropriate Makefile, e.g. for the ARDrone in conf/Makefile.omap Line185

On Tue, Oct 29, 2013 at 1:03 PM, Christophe De Wagter <address@hidden> wrote:
paparazzi (or actually make) tracks dependencies quite well, however, make does not understand the xml-configuration well. 

 - So if for instance you change your xml and add a <define ... > somewhere, make does not understand which control or driver files are affected. You then MUST clean before recompile.
 - Even worse: if you change the board file to another arch in the middle of some work, it will only rebuild the changed c files so you can have object files compiled with different architectures being linked (which does fortunately not work)
 - And if you change a module.xml, the build system does not necessarly know it should recompile (whjile for subsystems it does know as it is makefile)

Our rules of thumb: 
 - make clean anytime you need to be really sure
 - certainly clean after every xml change

PS: thanks for the pull request. 


On Tue, Oct 29, 2013 at 12:01 PM, Ben Laurie <address@hidden> wrote:
On 28 October 2013 12:50, Felix Ruess <address@hidden> wrote:
> Hi Ben,
> seems that this is because the gps_ubx_ucenter.c file is INCLUDED in
> subsystems/gps/gps_ubx.c Line 271 rather than being added as a normal source
> file.
> While this was probably easier to implement (to allow access to ubx
> internals to the ucenter module) it's not very nice.
> Christophe may have more details as he wrote the gps_ubx_ucenter module.

I am sending a pull request that fixes this.

In general, though, it seems paparazzi doesn't track dependencies. Am
I right, or am I missing something?

> Cheers, Felix
> On Sat, Oct 26, 2013 at 7:55 PM, Ben Laurie <address@hidden> wrote:
>> If I modify gps_ubx_center.c, then rebuild ardrone2_raw, it does not
>> recompile that file...
>> _______________________________________________
>> Paparazzi-devel mailing list
>> address@hidden
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]