51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
|
#***************************************************************************************
|
||
|
# Copyright (c) 2014-2022 Zihao Yu, Nanjing University
|
||
|
#
|
||
|
# NEMU is licensed under Mulan PSL v2.
|
||
|
# You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||
|
# You may obtain a copy of Mulan PSL v2 at:
|
||
|
# http://license.coscl.org.cn/MulanPSL2
|
||
|
#
|
||
|
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||
|
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||
|
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||
|
#
|
||
|
# See the Mulan PSL v2 for more details.
|
||
|
#**************************************************************************************/
|
||
|
|
||
|
-include $(NEMU_HOME)/../Makefile
|
||
|
include $(NEMU_HOME)/scripts/build.mk
|
||
|
|
||
|
include $(NEMU_HOME)/tools/difftest.mk
|
||
|
|
||
|
compile_git:
|
||
|
$(call git_commit, "compile NEMU")
|
||
|
$(BINARY):: compile_git
|
||
|
|
||
|
# Some convenient rules
|
||
|
|
||
|
override ARGS ?= --log=$(BUILD_DIR)/nemu-log.txt
|
||
|
override ARGS += $(ARGS_DIFF)
|
||
|
|
||
|
# Command to execute NEMU
|
||
|
IMG ?=
|
||
|
NEMU_EXEC := $(BINARY) $(ARGS) $(IMG)
|
||
|
|
||
|
run-env: $(BINARY) $(DIFF_REF_SO)
|
||
|
|
||
|
run: run-env
|
||
|
$(call git_commit, "run NEMU")
|
||
|
$(NEMU_EXEC)
|
||
|
|
||
|
gdb: run-env
|
||
|
$(call git_commit, "gdb NEMU")
|
||
|
gdb -s $(BINARY) --args $(NEMU_EXEC)
|
||
|
|
||
|
clean-tools = $(dir $(shell find ./tools -maxdepth 2 -mindepth 2 -name "Makefile"))
|
||
|
$(clean-tools):
|
||
|
-@$(MAKE) -s -C $@ clean
|
||
|
clean-tools: $(clean-tools)
|
||
|
clean-all: clean distclean clean-tools
|
||
|
|
||
|
.PHONY: run gdb run-env clean-tools clean-all $(clean-tools)
|