1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

47 Commits

Author SHA1 Message Date
chrysn
4beff4e9d4 makefiles: Align cargo-info output with what happens in the build system
This simplifies the explanation of what might need adjustments depending
on which cargo command is invoked.
2024-08-22 15:16:41 +02:00
chrysn
a5c7705e1f makefiles/doc: Clarify that CARGO_OPTIONS is only used for cargo build
The options passed to cargo are not universal, and thus can not apply to
all commands as was previously documented.
2024-08-22 15:16:41 +02:00
chrysn
d260ec88a6 makefiles: Add "cargo-command" target for executing cargo
Examples of executed commands are `cargo check`, `cargo fix` or `cargo
doc`.
2024-08-22 15:16:41 +02:00
chrysn
756a384442 makefiles, treewide: Remove MCU variable 2024-02-18 20:46:09 +01:00
chrysn
9a59d59bd2 makefiles/rust: Remove RIOT_USEMODULE
The latest versions of riot-wrappers and riot-sys do not require it any
more, and the exported data from info-rust is thus much more stable.
2024-02-01 13:54:46 +01:00
chrysn
4005235976 makefiles/rust: Show the exported environment in make info-rust
Contributes-To: https://github.com/RIOT-OS/RIOT/issues/20088
2024-01-31 17:15:08 +01:00
chrysn
6724884b93 makefiles/rust: Remove CARGO_CHANNEL special casing
Back when specific control of the Rust version used with RIOT was
needed, CARGO_CHANNEL was added to explicitly set the Rust version with
consideration for CI special cases.

Rust's mechansims of selecting a toolchain can be used instead now.
2024-01-31 12:25:09 +01:00
Fabian Hüßler
4e1ac37400 buildsystem: add target debug-client 2023-06-10 00:04:56 +02:00
820a895684
Make: rename create-Makefile.ci to generate-Makefile.ci
With this rename it is in line with the other generate-* targets
2023-02-04 16:51:36 +01:00
chrysn
babccfa947 makefiles: Add make info-rust target 2022-09-23 02:03:50 +02:00
chrysn
5f41839b3d build-info: Output CARGO_CHANNEL etc. 2022-09-23 02:03:23 +02:00
chrysn
9d7fd993aa make/info-build: Protect shell from parentheses in CFLAGS
As for why the `-e` is being removed, observe that the `-e` would
otherwise be printed; there is an [elaborate treatise] on what happens
there.

[elaborate treatise]: https://unix.stackexchange.com/questions/700675/why-is-echo-e-behaving-weird-in-a-makefile
2022-09-23 01:53:42 +02:00
chrysn
62a6d3c128 makefiles: Add openocd-rtt
JLink presumably has information about the device's RAM available
internally. Not passing the precise symbol area (which would be
available in the ELF file) because a) that'd make the terminal break
when the flashed firmware does not equal the built one, and b) that
would introduce a dependency from `term` to the ELF file that other
terminals don't have.
2022-08-30 09:34:22 +02:00
Marian Buschsieweke
bf6d742017
build system: add info-kconfig-variables
This aids debugging issues with KConfig by being able to print all
`CONFIG_*` variables.
2022-08-08 08:15:15 +02:00
chrysn
4e3e21d3ab build-info: Report Rust target 2021-12-19 10:02:38 +01:00
Benjamin Valentin
3303b8c16a Makefile.include: rename Makefile.ci target to create-Makefile.ci
If we

    -include Makefile.ci

and `Makefile.ci` does not exist, but we provide `make` with a way
on how to do so, it will try to create `Makefile.ci`.

This is not what we want, but I don't know how to disable this automagic.
So rename the target to `create-Makefile.ci` to avoid the conflict.
2021-11-15 20:20:11 +01:00
benpicco
7c8504186e
Merge pull request #16109 from benpicco/dist/tools/create_makefile.ci.sh
tools/insufficient_memory: add create_makefile.ci.sh and Makefile.ci make target
2021-11-15 18:12:01 +01:00
Benjamin Valentin
0b3e4cd43f tools/insufficient_memory: add create_makefile.ci.sh 2021-11-15 17:41:54 +01:00
MrKevinWeiss
a3075ec0c4 makefiles/info: Add make info-packages command 2021-04-08 16:44:10 +02:00
64f88214cd
makefiles/info.inc.mk: add target to print supported programmers 2021-02-24 13:29:40 +01:00
Jean Pierre Dudey
9b4688bab1 makefiles/info.inc.mk: fix EXTERNAL_BOARD_DIRS in info-build-json
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-01-22 20:33:38 +01:00
aba91f144c
info.inc.mk: Add info-build-json as JSON-formatted build info 2020-10-09 12:02:28 +02:00
9006d7ad43
info-objsize: Restore info-objsize target
This restores the functionality of the info-objsize target.
2020-10-07 14:44:56 +02:00
Marian Buschsieweke
ba7815163c
Makefile*: Allow multiple external board dirs
- Add the new EXTERNAL_BOARD_DIRS variable that can contain a space separated
  list of folders containing external boards
- Introduce $(BOARDDIR) as shortcut for $(BOARDSDIR)/$(BOARD)
- Map the existing BOARDSDIR to the new approach
    - If BOARDSDIR is provided by the user, it will be added to
      EXTERNAL_BOARD_DIRS for backward compatibility. (And a warning is issued
      to encourage users migrating to EXTRA_BOARDS.)
    - BOARDSDIR is updated after the board is found to "$(BOARDDIR)/..".
        - Useful for `include $(BOARDSDIR)/common/external_common/Makefile.dep`
        - Provides backward compatibility
2020-04-29 18:32:39 +02:00
Marian Buschsieweke
3628db19fd
Makefile.features: Allow "one out of" dependencies
An application/test/module that requires one feature out of a set of
alternatives (let's say either periph_uart, periph_spi, or periph_i2c) can
request this now using:

    FEATURES_REQUIRED_ANY += periph_uart|periph_spi|periph_i2c
2020-04-01 09:12:50 +02:00
Gaëtan Harter
418bcfb95d
makefiles: deprecate 'RIOTBOARD' for 'BOARDSDIR'
Replace using 'RIOTBOARD' by 'BOARDSDIR' to define external boards.
2019-12-16 15:35:05 +01:00
Gaëtan Harter
90692ac92b
makefiles: use 'BOARDSDIR' for the boards directory in compilation
Replace uses of 'RIOTBOARD' by 'BOARDSDIR' during the compilation.
2019-12-16 15:35:04 +01:00
Francisco Molina
66e3cf569e makefiles/vars.inc.mk: add PROG_DEV variable
- Introduce new PROG_DEV variable to specify device PORT used by the
  PROGRAMMER or DEBUGGER.
2019-10-24 12:56:43 +02:00
ba0eb796fb
make: add FEATURES_USED_BLACKLISTED to the build info 2019-10-15 11:40:06 +02:00
cc80961b5f make: allow feature based blacklisting (FEATURES_BLACKLIST) 2019-10-13 21:03:41 +02:00
Gaëtan Harter
b62488eb61
makefiles: documentation for BINFILE
Document `BINFILE` in the same ways as `HEXFILE`.
The file does not need to be exported so no reason to do it though.

It also adds it in the `info-build` output in the same way as `HEXFILE`.
2019-07-16 12:05:00 +02:00
Gaëtan Harter
6d7a70b16b
Makefile.features: declare FEATURES_CONFLICTING and make use of it
Define a variable for used features that conflict and use it in
`Makefie.include`.

It was not used by `info-global.inc.mk` and is still currently not.
2019-05-28 19:21:53 +02:00
Gaëtan Harter
9cccc30262
Makefile.features: declare FEATURES_USED and make use of it
Put the definition of `FEATURES_USED` in common and use the variable
instead of duplicating code.

This required defining 'FEATURES_OPTIONAL_ONLY|USED' to not overwrite
the value of 'FEATURES_OPTIONAL' as was done before.

Also add 'FEATURES_OPTIONAL_MISSING' to list optional features that were
not included as not provided.

This removes the need to print FEATURES_MISSING with the optional
features too.
2019-05-28 19:22:02 +02:00
Gaëtan Harter
e1c60ead36
Makefile.features: declare FEATURES_MISSING and make use of it
Put the definition of `FEATURES_MISSING` in common and use the variable
instead of duplicating code.
2019-05-28 19:21:53 +02:00
Gaëtan Harter
700b5fb835
makefiles: Update FEATURES_OPTIONAL meaning
Update the FEATURES_OPTIONAL meaning to be more in line since
FEATURES_USED is defined. Handle FEATURES_OPTIONAL as a configuration from
the BSP/build that should not be changed anymore after.

`FEATURES_OPTIONAL` are by definition optional so are not supposed to
cause a build to fail.
Only the 'REQUIRED' ones that are not 'PROVIDED' are 'MISSING'.

* Do not change FEATURES_OPTIONAL to remove REQUIRED features
  * Prepare for having a different variable for the previous value
* Update dependency resolution/info-build as FEATURES_OPTIONAL cannot be missing
2019-05-28 19:21:53 +02:00
Gaëtan Harter
1d268c4cdb
Makefile.include: introduce FLASHFILE
Introduce FLASHFILE variable to start migrating boards to use it.

This is the file that will be used for flashing.
Boards do not currently use it but will migrated in upcoming PRs.
2019-02-28 18:11:49 +01:00
Toon Stegen
bd77f9822d make: fix info-objsize column name position 2018-09-27 14:10:33 +02:00
Martine Lenders
ac9311a47a makefiles/info.inc.mk: provide info targets about toolchain support 2018-08-16 16:42:04 +02:00
smlng
ec2a0f9f81 make: add APPDIR to info-build target
While info-build already provides lots of useful information
    it does not print the application source dir. However this
    might be useful for debugging and logging, hence its added
    to the output.
2018-08-09 14:40:35 +02:00
Gaëtan Harter
bd29ac614d
makefiles/info.inc.mk: add a info-debug-variable-% target
Add a target to print an internal variable value.

Usage: make info-debug-variable-VARIABLENAME

Example:

    make info-debug-variable-ELFFILE
    /path/to/riot/examples/hello-world/bin/native/hello-world.elf
2018-05-08 18:19:03 +02:00
Gaëtan Harter
72ddc72f2b make: cleanup HEXFILE/ELFFILE/BINFILE
* Use the existing variable when possible
* Remove duplicate definition
* Remove unused BINFILE variable
2018-03-27 16:02:48 +02:00
61f1b941ce make: replace curly braces with parenthesis 2018-03-22 20:43:15 +01:00
Gaëtan Harter
1c816a9601 info-build: add INCLUDES to the output
Add INCLUDES to the output of info-build
2018-03-01 15:21:16 +01:00
smlng
de6691f523 makefiles: add targets for list of features provided and features required 2017-10-24 14:09:20 +02:00
smlng
fe1a99e1b1 makefiles: fix duplicate for missing features 2017-10-24 14:08:52 +02:00
625d2449d8 make: fix nproc for buildtest 2017-09-20 21:07:11 +02:00
daa277b36e make: refactor info- and buildtest targets 2017-09-14 13:15:53 +02:00