[riot-notifications] [RIOT-OS/RIOT] Build dependencies - processing order issues (#9913)
notifications at github.com
Mon May 6 15:47:56 CEST 2019
The explanation is a bit messy and dissolved in both the first post and following comments as there are many problems together.
However, there are concurrency issues even without `info-boards-supported`.
I can link the code reference for each issue if wanted.
#### Between `features` and `include`
* `board/Makefile.features` includes `cpu/hardwritten_cpu_name/Makefile.features` so uses the value of `CPU` before it is set.
* `cpu/Makefile.features` needs `CPU_MODEL` to set some features, but it is set in `Makefile.include`. Currently hacked by using `BOARD`, so would need `CPU_MODEL`.
#### Between `include` and `deps`
* `Makefile.include` sets CFLAGS/LINKFLAGS/Flasher options depending on the dependencies when `Makefile.dep` is not parsed yet so dependencies not resolved.
#### More CPU specific things:
* The `efm32`/`kinetis` that want to define features depending on the `CPU_MODEL` and do specific CFLAGS when the `features` is enabled but cannot, or add features from the `CPU_MODEL`
* `EFM32_UART_MODES` which should be a feature
Having a separate way of parsing dependencies also shows inconsistencies:
* `board/Makefile.dep` includes `cpu/hardwritten_cpu_name/Makefile.dep` but cannot use the value of `CPU` as not defined in that case.
* Makefile.dep uses `CPU_FAM`/`CPU_ARCH` which is not defined at all so ignored when parsing in this one
* board/cpu/Makefile.include define `USEMODULE` which is not parsed by this one.
* This leads to ignored missing features
My goal is to be able to parse the dependencies the same way in both cases, so do it without `Makefile.include`.`Makefile.include`.
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the notifications