Zmake

Usage

Usage: zmake [-h] [--checkout CHECKOUT] [-j JOBS] [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL} | -D] [-L] [--log-label] [--modules-dir MODULES_DIR] [--projects-dir PROJECTS_DIR] [--zephyr-base ZEPHYR_BASE] subcommand ...

Chromium OS's meta-build tool for Zephyr

Positional Arguments

subcommandSubcommand to run

Options

-h, --helpshow this help message and exit
--checkout CHECKOUTPath to ChromiumOS checkout
-j JOBS, --jobs JOBSDegree of multiprogramming to use
-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}Set the logging level (default=INFO)
-D, --debugAlias for --log-level=DEBUG
-L, --no-log-labelTurn off logging labels
--log-labelTurn on logging labels
--modules-dir MODULES_DIRThe path to a directory containing all modules needed. If unspecified, zmake will assume you have a Chrome OS checkout and try locating them in the checkout.
--projects-dir PROJECTS_DIRBase directory to search for BUILD.py files. Can be repeated.
--zephyr-base ZEPHYR_BASEPath to Zephyr OS repository

Subcommands

zmake configure

Usage: zmake configure [-h] [--bringup] [--clobber] [-v VERSION] [--static] [--save-temps] [--allow-warnings] [--cmake-trace] [-B BUILD_DIR] [-c] [--delete-intermediates] [-D CMAKE_DEFS] [-t TOOLCHAIN] [--extra-cflags EXTRA_CFLAGS] (-a | project_name ...)

Positional Arguments

project_nameName(s) of the project(s) to build, Unix-style wildcard expressions to select multiple projects (e.g. brox-*), or program directory names prefixed with ‘%’ (e.g. %nissa)

Options

-h, --helpshow this help message and exit
--bringupEnable bringup debugging features
--clobberDelete existing build directories, even if configuration is unchanged
-v VERSION, --version VERSIONBase version string to use in build
--staticGenerate static version information for reproducible builds and official builds
--save-tempsSave the temporary files containing preprocessor output
--allow-warningsDo not treat warnings as errors
--cmake-traceNone
-B BUILD_DIR, --build-dir BUILD_DIRRoot build directory, project files will be in ${build_dir}/${project_name}
-c, --coverageEnable CONFIG_COVERAGE Kconfig.
--delete-intermediatesDelete intermediate files to save disk space
-D CMAKE_DEFS, --cmake-define CMAKE_DEFSNone
-t TOOLCHAIN, --toolchain TOOLCHAINName of toolchain to use
--extra-cflags EXTRA_CFLAGSAdditional CFLAGS to use for target builds
-a, --allSelect all projects

zmake build

Usage: zmake build [-h] [--bringup] [--clobber] [-v VERSION] [--static] [--save-temps] [--allow-warnings] [--cmake-trace] [-B BUILD_DIR] [-c] [--delete-intermediates] [-D CMAKE_DEFS] [-t TOOLCHAIN] [--extra-cflags EXTRA_CFLAGS] (-a | project_name ...)

Positional Arguments

project_nameName(s) of the project(s) to build, Unix-style wildcard expressions to select multiple projects (e.g. brox-*), or program directory names prefixed with ‘%’ (e.g. %nissa)

Options

-h, --helpshow this help message and exit
--bringupEnable bringup debugging features
--clobberDelete existing build directories, even if configuration is unchanged
-v VERSION, --version VERSIONBase version string to use in build
--staticGenerate static version information for reproducible builds and official builds
--save-tempsSave the temporary files containing preprocessor output
--allow-warningsDo not treat warnings as errors
--cmake-traceNone
-B BUILD_DIR, --build-dir BUILD_DIRRoot build directory, project files will be in ${build_dir}/${project_name}
-c, --coverageEnable CONFIG_COVERAGE Kconfig.
--delete-intermediatesDelete intermediate files to save disk space
-D CMAKE_DEFS, --cmake-define CMAKE_DEFSNone
-t TOOLCHAIN, --toolchain TOOLCHAINName of toolchain to use
--extra-cflags EXTRA_CFLAGSAdditional CFLAGS to use for target builds
-a, --allSelect all projects

zmake compare-builds

Usage: zmake compare-builds [-h] [--ref1 REF1] [--ref2 REF2] [-k] [-n] [-b] [-d] [-t TOOLCHAIN] [--extra-cflags EXTRA_CFLAGS] (-a | project_name ...)

Positional Arguments

project_nameName(s) of the project(s) to build, Unix-style wildcard expressions to select multiple projects (e.g. brox-*), or program directory names prefixed with ‘%’ (e.g. %nissa)

Options

-h, --helpshow this help message and exit
--ref1 REF11st git reference (commit, branch, etc), default=HEAD
--ref2 REF22nd git reference (commit, branch, etc), default=HEAD~. If ref2==ref1 then only one checkout is performed and the firmware binary comparison is skipped.
-k, --keep-tempsKeep temporary build directories on exit
-n, --compare-configsCompare configs of build outputs
-b, --compare-binaries-disableDon't compare binaries of build outputs
-d, --compare-devicetreesCompare devicetrees of build outputs
-t TOOLCHAIN, --toolchain TOOLCHAINName of toolchain to use
--extra-cflags EXTRA_CFLAGSAdditional CFLAGS to use for target builds
-a, --allSelect all projects

zmake list-projects

Usage: zmake list-projects [-h] [--format FMT] [project_name ...]

Positional Arguments

project_nameName(s) of the project(s) to list, Unix-style wildcard expressions to select multiple projects (e.g. brox-*), or program directory names prefixed with ‘%’ (e.g. %nissa)

Options

-h, --helpshow this help message and exit
--format FMTOutput format to print projects (str.format(config=project.config) is called on this for each project).

zmake generate-readme

Usage: zmake generate-readme [-h] [-o OUTPUT_FILE] [--diff]

Options

-h, --helpshow this help message and exit
-o OUTPUT_FILE, --output-file OUTPUT_FILEFile to write to. It will only be written if changed.
--diffIf specified, diff the README with the expected contents instead of writing out.