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); \