Build OpenEmber
OpenEmber uses Kconfig to produce build/.config, then scripts generate build/config.cmake for CMake. Linux with GCC/G++ is recommended; check the repo’s CMakeLists.txt for the minimum CMake version.
Prerequisites
- Linux
- CMake (see main repo)
- A toolchain and basic build tools
- Optional:
sudo apt install libssl-devfor some dependencies
kconfig-frontends can be downloaded automatically (e.g. kconfig-frontends-nox under .kconfig-frontends/) without root.
Recommended flow
From the openember repository root:
bash scripts/kconfig/menuconfig.sh build
# CI / no TTY:
# OPENEMBER_KCONFIG_NONINTERACTIVE=1 bash scripts/kconfig/menuconfig.sh build
bash scripts/kconfig/genconfig.sh build
cmake -S . -B build
cmake --build build -j"$(nproc)"
The top-level CMakeLists.txt includes config.cmake from the build directory when present.
Makefile helpers
make menuconfig
make genconfig
make update
make build
# or: make all
Using ember
./scripts/ember menuconfig
./scripts/ember genconfig
./scripts/ember update
./scripts/ember build
./scripts/ember build can bootstrap default .config / config.cmake when missing, then configure and compile.
Outputs
Binaries usually land under build/bin/ depending on enabled modules and examples.
Troubleshooting
- Missing
build/.config: runmenuconfig.shor non-interactive generation first. - Script permission issues: invoke with
bash scripts/...explicitly.
More detail: upstream build.md.