1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 00:49:45 +01:00
RIOT/makefiles/vars.inc.mk
Joshua DeWeese dda83bc67e make: export DEVELHELP
This patch exports the make macro `DEVELHELP`. Without this patch, use
of the macro in the following files does not work when the macro is set
in a makefile (such as in Makefile.local or an application's makefile as
demonstrated in dist/Makefile). Inside these files `DEVELHELP` is not
defined under these conditions.

 - pkg/littlefs/Makefile
 - pkg/littlefs2/Makefile
 - sys/stdio_null/Makefile

Note that use of the macro does work in these files when the macro is
set from the command line, without the patch. For example:

``` sh
$make DEVELHELP=1 all
```
2024-10-03 14:23:33 -04:00

147 lines
12 KiB
Makefile

# set default values for selected global variables
FLASH_ADDR ?= 0x0
export Q # Used in front of Makefile lines to suppress the printing of the command if user did not opt-in to see them.
export QQ # as Q, but be more quiet
export QUIET # The parameter to use whether to show verbose makefile commands or not.
export QUIETER # The parameter to use to hide most makefile output
export OS # The operating system of the build host
export OS_ARCH # The build host's hardware architecture
export APPLICATION # The application, set in the Makefile which is run by the user.
export APPLICATION_MODULE # The application module name.
export BOARD # The board to compile the application for.
export CPU # The CPU, set by the board's Makefile.features.
export CPU_MODEL # The specific identifier of the used CPU, used for some CPU implementations to differentiate between different memory layouts. Set by the board's Makefile.features.
export CPU_CORE # The specific identifier of the core present in the CPU. Needed for depency resolution.
export CPU_ARCH # The specific identifier of the architecture of the core defined in CPU_CORE.
export CPU_FAM # An intermediate identifier between CPU and CPU_MODEL that represents a sub-group of a Manufacturers CPU's.
export INCLUDES # The extra include paths, set by the various Makefile.include files.
export CXXINCLUDES # The extra include paths for c++, set by the various Makefile.include files.
export NATIVEINCLUDES # The native include paths, set by the various native Makefile.include files.
export GCC_C_INCLUDES # system include dirs implicitly used by GCC's c compiler, only defined with TOOLCHAIN=llvm
export GCC_CXX_INCLUDES # system include dirs implicitly used by GCC's c++ compiler, only defined with TOOLCHAIN=llvm
export USEMODULE # Sys Module dependencies of the application. Set in the application's Makefile.
export BIN_USEMODULE # Modules specific to bindist (see bindist.ink.mk). Set in the application's Makefile.
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.
# 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.
# DEBUGDEPS # Files / Makefile targets that need to be created before starting a debug session.
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.
export RIOTBOARD # This folder is the base of the riot boards.
export BOARDSDIR # This is the folder containing the board dir
export EXTERNAL_BOARD_DIRS # List of folders containing external board dirs
export BOARDDIR # This folder contains the board
export RIOTPKG # For overriding RIOT's pkg directory
export RIOTTOOLS # Location of host machine tools
export RIOTPROJECT # Top level git root of the project being built, or PWD if not a git repository
export RIOTMAKE # Location of all supplemental Makefiles (such as this file)
export RIOTKCONFIG # Location of all supplemental Kconfig files
export BINDIRBASE # This is the folder where the application should be built in. For each BOARD a different subfolder is used.
export BINDIR # This is the folder where the application should be built in.
export RIOT_TEST_HASH_DIR # The dir to generate the test-input-hash.sha1 file for checking if a test has changed, uses BINDIR by default.
export CARGO_TARGET_DIR # This is the folder where Rust parts of the application should be built in.
export BUILD_DIR # This is the base folder to store common build files and artifacts, e.g. test results.
export APPDIR # The base folder containing the application
export PKG_PATHS # List of absolute paths where packages of $(USEPKG) can be found
export PKGDIRBASE # The base folder for building packages
export PYTHONPATH # Python default search path for module filesi, with RIOT specific packages
export FEATURES_REQUIRED # List of required features by the application
export FEATURES_PROVIDED # List of provided features by the board
export FEATURES_OPTIONAL # List of nice to have features
export FEATURES_USED # List of features used
# TOOLCHAINS_SUPPORTED # List of supported toolchains by a CPU (gnu/llvm/...).
# TOOLCHAINS_BLACKLISTED # List of unspported toolchains for a module or an application.
export TOOLCHAIN # Base build toolchain, i.e. GNU or LLVM
export TARGET_ARCH # The target platform name, in GCC triple notation, e.g. "arm-none-eabi", "i686-elf", "avr"
export TARGET_ARCH_LLVM # The target platform name, in LLVM triple notation, e.g. "arm-none-eabi"
export PREFIX # The prefix of the toolchain commands, usually "$(TARGET_ARCH)-", e.g. "arm-none-eabi-" or "msp430-".
export CC # The C compiler to use.
export CXX # The CXX compiler to use.
export CCAS # The C compiler to use for assembler files, typically the same as CC.
export CFLAGS # The compiler flags. Must only ever be used with `+=`.
export CFLAGS_CPU # CPU architecture specific compiler flags
export CXXUWFLAGS # (Patterns of) flags in CFLAGS that should not be passed to CXX.
export CXXEXFLAGS # Additional flags that should be passed to CXX.
export CCASUWFLAGS # (Patterns of) flags in CFLAGS that should not be passed to CCAS.
export CCASEXFLAGS # Additional flags that should be passed to CCAS.
export AS # The assembler.
export ASFLAGS # Flags for the assembler.
export LINK # The command used to link the files. Must take the same parameters as GCC, i.e. "ld" won't work.
export NM # The command used to list symbols from objet files
export RANLIB # The command used to generate an index to the contents of an archive
# LINKFLAGS # Flags to supply in the linking step.
export ARCHIVES # List of archives to add in the linking step
export LTOFLAGS # extra CFLAGS for compiling with link time optimization
export OBJCOPY # The command used to create the HEXFILE and BINFILE.
export OFLAGS # The parameter for OBJCOPY, e.g. to strip the debug information.
export OBJDUMP # The command used to create the assembly listing.
export OBJDUMPFLAGS # The parameter for OBJDUMP.
export SIZE # The command to read to size of the ELF sections.
export SIZEFLAGS # The optional size flags.
export UNDEF # Object files that the linker must include in the ELFFILE even if no call to the functions or symbols (ex: interrupt vectors).
export WERROR # Treat all compiler warnings as errors if set to 1 (see -Werror flag in GCC manual)
export WPEDANTIC # Issue all (extensive) compiler warnings demanded by strict C/C++
# EEPROM_FILE # (Native only!) file path where the content of the EEPROM is stored
# GITCACHE # path to git-cache executable
# GIT_CACHE_DIR # path to git-cache cache directory, only used with packages
# FLASHER # The command to call on "make flash".
# PROG_DEV # The device to connect the FLASHER and DEBUGGER
# FFLAGS # The parameters to supply to FLASHER.
export FLASH_ADDR # Define an offset to flash code into ROM memory.
# TERMPROG # The command to call on "make term".
# TERMFLAGS # Additional parameters to supply to TERMPROG.
# TERMENV # Environment variables passed to TERMPROG
# TERMLOG # Optional file to log "make term" output to.
# TERMTEE # Optional pipe to redirect "make term" output. Default: '| tee -a ${TERMLOG}' when TERMLOG is defined else undefined.
# PORT # The port to connect the TERMPROG to.
export ELFFILE # The unstripped result of the compilation.
export HEXFILE # The 'intel hex' stripped result of the compilation.
# BINFILE # The 'binary' stripped result of the compilation.
# FLASHFILE # The output file used for flashing
# BUILD_FILES # The list of files to be built
# DEBUGGER # The command to call on "make debug", usually a script starting the GDB front-end.
# DEBUGGER_FLAGS # The parameters to supply to DEBUGGER.
# DEBUGSERVER # The command to call on "make debug-server", usually a script starting the GDB server.
# DEBUGSERVER_FLAGS # The parameters to supply to DEBUGSERVER.
# DEBUGCLIENT # The command to call on "make debug-client", usually a script starting the GDB client.
# DEBUGCLIENT_FLAGS # The parameters to supply to DEBUGCLIENT.
export DEVELHELP # Set to 1 to spend ROM, RAM and CPU time for help during development (e.g. enable asserts())
# RESET # The command to call on "make reset", this command resets/reboots the target.
# RESET_FLAGS # The parameters to supply to RESET.
# PROGRAMMER # The programmer to use when flashing, resetting or debugging
# PROGRAMMERS_SUPPORTED # The list of programmers supported by a board
# PROGRAMMER_QUIET # Change verbosity of programmer output (only used with flash and reset targets).
# Default is 1, not verbose. Use 0 to get normal programmer output.
# USE_PROGRAMMER_WRAPPER_SCRIPT # Use the programmer wrapper Python script. Default is 0 (wrapper not used).
export DLCACHE # directory used to cache http downloads
export DOWNLOAD_TO_FILE # Use `$(DOWNLOAD_TO_FILE) $(DESTINATION) $(URL)` to download `$(URL)` to `$(DESTINATION)`.
export DOWNLOAD_TO_STDOUT # Use `$(DOWNLOAD_TO_STDOUT) $(URL)` to download `$(URL)` output `$(URL)` to stdout, e.g. to be piped into `tar xz`.
export UNZIP_HERE # Use `cd $(SOME_FOLDER) && $(UNZIP_HERE) $(SOME_FILE)` to extract the contents of the zip file `$(SOME_FILE)` into `$(SOME_FOLDER)`.
export LAZYSPONGE # Command saving stdin to a file only on content update.
export LAZYSPONGE_FLAGS # Parameters supplied to LAZYSPONGE.
export FLAGS_FOR_AFL # Additional command-line flags passed to afl during fuzzing.
# LOG_LEVEL # Logging level as integer (NONE: 0, ERROR: 1, WARNING: 2, INFO: 3, DEBUG: 4, default: 3)
# KCONFIG_ADD_CONFIG # List of .config files to be merged used by Boards and CPUs. See kconfig.mk
# VERBOSE_ASSERT # Set to 1 to print the file and line of a failed assert when assertions blow
export RUST_TARGET # Rust's own version of the target triple / quadruple.
#
# It is set by the architecture (and thus eventually the CPU), and exported to
# be available when building Rust modules.