Manufacture du Son
On this page

Make Targets

Reference for every target exposed by the top-level Makefile

Edit on GitHub

Make Targets

The top-level Makefile is a thin wrapper around Buildroot. All targets accept the CONTAINER=1 switch to run inside the Docker image instead of natively.

Variables

VariableDefaultDescription
MACHINEnetwork_playerSelects the defconfig at buildroot_config/mds_${MACHINE}_defconfig
BUILDROOT_VERSION2026.02.1Cloned from the official Buildroot Git repository
CONTAINER0If 1, every build command runs inside Docker
CONTAINER_ENGINEdockerOverride to podman, etc.
WORKSPACEcurrent directoryUsed to anchor build/ and mds_external/
OUTPUT_DIRbuild/output/${MACHINE}Buildroot O= directory
EXTERNAL_REPOSITORIESmds_externalPassed as BR2_EXTERNAL= to Buildroot

A small user.env file at the repo root is auto-included to pin these.

Top-level targets

make build

Default target. Downloads Buildroot if needed, copies the selected defconfig, configures Buildroot, then runs the build.

make build                                # network_player
make build MACHINE=mds_network_player_fota
make build MACHINE=mds_network_player_bootstrap
make build CONTAINER=1

make build-<package>

Runs make <package> inside the Buildroot output directory. Useful to rebuild a single package without going through the whole tree.

Examples:

make build-linux-rebuild     # rebuild the kernel
make build-uboot-rebuild     # rebuild U-Boot
make build-linux-menuconfig  # interactive kernel config

make config

(Re)generates the Buildroot configuration from the defconfig. Run this once if you change anything under buildroot_config/ or mds_external/.

make menuconfig

Opens Buildroot's menuconfig. On exit, it runs savedefconfig and copies the result back into buildroot_config/mds_${MACHINE}_defconfig, so any change you make through the UI is captured in version control.

make sdk

Builds a relocatable SDK tarball under build/output/${MACHINE}/images/. The SDK is named:

sdk-mds-${MACHINE}-$(git describe --tags --dirty --always)

Use it to cross-compile out-of-tree code against the exact toolchain that produced the firmware.

make clean / make clean-all

  • clean removes the output directory for the current MACHINE (build/output/<machine>).
  • clean-all wipes every build/output/* directory.

The Buildroot download cache and downloaded sources are preserved.

Container helpers

TargetEffect
container-imageBuild the Docker image mds_builder_image:latest
containter-shellDrop into an interactive shell inside the container
container-rmRemove the Docker image

Bootstrap helper

make bootstrap

…runs bootstrap.sh, which uses sunxi-fel to load the bootstrap image into RAM over USB. See Bootstrap for the end-to-end flow.

Help

make help prints the same table generated from the ## comments in the Makefile.