## Find top of git repo
TOP ?= $(shell git rev-parse --show-toplevel)

include $(TOP)/Makefile.common
include $(BP_EXTERNAL_DIR)/Makefile.tools

.NOTPARALLEL:
.PHONY: update_submodules update_tests tools progs ucode
.DEFAULT: update_submodules

## This target updates submodules needed for building BlackParrot.
#  We only need to keep update basejump_stl up to date. The other submodules
#    are for building tools, which we should only need to do every so often

update_libs:
	cd $(TOP); git submodule update --init --recursive $(BP_EXTERNAL_DIR)/basejump_stl

update_tests:
	cd $(TOP); git submodule update --init --recursive $(BP_COMMON_DIR)/test

tidy_tools:
	cd $(TOP); git submodule deinit -f external/

bleach_all:
	cd $(TOP); git clean -fdx; git submodule deinit -f .

## This target fetches and builds all dependencies needed for running simulations
#    to test BlackParrot. By default, all tools are built but comment any tools that 
#    you already have a copy of. If your version of a tool significantly differs from 
#    our submodule version, use at your own risk.
#
tools: update_libs
	$(MAKE) gnu
	$(MAKE) systemc
	$(MAKE) verilator
	$(MAKE) spike
	$(MAKE) axe
	$(MAKE) dramsim2
	$(MAKE) cmurphi

progs: update_tests
	$(MAKE) -C $(BP_COMMON_DIR)/test all_mem all_dump

ucode:
	$(MAKE) -C $(BP_ME_DIR)/src/asm roms

