1 0. ENVIRONMENT SETUP (Common ANDROID and NON-ANDROID builds) 2 3 # Create Android lunch shell and add external toolchain 4 5 bash 6 . build/envsetup.sh 7 . device/google/contexthub/firmware/toolchain-setup.sh 8 lunch <your lunch option> 9 10 # First time you run toolchain-setup.sh it will download and install 11 # the external toolchain from linaro launchpad. 12 # Next time it will simply define environment variables for it. 13 14 15 1. NON-ANDROID BUILD (unsupported) 16 17 1.1. to build any OS variant, run 18 19 make -C <variant_path> 20 21 # where <variant_path> is relative path to OS variant dir; 22 # or simply "cd <variant_path>" and run "make". 23 # for local variants, variant_path is variant/<variant_name> 24 25 1.2. to build nanoapp, run 26 27 make -C <nanapp_path> 28 29 # where <nanoapp_path> is relative path to nanoapp; 30 # or simply "cd <nanoapp_path>" and run "make". 31 # for local nanoapps, nanoapp_path is app/<app_name> 32 33 34 2. ANDROID BUILD 35 36 2.1 to build nanohub OS and all apps 37 38 # execute 39 make auxiliary -j24 40 41 2.2 Build Artifacts Location 42 43 # Artifacts will be found in 44 # $OUT/aux/$(AUX_OS_VARIANT)/$(AUX_OS)-$(AUX_ARCH)-$(AUX_CPU)/bin 45 # e.g. for nanohub OS on STM32 series MCU (ARM cortex m4 core) for Angler this will be in 46 # $OUT/aux/angler/nanohub-stm32-cortexm4/bin 47 # where $OUT is lunch shell environment variable 48 49 2.3 partial build or build without dependencies 50 51 # Any app or static library could be built in isolation with 52 mmm <path-to-module> 53 54 # or, for current path 55 mm 56 57 # Nanohub OS system image is only built with 58 m auxiliary 59