1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/makefiles/stdio.inc.mk
Francisco Molina 9536a80e52
Makefile.dep: use stdio.inc.mk
Move all stdio dependencies to its own makefile
2020-03-18 15:58:38 +01:00

65 lines
1.6 KiB
Makefile

STDIO_MODULES = \
slipdev_stdio \
stdio_cdc_acm \
stdio_ethos \
stdio_null \
stdio_rtt \
stdio_uart \
#
# Since USEMODULE and DEFAULT_MODULEs are recursively expanded we need to
# disable DEFAULT_MODULEs before any of there dependencies are evaluated,
# otherwise the disabled MODULE will be in USEMODULE (triggering) its
# dependencies, and then removed but leaving its dependencies
ifneq (,$(filter $(filter-out stdio_rtt,$(STDIO_MODULES)),$(USEMODULE)))
# stdio_rtt cannot be used when another STDIO is loaded
DISABLE_MODULE += stdio_rtt
endif
ifneq (,$(filter $(filter-out stdio_cdc_acm,$(STDIO_MODULES)),$(USEMODULE)))
# stdio_cdc_acm cannot be used when another STDIO is loaded
DISABLE_MODULE += stdio_cdc_acm
endif
ifneq (,$(filter newlib,$(USEMODULE)))
ifeq (,$(filter $(STDIO_MODULES),$(USEMODULE)))
USEMODULE += stdio_uart
endif
endif
ifneq (,$(filter stdio_cdc_acm,$(USEMODULE)))
USEMODULE += usbus_cdc_acm
USEMODULE += isrpipe
endif
ifneq (,$(filter stdio_rtt,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter stdio_ethos,$(USEMODULE)))
USEMODULE += ethos
USEMODULE += stdin
USEMODULE += stdio_uart
endif
ifneq (,$(filter stdin,$(USEMODULE)))
ifneq (,$(filter stdio_uart,$(USEMODULE)))
USEMODULE += stdio_uart_rx
endif
endif
ifneq (,$(filter stdio_uart_rx,$(USEMODULE)))
USEMODULE += isrpipe
USEMODULE += stdio_uart
endif
ifneq (,$(filter stdio_uart,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
endif
ifeq (,$(filter stdio_cdc_acm,$(USEMODULE)))
# The arduino bootloader feature cannot be used if the stdio_cdc_acm module
# is not used
FEATURES_BLACKLIST += bootloader_arduino
endif