blob: 3c8d1f92f0de678abacc05f61d565a6b1ee08875 [file] [log] [blame]
0. ENVIRONMENT SETUP (Common ANDROID and NON-ANDROID builds)
# Create Android lunch shell and add external toolchain
bash
. build/envsetup.sh
. device/google/contexthub/firmware/toolchain-setup.sh
lunch <your lunch option>
# First time you run toolchain-setup.sh it will download and install
# the external toolchain from linaro launchpad.
# Next time it will simply define environment variables for it.
1. NON-ANDROID BUILD (unsupported)
1.1. to build any OS variant, run
make -C <variant_path>
# where <variant_path> is relative path to OS variant dir;
# or simply "cd <variant_path>" and run "make".
# for local variants, variant_path is variant/<variant_name>
1.2. to build nanoapp, run
make -C <nanapp_path>
# where <nanoapp_path> is relative path to nanoapp;
# or simply "cd <nanoapp_path>" and run "make".
# for local nanoapps, nanoapp_path is app/<app_name>
2. ANDROID BUILD
2.1 to build nanohub OS and all apps
# execute
make auxiliary -j24
2.2 Build Artifacts Location
# Artifacts will be found in
# $OUT/aux/$(AUX_OS_VARIANT)/$(AUX_OS)-$(AUX_ARCH)-$(AUX_CPU)/bin
# e.g. for nanohub OS on STM32 series MCU (ARM cortex m4 core) for Angler this will be in
# $OUT/aux/angler/nanohub-stm32-cortexm4/bin
# where $OUT is lunch shell environment variable
2.3 partial build or build without dependencies
# Any app or static library could be built in isolation with
mmm <path-to-module>
# or, for current path
mm
# Nanohub OS system image is only built with
m auxiliary