blob: 111b57c820ef795e2b5140d4a947a6f6cc5b8bab [file] [log] [blame]
## 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