mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
Merge pull request #9002 from cladmi/pr/makefiles/builddeps
make: Add 'BUILDDEPS' variable
This commit is contained in:
commit
17545e4389
@ -372,6 +372,11 @@ LINKFLAGPREFIX ?= -Wl,
|
||||
|
||||
DIRS += $(EXTERNAL_MODULE_DIRS)
|
||||
|
||||
# Define dependencies required for building (headers, downloading source files,)
|
||||
BUILDDEPS += $(RIOTBUILD_CONFIG_HEADER_C)
|
||||
BUILDDEPS += pkg-prepare
|
||||
BUILDDEPS += $(APPDEPS)
|
||||
|
||||
# Save value to verify it is not modified later
|
||||
_BASELIBS_VALUE_BEFORE_USAGE := $(BASELIBS)
|
||||
|
||||
@ -395,7 +400,7 @@ endif # RIOTNOLINK
|
||||
$(ELFFILE): $(BASELIBS)
|
||||
$(Q)$(_LINK) -o $@
|
||||
|
||||
$(BINDIR)/$(APPLICATION_MODULE).a: $(RIOTBUILD_CONFIG_HEADER_C) $(USEPKG:%=$(BINDIR)/%.a) $(APPDEPS)
|
||||
$(BINDIR)/$(APPLICATION_MODULE).a: $(USEPKG:%=$(BINDIR)/%.a) $(BUILDDEPS)
|
||||
$(Q)DIRS="$(DIRS)" "$(MAKE)" -C $(APPDIR) -f $(RIOTMAKE)/application.inc.mk
|
||||
$(BINDIR)/$(APPLICATION_MODULE).a: FORCE
|
||||
|
||||
@ -433,14 +438,14 @@ endef
|
||||
|
||||
# The `clean` needs to be serialized before everything else.
|
||||
ifneq (, $(filter clean, $(MAKECMDGOALS)))
|
||||
all $(BASELIBS) $(USEPKG:%=$(RIOTPKG)/%/Makefile.include) $(RIOTBUILD_CONFIG_HEADER_C) pkg-prepare: clean
|
||||
all $(BASELIBS) $(USEPKG:%=$(RIOTPKG)/%/Makefile.include) $(BUILDDEPS): clean
|
||||
endif
|
||||
|
||||
.PHONY: pkg-prepare $(USEPKG:%=$(BINDIR)/%.a)
|
||||
pkg-prepare:
|
||||
-@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTPKG)/$$i prepare ; done
|
||||
|
||||
$(USEPKG:%=$(BINDIR)/%.a): $(RIOTBUILD_CONFIG_HEADER_C) pkg-prepare
|
||||
$(USEPKG:%=$(BINDIR)/%.a): $(BUILDDEPS)
|
||||
@mkdir -p $(BINDIR)
|
||||
$(QQ)"$(MAKE)" -C $(RIOTPKG)/$(patsubst $(BINDIR)/%.a,%,$@)
|
||||
|
||||
|
@ -17,6 +17,7 @@ export USEMODULE # Sys Module dependencies of the application. Set i
|
||||
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.
|
||||
|
||||
export RIOTBASE # The root folder of RIOT. The folder where this very file lives in.
|
||||
export RIOTCPU # For third party CPUs this folder is the base of the CPUs.
|
||||
|
Loading…
Reference in New Issue
Block a user