# Tell the build system that the CPU depends on the Cortex-M common files:
USEMODULE += cortexm_common

# include common periph code
USEMODULE += cortexm_common_periph

ifeq (1,$(PICOLIBC))
  # Use Picolibc when explicitly selected
  USEMODULE += picolibc
else
  # all cortex MCU's use newlib as libc
  USEMODULE += newlib
  # use the nano-specs of Newlib when available
  USEMODULE += newlib_nano
endif

# Export the peripheral drivers to be linked into the final binary:
USEMODULE += periph

# Use Hardware FPU by default if present
FEATURES_OPTIONAL += cortexm_fpu
ifneq (,$(filter cortexm_fpu,$(FEATURES_USED)))
  DEFAULT_MODULE += cortexm_fpu
endif

# Enable the MPU stack guard if develhelp is enabled
ifeq (1, $(DEVELHELP))
  FEATURES_OPTIONAL += cortexm_mpu
endif