make: use submodules for periph#7241
Conversation
|
very nice idea, specifically
should be fixed anyway! |
|
I think the Otherwise I like the idea, but this would need quite some work to adapt every device driver and cpu. How could we manage easily the periph dependencies (for instance |
Yes, thanks! pushed a fix... |
haukepetersen
left a comment
There was a problem hiding this comment.
I like it. Could you rebase? With #7507 being merged this PR should actually work now, right?
makefiles/pseudomodules.inc.mk
Outdated
| # add all pseudo random number generator variants as pseudomodules | ||
| PSEUDOMODULES += prng_% | ||
|
|
||
| # |
0c9fbd8 to
089d221
Compare
|
Supercedes #5065. |
|
@kaspar030 @haukepetersen This now heavily conflicts with my own changes to pm... Highlight me once this is done so I can start all over again and start integrating the PM for atmega_common we created at the IoT Hackathon... |
|
I'll rebase this on #7597 once that is in. |
|
Any news? |
This ensures that the rtt code is made available by depending on periph_rtt.
(needed for gettimeofday())
b7c6298 to
3ec8126
Compare
|
All green -> go |
Currently, all available periph *.c files for a given platform are always compiled, ignorant of them actually being used. A linker quirk (see #5757) takes care of sorting out unneeded ISR's (which have a weak default), which is more than hacky. Also, guards within the files (
#if RTC_NUMOF ...) cut out not needed code.This PR makes individual periph drivers (e.g., gpio, uart...) submodules of "periph". It also turns every periph feature that is either required or optional and available into a module dependency (e.g.,
FEATURE_REQUIRED += periph_i2cwill result inUSEMODULE += periph_i2c), in order to select the necessary modules.This is WIP because:- it breaks buildtest (even more), as buildtest doesn't take into account any required features defined as module dependencies(fixed by #7589)- most drivers / modules / boards don't specify their required features(This PR works fine, the dependencies are a dependency PR)- depends on #7589.(merged)Waiting for
#7880,#7772,#7773.