Am 11.01.2014 um 23:05 schrieb Charles Steinkuehler <[email protected]>:

> On 1/11/2014 3:22 PM, Michael Haberler wrote:
>> 
>> The Makefile depends on the corresponding .d files; if some are
>> missing, they are generated on the fly, and included as new rules.
>> It's an arcane and nonobvious process.
>> 
>> it's easy to generate .d files for c/cc files with gcc -MM/MD; but
>> gcc cant deal with other files, which is why something like mkdep.py
>> will be needed

modify last paragraph: gcc cannot, but cpp can:

emc2-rtos/src/hal/drivers/hal_pru_generic$ cpp -MM pru_generic.p 

pru_generic.o: pru_generic.p pru.h pru_tasks.h pru_wait.p pru_stepdir.p \
 pru_deltasigma.p pru_pwm.p


I gave it a stab to integrate into the build here:  
https://github.com/mhaberler/linuxcnc/tree/pasm-mkdep

this should generate the pasm dependencies as needed, and include them.

- Michael

ps: the proto file dependency generation will not be useful because path 
extraction is rather specific to .proto files, but the include/depend method is 
the same as in the pasm-mkdep branch

> 
> I've pretty much figured this out by crawling through the makefiles.
> 
> The existing mkdep.py is good enough for my current needs (I don't have
> lots of nested PRU code directories and includes).  I'm looking at
> trying to setup rules to depend on the *.d files, and create the *.d
> files from the *.p files w/o messing up the existing C dependency logic.
> 
>> I just went through a similar exercise for generating protobuf
>> message definitions which do 'include foo.proto' as needed.
> 
> Where's a good place to browse these Makefile changes?  It sounds like
> that could be a handy reference.
> 
> -- 
> Charles Steinkuehler
> [email protected]
> 
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today. 
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk_______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers


------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to