2023-08-01 07:36:45 +00:00
|
|
|
.PHONY: all build clean docs fmt run setup test tools syscall_test syscall_bin
|
2022-08-08 22:43:47 +00:00
|
|
|
|
2023-04-10 03:12:42 +00:00
|
|
|
all: build
|
2022-08-08 22:43:47 +00:00
|
|
|
|
2022-08-17 03:22:49 +00:00
|
|
|
setup:
|
|
|
|
|
@rustup component add rust-src
|
2023-02-07 08:05:21 +00:00
|
|
|
@rustup component add rustc-dev
|
2022-08-17 03:22:49 +00:00
|
|
|
@rustup component add llvm-tools-preview
|
|
|
|
|
@cargo install mdbook
|
|
|
|
|
|
2022-08-08 22:43:47 +00:00
|
|
|
build:
|
2023-05-29 05:29:53 +00:00
|
|
|
@make --no-print-directory -C regression
|
2023-04-10 03:12:42 +00:00
|
|
|
@cargo kbuild
|
2022-08-17 03:22:49 +00:00
|
|
|
|
2023-02-07 08:05:21 +00:00
|
|
|
tools:
|
2023-04-10 03:12:42 +00:00
|
|
|
@cd services/libs/comp-sys && cargo install --path cargo-component
|
2023-02-07 08:05:21 +00:00
|
|
|
|
2023-08-01 08:17:04 +00:00
|
|
|
# FIXME: Exit code manipulation is not needed using non-x86 QEMU
|
2022-08-17 03:22:49 +00:00
|
|
|
run: build
|
2023-08-01 08:17:04 +00:00
|
|
|
ifneq ($(ENABLE_KVM), false)
|
|
|
|
|
cargo krun --enable-kvm || exit $$(($$? >> 1))
|
|
|
|
|
else
|
|
|
|
|
cargo krun || exit $$(($$? >> 1))
|
|
|
|
|
endif
|
2023-08-01 07:36:45 +00:00
|
|
|
|
|
|
|
|
syscall_bin:
|
|
|
|
|
@make --no-print-directory -C regression/syscall_test
|
2022-08-08 22:43:47 +00:00
|
|
|
|
2023-07-26 07:36:40 +00:00
|
|
|
# Test Jinux in a QEMU guest VM and run a series of evaluations.
|
2023-08-01 07:36:45 +00:00
|
|
|
syscall_test: syscall_bin build
|
2023-08-01 08:17:04 +00:00
|
|
|
ifneq ($(ENABLE_KVM), false)
|
|
|
|
|
@cargo ksctest --enable-kvm || exit $$(($$? >> 1))
|
|
|
|
|
else
|
|
|
|
|
@cargo ksctest || exit $$(($$? >> 1))
|
|
|
|
|
endif
|
2023-07-26 07:36:40 +00:00
|
|
|
|
|
|
|
|
# The usermode cargo test of Jinux frame and Jinux standard library.
|
2022-08-08 22:43:47 +00:00
|
|
|
test: build
|
2023-04-10 03:12:42 +00:00
|
|
|
@cargo ktest
|
2022-08-08 22:43:47 +00:00
|
|
|
|
|
|
|
|
docs:
|
2023-04-10 03:12:42 +00:00
|
|
|
@cargo doc # Build Rust docs
|
2022-08-08 22:43:47 +00:00
|
|
|
@echo "" # Add a blank line
|
2022-08-08 23:02:55 +00:00
|
|
|
@cd docs && mdbook build # Build mdBook
|
2022-08-08 22:43:47 +00:00
|
|
|
|
2022-08-08 23:02:55 +00:00
|
|
|
check:
|
2023-04-10 03:12:42 +00:00
|
|
|
@cargo fmt --check # Check Rust format issues
|
2023-08-02 02:12:43 +00:00
|
|
|
@cargo kclippy # Check common programming mistakes
|
2022-08-08 22:43:47 +00:00
|
|
|
|
|
|
|
|
clean:
|
2023-04-10 03:12:42 +00:00
|
|
|
@cargo clean
|
2022-08-17 03:22:49 +00:00
|
|
|
@cd docs && mdbook clean
|
2023-05-29 05:29:53 +00:00
|
|
|
@make --no-print-directory -C regression clean
|