2016-12-17 01:16:07 +01:00
export Q # Used in front of Makefile lines to suppress the printing of the command if user did not opt-in to see them.
2016-12-22 12:18:38 +01:00
export Q Q # as Q, but be more quiet
2014-05-05 21:53:37 +02:00
export Q U I E T # The parameter to use whether to show verbose makefile commands or not.
export A P P L I C A T I O N # The application, set in the Makefile which is run by the user.
export B O A R D # The board to compile the application for.
export C P U # The CPU, set by the board's Makefile.include.
2014-08-21 14:53:48 +02:00
export C P U _ M O D E L # The specific identifier of the used CPU, used for some CPU implementations to differentiate between different memory layouts
2014-05-05 21:53:37 +02:00
export M C U # The MCU, set by the board's Makefile.include, or defaulted to the same value as CPU.
export I N C L U D E S # The extra include paths, set by the various Makefile.include files.
export U S E M O D U L E # Sys Module dependencies of the application. Set in the application's Makefile.
export U S E P K G # Pkg dependencies (third party modules) of the application. Set in the application's Makefile.
export D I S A B L E _ M O D U L E # Used in the application's Makefile to suppress DEFAULT_MODULEs.
export A P P D E P S # Files / Makefile targets that need to be created before the application can be build. Set in the application's Makefile.
export R I O T B A S E # The root folder of RIOT. The folder where this very file lives in.
export R I O T C P U # For third party CPUs this folder is the base of the CPUs.
export R I O T B O A R D # For third party BOARDs this folder is the base of the BOARDs.
2016-03-05 00:53:05 +01:00
export R I O T P K G # For overriding RIOT's pkg directory
2015-02-05 10:03:05 +01:00
export R I O T P R O J E C T # Top level git root of the project being built, or PWD if not a git repository
2016-01-27 10:47:12 +01:00
export R I O T M A K E # Location of all supplemental Makefiles (such as this file)
2014-05-05 21:53:37 +02:00
export B I N D I R B A S E # This is the folder where the application should be built in. For each BOARD a different subfolder is used.
export B I N D I R # This is the folder where the application should be built in.
2015-04-29 20:50:18 +02:00
export A P P D I R # The base folder containing the application
2017-02-25 15:41:22 +01:00
export P K G D I R B A S E # The base folder for building packages
2014-05-05 21:53:37 +02:00
2016-03-17 21:55:17 +01:00
export T A R G E T _ A R C H # The target platform name, in GCC triple notation, e.g. "arm-none-eabi", "i686-elf", "avr"
export P R E F I X # The prefix of the toolchain commands, usually "$(TARGET_ARCH)-", e.g. "arm-none-eabi-" or "msp430-".
2014-05-05 21:53:37 +02:00
export C C # The C compiler to use.
export C X X # The CXX compiler to use.
2017-03-01 11:24:11 +01:00
export C C A S # The C compiler to use for assembler files, typically the same as CC.
2014-05-05 21:53:37 +02:00
export C F L A G S # The compiler flags. Must only ever be used with `+=`.
2017-03-01 11:24:11 +01:00
export C X X U W F L A G S # (Patterns of) flags in CFLAGS that should not be passed to CXX.
2014-05-05 21:53:37 +02:00
export C X X E X F L A G S # Additional flags that should be passed to CXX.
2017-03-01 11:24:11 +01:00
export C C A S U W F L A G S # (Patterns of) flags in CFLAGS that should not be passed to CCAS.
export C C A S E X F L A G S # Additional flags that should be passed to CCAS.
2014-05-05 21:53:37 +02:00
export A R # The command to create the object file archives.
2015-01-20 21:34:17 +01:00
export A R F L A G S # Command-line options to pass to AR, default `rcs`.
2014-05-05 21:53:37 +02:00
export A S # The assembler.
export A S F L A G S # Flags for the assembler.
export L I N K # The command used to link the files. Must take the same parameters as GCC, i.e. "ld" won't work.
export L I N K F L A G S # Flags to supply in the linking step.
2016-08-10 16:03:53 +02:00
export L T O F L A G S # extra CFLAGS for compiling with link time optimization
2014-05-05 21:53:37 +02:00
export O B J C O P Y # The command used to create the HEXFILE.
export O F L A G S # The parameter for OBJCOPY, e.g. to strip the debug information.
2016-02-23 23:55:58 +01:00
export O B J D U M P # The command used to create the assembly listing.
export O B J D U M P F L A G S # The parameter for OBJDUMP.
2014-05-05 21:53:37 +02:00
export S I Z E # The command to read to size of the ELF sections.
export U N D E F # Set by the BOARD's and CPU's Makefile.include, this contains object files with must not be used in the ELFFILE even if the if no call to the functions.
2015-07-21 07:05:14 +02:00
export W E R R O R # Treat all compiler warnings as errors if set to 1 (see -Werror flag in GCC manual)
2014-05-05 21:53:37 +02:00
2016-03-20 12:40:20 +01:00
export G I T C A C H E # path to git-cache executable
2014-05-05 21:53:37 +02:00
export F L A S H E R # The command to call on "make flash".
export F F L A G S # The parameters to supply to FLASHER.
export T E R M P R O G # The command to call on "make term".
2014-08-21 14:53:48 +02:00
export T E R M F L A G S # Additional parameters to supply to TERMPROG.
export P O R T # The port to connect the TERMPROG to.
2014-05-05 21:53:37 +02:00
export E L F F I L E # The unstripped result of the compilation.
export H E X F I L E # The stripped result of the compilation.
2014-08-21 14:53:48 +02:00
export D E B U G G E R # The command to call on "make debug", usually a script starting the GDB front-end.
export D E B U G G E R _ F L A G S # The parameters to supply to DEBUGGER.
export D E B U G S E R V E R # The command to call on "make debug-server", usually a script starting the GDB server.
export D E B U G S E R V E R _ F L A G S # The parameters to supply to DEBUGSERVER.
export R E S E T # The command to call on "make reset", this command resets/reboots the target.
export R E S E T _ F L A G S # The parameters to supply to RESET.
make: centralize wget/curl & unzip/7z feature test
With many open PRs that could benefit from loading SDKs when needed,
instead adding vast amounts of code to RIOTs master, this PR provides
the "functions" `$(DOWNLOAD_TO_STDOUT)`, `$(DOWNLOAD_TO_FILE)`, and
`$(UNZIP_HERE)`.
The first "function" takes one argument, the URL from where to download
the content. It is then piped to stdout. To be used e.g. with `tar xz`.
The second "function" taken two arguments, the destination file name,
and the source URL. If the previous invocation was interrupted, then the
download gets continued, if possible.
The last "function" takes one argument, the source ZIP file. The file
gets extracted into the cwd, so best use this "function" with
`cd $(SOME_WHERE) &&`.
The clumsy name `$(UNZIP_HERE)` is taken because the program "unzip"
takes the environment variable `UNZIP` as the source file, even if
another file name was given on the command line. The rationale for that
is that the hackers of "unzip" hate their users. Also they sacrifice
hamsters to Satan.
2014-07-16 00:29:18 +02:00
2015-08-14 00:31:36 +02:00
export C C A C H E _ B A S E D I R # ccache basedir, allows multiple riot build
# directories to share a ccache directory
2017-02-23 17:34:32 +01:00
export D L C A C H E # directory used to cache http downloads
make: centralize wget/curl & unzip/7z feature test
With many open PRs that could benefit from loading SDKs when needed,
instead adding vast amounts of code to RIOTs master, this PR provides
the "functions" `$(DOWNLOAD_TO_STDOUT)`, `$(DOWNLOAD_TO_FILE)`, and
`$(UNZIP_HERE)`.
The first "function" takes one argument, the URL from where to download
the content. It is then piped to stdout. To be used e.g. with `tar xz`.
The second "function" taken two arguments, the destination file name,
and the source URL. If the previous invocation was interrupted, then the
download gets continued, if possible.
The last "function" takes one argument, the source ZIP file. The file
gets extracted into the cwd, so best use this "function" with
`cd $(SOME_WHERE) &&`.
The clumsy name `$(UNZIP_HERE)` is taken because the program "unzip"
takes the environment variable `UNZIP` as the source file, even if
another file name was given on the command line. The rationale for that
is that the hackers of "unzip" hate their users. Also they sacrifice
hamsters to Satan.
2014-07-16 00:29:18 +02:00
export D O W N L O A D _ T O _ F I L E # Use `$(DOWNLOAD_TO_FILE) $(DESTINATION) $(URL)` to download `$(URL)` to `$(DESTINATION)`.
export D O W N L O A D _ T O _ S T D O U T # Use `$(DOWNLOAD_TO_STDOUT) $(URL)` to download `$(URL)` output `$(URL)` to stdout, e.g. to be piped into `tar xz`.
export U N Z I P _ H E R E # Use `cd $(SOME_FOLDER) && $(UNZIP_HERE) $(SOME_FILE)` to extract the contents of the zip file `$(SOME_FILE)` into `$(SOME_FOLDER)`.