| #################################################################################################### |
| ## Copyright lowRISC contributors. ## |
| ## Licensed under the Apache License, Version 2.0, see LICENSE for details. ## |
| ## SPDX-License-Identifier: Apache-2.0 ## |
| #################################################################################################### |
| .DEFAULLT_GOAL := all |
| |
| all: build run |
| |
| ######################## |
| ## RAL target ## |
| ######################## |
| ral: |
| ifneq (${skip_gen_ral_pkg},1) |
| mkdir -p ${gen_ral_pkg_dir} && \ |
| ${gen_ral_pkg_cmd} ${gen_ral_pkg_opts} |
| endif |
| |
| |
| ############################### |
| ## sim build and run targets ## |
| ############################### |
| build: compile_result |
| |
| pre_compile: |
| @echo "[make]: pre_compile" |
| mkdir -p ${build_dir} && env > ${build_dir}/env_vars |
| |
| gen_sv_flist: pre_compile ral |
| @echo "[make]: gen_sv_flist" |
| cd ${build_dir} && ${sv_flist_gen_cmd} ${sv_flist_gen_opts} |
| |
| compile: gen_sv_flist |
| @echo "[make]: compile" |
| cd ${sv_flist_gen_dir} && ${build_cmd} ${build_opts} |
| |
| post_compile: compile |
| @echo "[make]: post_compile" |
| |
| compile_result: post_compile |
| @echo "[make]: compile_result" |
| |
| run: run_result |
| |
| pre_run: |
| @echo "[make]: pre_run" |
| mkdir -p ${run_dir} && env > ${run_dir}/env_vars |
| |
| sw_build: pre_run |
| @echo "[make]: sw_build" |
| ifneq (${sw_name},) |
| $(error "sw_build target is not supported yet") |
| endif |
| |
| simulate: sw_build |
| @echo "[make]: simulate" |
| cd ${run_dir} && ${run_cmd} ${run_opts} |
| |
| post_run: simulate |
| @echo "[make]: post_run" |
| |
| run_result: post_run |
| @echo "[make]: run_result" |
| |
| ####################### |
| ## Load waves target ## |
| ####################### |
| debug_waves: |
| ${debug_waves_cmd} ${debug_waves_opts} |
| |
| ############################ |
| ## coverage rated targets ## |
| ############################ |
| cov_merge: |
| # TODO: add script to merge coverage in scratch scope |
| |
| # open coverage tool to review and create report or exclusion file |
| cov_analyze: |
| cd ${scratch_path} && ${cov_analyze_cmd} ${cov_analyze_opts} |
| |
| # generate coverage report directly |
| cov_report: |
| cd ${scratch_path} && ${cov_report} ${cov_report_opts} |
| |
| clean: |
| echo "[make]: clean" |
| rm -rf ${scratch_root}/${dut}/* |
| |
| .PHONY: build \ |
| run \ |
| reg \ |
| pre_compile \ |
| compile \ |
| post_compile \ |
| compile_result \ |
| pre_run \ |
| simulate \ |
| post_run \ |
| run_result |