This adds command completion that, when manually installed, provides
RIOT-aware command completion for `make` in zsh. The completion
supports:
- most commonly used `make` goals including a help text
- most commonly used `make` variables (such as `BOARD=`, `LTO=`,
`BUILD_IN_DOCKER=`, `TOOLCHAIN=`)
- possible values for these variables, including a list of boards
detected at runtime to complete `BOARD=`
Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
- Replace all users of `$(RIOTBASE)/build` with the already present
`$(BUILD_DIR)` variable
- Replace all users of `$(BUILD_DIR)/pkg` with the already present
`$(PKGDIRBASE)` variable
- Create a `CACHEDIR.TAG` file in the `$(BUILD_DIR)`
- Provide a new tool to list and filter TTYs
- Change `Makefile.include` to use `$(RIOTTOOLS)/usb-serial/ttys.py`
instead of `$(Q)$(RIOTTOOLS)/usb-serial/list-ttys.sh` to implement
`make list-ttys`
- Extend `makefiles/tools/serial.inc.mk` to allow using the most recent
port by passing `MOST_RECENT_PORT=1` as environment variable or
parameter to make
Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
This extends the 'Advanced build system tricks' section with a make
script to select the board debugger and serial based on the USB serial
number as reported by the device. This solution is different from the
udev-rule solution as it doesn't require administrative permissions.
Add a documentation page for advanced low level tricks.
Document the `RIOT_MAKEFILES_GLOBAL_PRE` and
`RIOT_MAKEFILES_GLOBAL_POST`.
I could not work around to have `$(RIOTBASE)/Makefile.include` in the
doc as the `$()` part was removed, so I kept with `$RIOTBASE` for now.