Merge branch 'rw_van_230306' into 'master'
Improve dependencies on build tools See merge request redox-os/redox!1315
This commit is contained in:
commit
ade8e7085a
3
Makefile
3
Makefile
|
@ -54,6 +54,9 @@ repo: $(BUILD)/repo.tag
|
||||||
# Podman build recipes and vars
|
# Podman build recipes and vars
|
||||||
include mk/podman.mk
|
include mk/podman.mk
|
||||||
|
|
||||||
|
# Disk Imaging and Cookbook tools
|
||||||
|
include mk/fstools.mk
|
||||||
|
|
||||||
# Cross compiler recipes
|
# Cross compiler recipes
|
||||||
include mk/prefix.mk
|
include mk/prefix.mk
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,8 @@ INSTALLER+=--cookbook=cookbook
|
||||||
REPO_TAG=$(BUILD)/repo.tag
|
REPO_TAG=$(BUILD)/repo.tag
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
FSTOOLS_TAG=build/fstools.tag
|
||||||
|
|
||||||
## Cross compiler variables
|
## Cross compiler variables
|
||||||
AR=$(TARGET)-gcc-ar
|
AR=$(TARGET)-gcc-ar
|
||||||
AS=$(TARGET)-as
|
AS=$(TARGET)-as
|
||||||
|
|
13
mk/disk.mk
13
mk/disk.mk
|
@ -1,4 +1,4 @@
|
||||||
$(BUILD)/harddrive.img: $(REPO_TAG)
|
$(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG)
|
||||||
mkdir -p $(BUILD)
|
mkdir -p $(BUILD)
|
||||||
rm -rf $@ $@.partial
|
rm -rf $@ $@.partial
|
||||||
-$(FUMOUNT) /tmp/redox_installer || true
|
-$(FUMOUNT) /tmp/redox_installer || true
|
||||||
|
@ -6,7 +6,7 @@ $(BUILD)/harddrive.img: $(REPO_TAG)
|
||||||
$(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial
|
$(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial
|
||||||
mv $@.partial $@
|
mv $@.partial $@
|
||||||
|
|
||||||
$(BUILD)/livedisk.iso: $(REPO_TAG)
|
$(BUILD)/livedisk.iso: $(FSTOOLS_TAG) $(REPO_TAG)
|
||||||
mkdir -p $(BUILD)
|
mkdir -p $(BUILD)
|
||||||
rm -rf $@ $@.partial
|
rm -rf $@ $@.partial
|
||||||
-$(FUMOUNT) /tmp/redox_installer || true
|
-$(FUMOUNT) /tmp/redox_installer || true
|
||||||
|
@ -14,9 +14,8 @@ $(BUILD)/livedisk.iso: $(REPO_TAG)
|
||||||
$(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial
|
$(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial
|
||||||
mv $@.partial $@
|
mv $@.partial $@
|
||||||
|
|
||||||
$(BUILD)/filesystem.img: $(REPO_TAG)
|
$(BUILD)/filesystem.img: $(FSTOOLS_TAG) $(REPO_TAG)
|
||||||
mkdir -p $(BUILD)
|
mkdir -p $(BUILD)
|
||||||
$(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release
|
|
||||||
-$(FUMOUNT) $(BUILD)/filesystem/ || true
|
-$(FUMOUNT) $(BUILD)/filesystem/ || true
|
||||||
rm -rf $@ $@.partial $(BUILD)/filesystem/
|
rm -rf $@ $@.partial $(BUILD)/filesystem/
|
||||||
-$(FUMOUNT) /tmp/redox_installer || true
|
-$(FUMOUNT) /tmp/redox_installer || true
|
||||||
|
@ -32,16 +31,14 @@ $(BUILD)/filesystem.img: $(REPO_TAG)
|
||||||
rm -rf $(BUILD)/filesystem/
|
rm -rf $(BUILD)/filesystem/
|
||||||
mv $@.partial $@
|
mv $@.partial $@
|
||||||
|
|
||||||
mount: FORCE
|
mount: $(FSTOOLS_TAG) FORCE
|
||||||
mkdir -p $(BUILD)/filesystem/
|
mkdir -p $(BUILD)/filesystem/
|
||||||
$(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs
|
|
||||||
redoxfs/target/release/redoxfs $(BUILD)/harddrive.img $(BUILD)/filesystem/
|
redoxfs/target/release/redoxfs $(BUILD)/harddrive.img $(BUILD)/filesystem/
|
||||||
sleep 2
|
sleep 2
|
||||||
pgrep redoxfs
|
pgrep redoxfs
|
||||||
|
|
||||||
mount_extra: FORCE
|
mount_extra: $(FSTOOLS_TAG) FORCE
|
||||||
mkdir -p $(BUILD)/filesystem/
|
mkdir -p $(BUILD)/filesystem/
|
||||||
$(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs
|
|
||||||
redoxfs/target/release/redoxfs $(BUILD)/extra.img $(BUILD)/filesystem/
|
redoxfs/target/release/redoxfs $(BUILD)/extra.img $(BUILD)/filesystem/
|
||||||
sleep 2
|
sleep 2
|
||||||
pgrep redoxfs
|
pgrep redoxfs
|
||||||
|
|
21
mk/fstools.mk
Normal file
21
mk/fstools.mk
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
fstools: $(FSTOOLS_TAG)
|
||||||
|
|
||||||
|
$(FSTOOLS_TAG): cookbook installer redoxfs $(CONTAINER_TAG)
|
||||||
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
|
else
|
||||||
|
$(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release
|
||||||
|
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
|
||||||
|
$(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs
|
||||||
|
touch $@
|
||||||
|
endif
|
||||||
|
|
||||||
|
fstools_clean: FORCE $(CONTAINER_TAG)
|
||||||
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
|
else
|
||||||
|
$(HOST_CARGO) clean --manifest-path cookbook/Cargo.toml
|
||||||
|
$(HOST_CARGO) clean --manifest-path installer/Cargo.toml
|
||||||
|
$(HOST_CARGO) clean --manifest-path redoxfs/Cargo.toml
|
||||||
|
rm -f $(FSTOOLS_TAG)
|
||||||
|
endif
|
14
mk/repo.mk
14
mk/repo.mk
|
@ -1,9 +1,7 @@
|
||||||
$(BUILD)/fetch.tag: cookbook installer prefix $(FILESYSTEM_CONFIG) $(CONTAINER_TAG)
|
$(BUILD)/fetch.tag: prefix $(FSTOOLS_TAG) $(FILESYSTEM_CONFIG) $(CONTAINER_TAG)
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) $(MAKE) $@
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
else
|
else
|
||||||
$(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release
|
|
||||||
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
|
|
||||||
PACKAGES="$$($(INSTALLER) --list-packages -c $(FILESYSTEM_CONFIG))" && \
|
PACKAGES="$$($(INSTALLER) --list-packages -c $(FILESYSTEM_CONFIG))" && \
|
||||||
cd cookbook && \
|
cd cookbook && \
|
||||||
./fetch.sh "$${PACKAGES}"
|
./fetch.sh "$${PACKAGES}"
|
||||||
|
@ -11,12 +9,10 @@ else
|
||||||
touch $@
|
touch $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(BUILD)/repo.tag: $(BUILD)/fetch.tag $(CONTAINER_TAG)
|
$(BUILD)/repo.tag: $(BUILD)/fetch.tag $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) $(MAKE) $@
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
else
|
else
|
||||||
$(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release
|
|
||||||
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
|
|
||||||
export PATH="$(PREFIX_PATH):$$PATH" && \
|
export PATH="$(PREFIX_PATH):$$PATH" && \
|
||||||
PACKAGES="$$($(INSTALLER) --list-packages -c $(FILESYSTEM_CONFIG))" && \
|
PACKAGES="$$($(INSTALLER) --list-packages -c $(FILESYSTEM_CONFIG))" && \
|
||||||
cd cookbook && \
|
cd cookbook && \
|
||||||
|
@ -28,7 +24,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke clean.sh for a single target
|
# Invoke clean.sh for a single target
|
||||||
c.%: FORCE
|
c.%: $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) $(MAKE) $@
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
else
|
else
|
||||||
|
@ -38,7 +34,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke fetch.sh for a single target
|
# Invoke fetch.sh for a single target
|
||||||
f.%: FORCE
|
f.%: $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) $(MAKE) $@
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
else
|
else
|
||||||
|
@ -48,7 +44,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke repo.sh for a single target
|
# Invoke repo.sh for a single target
|
||||||
r.%: FORCE
|
r.%: $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) $(MAKE) $@
|
$(PODMAN_RUN) $(MAKE) $@
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue