From 6df94dde59f9565d1359bfaf81b2de882b4d48c6 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Sat, 26 Mar 2022 20:47:49 +0100 Subject: [PATCH] Do not rebuild kernel when initfs changes --- mk/filesystem.mk | 3 ++- mk/initfs.mk | 5 ++--- mk/kernel.mk | 3 +-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/mk/filesystem.mk b/mk/filesystem.mk index 5fab8d3..d2d2667 100644 --- a/mk/filesystem.mk +++ b/mk/filesystem.mk @@ -1,4 +1,4 @@ -build/filesystem.bin: filesystem.toml build/bootloader.bin build/kernel prefix +build/filesystem.bin: filesystem.toml build/bootloader.bin build/kernel prefix build/initfs.img cargo build --manifest-path cookbook/Cargo.toml --release cargo build --manifest-path installer/Cargo.toml --release cargo build --manifest-path redoxfs/Cargo.toml --release @@ -21,6 +21,7 @@ build/filesystem.bin: filesystem.toml build/bootloader.bin build/kernel prefix #TODO cp -r $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/include build/filesystem/include #TODO cp -r $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib build/filesystem/lib $(INSTALLER) -c $< build/filesystem/ + cp build/initfs.img build/filesystem/initfs sync -$(FUMOUNT) build/filesystem/ || true rm -rf build/filesystem/ diff --git a/mk/initfs.mk b/mk/initfs.mk index 3186a07..88ec65c 100644 --- a/mk/initfs.mk +++ b/mk/initfs.mk @@ -14,10 +14,9 @@ INITFS_RM_BINS=\ vboxd \ xhcid -build/initfs.tag: initfs.toml prefix +build/initfs.img: initfs.toml prefix cargo build --manifest-path cookbook/Cargo.toml --release cargo build --manifest-path installer/Cargo.toml --release - rm -f build/libkernel.a rm -rf build/initfs mkdir -p build/initfs $(INSTALLER) -c $< build/initfs/ @@ -26,4 +25,4 @@ build/initfs.tag: initfs.toml prefix for bin in $(INITFS_RM_BINS); do \ rm -f build/initfs/bin/$$bin; \ done - touch $@ + cargo run --manifest-path redox-initfs/tools/Cargo.toml --bin redox-initfs-ar -- build/initfs -o $@ diff --git a/mk/kernel.mk b/mk/kernel.mk index b3045e8..68ce69f 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -1,6 +1,5 @@ -build/libkernel.a: kernel/Cargo.lock kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* kernel/src/*/*/*/* build/initfs.tag +build/libkernel.a: kernel/Cargo.lock kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* kernel/src/*/*/*/* export PATH="$(PREFIX_PATH):$$PATH" && \ - export INITFS_FOLDER=$(ROOT)/build/initfs && \ cd kernel && \ cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@