# Build Kelvin ISS and artifacts.

KELVIN_SW_SRC_DIR := $(ROOTDIR)/sw/kelvin
KELVIN_SW_OUT_DIR := $(OUT)/kelvin/sw
KELVIN_SW_BAZEL_OUT_DIR := $(KELVIN_SW_OUT_DIR)/bazel_out
KELVIN_SW_TESTLOG_DIR := $(KELVIN_SW_OUT_DIR)/bazel_testlog

KELVIN_HW_SRC_DIR := $(ROOTDIR)/hw/kelvin
KELVIN_HW_OUT_DIR := $(OUT)/kelvin/hw
KELVIN_HW_BAZEL_OUT_DIR := $(KELVIN_HW_OUT_DIR)/bazel_out
KELVIN_HW_TESTLOG_DIR := $(KELVIN_HW_OUT_DIR)/bazel_testlog

KELVIN_SIM_SRC_DIR := $(ROOTDIR)/sim/kelvin
KELVIN_SIM_OUT_DIR := $(OUT)/kelvin/sim


$(KELVIN_SW_BAZEL_OUT_DIR):
	mkdir -p "$(KELVIN_SW_BAZEL_OUT_DIR)"

$(KELVIN_SW_TESTLOG_DIR):
	mkdir -p "$(KELVIN_SW_TESTLOG_DIR)"

## Build Kelvin SW artifacts
#
# Some of the artifacts are built with bazel, and need to be copied to out/
kelvin_sw: | $(KELVIN_SW_BAZEL_OUT_DIR)
	cd "$(KELVIN_SW_SRC_DIR)" && \
		bazel build //...
	cd "$(KELVIN_SW_SRC_DIR)/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
kelvin_sw_test: kelvin_sim | $(KELVIN_SW_TESTLOG_DIR)
	cd "$(KELVIN_SW_SRC_DIR)"; \
		bazel test --test_output=errors //... ; \
		cp -rf bazel-testlogs/tests "$(KELVIN_SW_TESTLOG_DIR)"

## Clean Kelvin SW artifacts
kelvin_sw_clean:
	rm -rf "$(KELVIN_SW_OUT_DIR)"
	cd "$(KELVIN_SW_SRC_DIR)" && bazel clean --expunge


$(KELVIN_HW_BAZEL_OUT_DIR):
	mkdir -p "$(KELVIN_HW_BAZEL_OUT_DIR)"

$(KELVIN_HW_TESTLOG_DIR):
	mkdir -p "$(KELVIN_HW_TESTLOG_DIR)"

## Verilog Source for Kelvin
kelvin_hw_verilog: | $(KELVIN_HW_OUT_DIR)
	cd "$(KELVIN_HW_SRC_DIR)" && \
		bazel build //hdl/chisel:kelvin_cc_library_emit_verilog && \
		cp bazel-bin/hdl/chisel/Kelvin.v "$(KELVIN_HW_BAZEL_OUT_DIR)"

## Verilated Kelvin HW simulator
kelvin_hw_sim: | $(KELVIN_HW_OUT_DIR)
	cd "$(KELVIN_HW_SRC_DIR)" && \
		bazel build //tests/verilator_sim:core_sim && \
		cp bazel-bin/tests/verilator_sim/core_sim "$(KELVIN_HW_BAZEL_OUT_DIR)"

## Tests for Kelvin HW
kelvin_hw_test: | $(KELVIN_HW_TESTLOG_DIR)
	cd "$(KELVIN_HW_SRC_DIR)"; \
		bazel test --test_output=errors //... ; \
		cp -rf bazel-testlogs/tests "$(KELVIN_HW_TESTLOG_DIR)"

## Clean Kelvin HW artifacts
kelvin_hw_clean:
	rm -rf "$(KELVIN_HW_OUT_DIR)"
	cd "$(KELVIN_HW_SRC_DIR)" && bazel clean --expunge


$(KELVIN_SIM_OUT_DIR):
	mkdir -p "$(KELVIN_SIM_OUT_DIR)"

## Build Kelvin ISS
#
# Build mpact-sim-based Kelvin ISS with bazel, and copy it to out/
# Use /tmp as the bazel tmpfs to unblock CI
kelvin_sim: | $(KELVIN_SIM_OUT_DIR)
	cd "$(KELVIN_SIM_SRC_DIR)" && \
		bazel build --sandbox_tmpfs_path=/tmp //sim:kelvin_sim
	cd "$(KELVIN_SIM_SRC_DIR)/bazel-bin" && \
		cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)"

## Clean Kelvin ISS
#
# Clean the Kelvin ISS
kelvin_sim_clean:
	cd "$(KELVIN_SIM_SRC_DIR)" && \
		bazel clean --expunge
	rm -rf $(KELVIN_SIM_OUT_DIR)

PHONY:: kelvin_hw_clean kelvin_hw_sim kelvin_hw_test kelvin_hw_verilog
PHONY:: kelvin_sw kelvin_sw_clean kelvin_sw_test
PHONY:: kelvin_sim kelvin_sim_clean
