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

> I'm back to twiddling with the PRU code for the BeagleBone, and I'm
> having issues with make and dependencies.  The PRU code gets assembled
> properly when doing a clean build from scratch, but if I edit one of the
> assembly source files and re-run make, nothing happens.
> 
> There's a Submakefile present in the src/hal/drivers/hal_pru_generic
> directory that *looks* like it correctly lists all the *.p files (the
> PRU assembly code) then adds them to USERSRCS, but obviously something
> isn't working quite right.  And what is USERSRCS anyway...it's not
> mentioned elsewhere in the Submakefile.
> 
> Crawling through the Submakefile, it appears that the %.bin and %.dbg
> files (the generated object code for the PRU) only depend on the %.p
> source file, and *NOT* on all the *.p files that get included in the
> build.  There's a comment in the Submakefile about getting some
> hand-holding from Jeff "on generating by mkdep.py and including this .d
> file at the right moment".

blush.. that was me.

mkdep.py is a halfbaked a solution - it doesnt recurse on the input files, and 
it dont consider include paths, so I added it as a starting point, but 
eventually didnt use it


qick fix - manual dependencies

solid fix - hack mkdep.py to recurse on each file found and honor a list of -I 
dirs :-/

--

USERSRCS is the list of files which get compiled one way or the other; see 
src/Makefile

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

I just went through a similar exercise for generating protobuf message 
definitions which do 'include foo.proto' as needed.

sorry to have no better answer

-m

> 
> Any advice on getting automatic dependency generation working for the
> PRU code, or should I just manually make some Makefile rules to drop
> into the Submakefile?
> 
> -- 
> 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