make: Add 'BUILDDEPS' variable#9002
Conversation
|
@neiljay I may also need some of your input. Do you remember why you put the assembly files as APPDEPS and not just using the module ? |
|
I found another line that should be using RIOT/examples/javascript/Makefile Line 50 in 6d96eaa |
81560ae to
8004035
Compare
|
Rebased and inline fixed a whitespace error. |
8004035 to
d1bd7d5
Compare
Makefile.include
Outdated
|
|
||
| DIRS += $(EXTERNAL_MODULE_DIRS) | ||
|
|
||
| # Define dependencies required for building (headers, dowloading source files,) |
makefiles/vars.inc.mk
Outdated
| export USEPKG # Pkg dependencies (third party modules) of the application. Set in the application's Makefile. | ||
| export DISABLE_MODULE # Used in the application's Makefile to suppress DEFAULT_MODULEs. | ||
| export APPDEPS # Files / Makefile targets that need to be created before the application can be build. Set in the application's Makefile. | ||
| # BUILDDEPS # Files / Makefile targets that need to be created before starting to build. Set by modules / build system included files. |
There was a problem hiding this comment.
took me a while to parse "Set by modules / build system included files.". What does "Set by build system included files." mean? Maybe just drop the whole "Set by" phrase?
There was a problem hiding this comment.
I was writing in the same way as the line before but it does not help, I removed it.
kaspar030
left a comment
There was a problem hiding this comment.
ACK. minor issues, feel free to fix.
BUILDDEPS are files / make targets that should be build before compiling. It can include packages source download, generating headers, modules. It is the equivalent of `APPDEPS` but not limited to the application. It cannot be done right now with `APPDEPS` as it is used in `BASELIBS` and fixing it requires changing mips using it for source files.
Use BUILDDEPS to define the RIOTBUILD_CONFIG_HEADER_C dependency
Use BUILDDEPS to define the APPDEPS dependency
Use BUILDDEPS to define pkg-prepare dependency
d1bd7d5 to
61f13ba
Compare
|
I inline fixed the download and removing the last part of the line as mentioned. |
Extend/fix
APPDEPSas a new variable to declare general build dependencies.This PR proposes to add a new
BUILDDEPSvariable instead of fixingAPPDEPS.It is only a proposal and is here to show how it could be used.
Fixing
APPDEPSand making it evolve is also a possibility, with other sub-prs, I just want to start talking about it and justify the pull requests that would changeAPPDEPS.Contribution description
BUILDDEPSare files / make targets that should be build before compiling.It can include packages source download, generating headers, modules.
It is the equivalent of
APPDEPSbut not limited to the application (as documented).It cannot be done right now with
APPDEPSas it is used inBASELIBSand fixing it requires changing mips using it for source files.Other solution
Another solution is to fix
APPDEPSnow:RIOT/boards/pic32-clicker/Makefile.include
Line 4 in af70c08
RIOT/boards/pic32-wifire/Makefile.include
Line 4 in af70c08
BASELIBSand so in the linker commandAPPDEPSdocumentation.BUILDDEPS.Issues/PRs references
This would be necessary to do #7654 properly.
With #8987 it would allow defining external packages by setting a dependency that downloads the source files.