Add kelvin_hello_world target Change-Id: I09950fd62b3bfd856139489d341712318e78ee68
diff --git a/platforms/nexus/cantrip_builtins.mk b/platforms/nexus/cantrip_builtins.mk index 7ecbebf..b16954a 100644 --- a/platforms/nexus/cantrip_builtins.mk +++ b/platforms/nexus/cantrip_builtins.mk
@@ -36,5 +36,5 @@ CANTRIP_SCRIPTS := $(ROOTDIR)/build/platforms/$(PLATFORM)/builtins.repl -$(patsubst %.kelvin,%.elf,$(CANTRIP_MODEL_RELEASE)): kelvin_sw +$(patsubst %.kelvin,%.elf,$(CANTRIP_MODEL_RELEASE)): kelvin_hello_world $(CANTRIP_MODEL_DEBUG): iree_model_builtins
diff --git a/platforms/nexus/kelvin.mk b/platforms/nexus/kelvin.mk index 9c7036a..ca85dc3 100644 --- a/platforms/nexus/kelvin.mk +++ b/platforms/nexus/kelvin.mk
@@ -27,6 +27,18 @@ -wholename "*ST-*/*.bin" \) \ -exec cp -f {} "$(KELVIN_SW_BAZEL_OUT_DIR)/" \; +## Build Kelvin hello_world artifacts +# +# Used as the simplest Kelvin SW that has all the syntax CantripOS expects +kelvin_hello_world: | $(KELVIN_SW_BAZEL_OUT_DIR) + cd "$(KELVIN_SW_SRC_DIR)" && \ + bazel build //examples/hello_world:all; \ + cd bazel-out ; find . -type f \( \ + -wholename "*ST-*/*.elf" -o \ + -wholename "*ST-*/*.bin" \) \ + -exec cp -f {} "$(KELVIN_SW_BAZEL_OUT_DIR)/" \; + + ## Test Kelvin SW artifacts # # Test Kelvin SW artifacts with kelvin ISS simulation @@ -62,5 +74,5 @@ bazel clean --expunge rm -rf $(KELVIN_SIM_OUT_DIR) -PHONY:: kelvin_sw kelvin_sw_clean kelvin_sw_test +PHONY:: kelvin_sw kelvin_sw_clean kelvin_sw_test kelvin_hello_world PHONY:: kelvin_sim kelvin_sim_clean
diff --git a/platforms/nexus/sim.mk b/platforms/nexus/sim.mk index a339533..38a7c74 100644 --- a/platforms/nexus/sim.mk +++ b/platforms/nexus/sim.mk
@@ -76,7 +76,7 @@ # # This is the default target for the build system, and is generally what you # need for day-to-day work on the software side of Shodan. -simulate: renode multihart_boot_rom ext_flash_release iree_model_builtins cantrip-builtins-release +simulate: renode multihart_boot_rom ext_flash_release kelvin_hello_world cantrip-builtins-release $(RENODE_CMD) -e "\ \$$repl_file = @sim/config/platforms/nexus.repl; \ \$$tar = @$(EXT_FLASH_RELEASE); \