1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/makefiles/app_dirs.inc.mk
Gaëtan Harter 45e611d765
makefiles/app_dirs.inc.mk: Calculate 'BOARDS' value only once
Evaluate BOARDS only once before going in all directories.

This uses the target specific 'export BOARDS ?=' to export the variable
with its value without evaluating during parsing.
2019-06-07 16:32:04 +02:00

26 lines
902 B
Makefile

.PHONY: info-applications info-applications-supported-boards
# fallback so empty RIOTBASE won't lead to "/examples/"
RIOTBASE ?= .
# 1. use wildcard to find Makefiles
# 2. use patsubst to drop trailing "/"
# 3. use patsubst to drop possible leading "./"
# 4. sort
APPLICATION_DIRS := $(sort $(patsubst ./%,%,$(patsubst %/,%,$(dir $(wildcard \
$(RIOTBASE)/bootloaders/*/Makefile \
$(RIOTBASE)/examples/*/Makefile \
$(RIOTBASE)/tests/*/Makefile \
)))))
info-applications:
@for dir in $(APPLICATION_DIRS); do echo $$dir; done
# All applications / board output of `info-boards-supported`.
info-applications-supported-boards:
@for dir in $(APPLICATION_DIRS); do \
make --no-print-directory -C $${dir} info-boards-supported 2>/dev/null | xargs -n 1 echo $${dir}; \
done
# BOARDS values from 'boards.inc.mk' to only evaluate it once
info-applications-supported-boards: export BOARDS ?=