From 233295bc178b5b1465eead86590def79e2bd2f7e Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jeremy@system76.com>
Date: Fri, 17 Aug 2018 18:47:48 -0600
Subject: [PATCH] Specify prefix as a dependency

---
 Makefile         | 2 +-
 mk/filesystem.mk | 3 ++-
 mk/initfs.mk     | 6 ++++--
 mk/prefix.mk     | 6 ++++--
 4 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 3ab87dbd0..5c99b62e5 100644
--- a/Makefile
+++ b/Makefile
@@ -41,7 +41,7 @@ fetch:
 		"$$(cargo run --manifest-path ../installer/Cargo.toml -- --list-packages -c ../filesystem.toml)"
 
 # Cross compiler recipes
-include mk/cross.mk
+include mk/prefix.mk
 
 # Kernel recipes
 include mk/kernel.mk
diff --git a/mk/filesystem.mk b/mk/filesystem.mk
index 8f19f17aa..9281e9f11 100644
--- a/mk/filesystem.mk
+++ b/mk/filesystem.mk
@@ -1,4 +1,4 @@
-build/filesystem.bin: filesystem.toml build/bootloader build/kernel
+build/filesystem.bin: filesystem.toml build/bootloader build/kernel prefix
 	-$(FUMOUNT) build/filesystem/ || true
 	rm -rf $@  $@.partial build/filesystem/
 	dd if=/dev/zero of=$@.partial bs=1048576 count=256
@@ -9,6 +9,7 @@ build/filesystem.bin: filesystem.toml build/bootloader build/kernel
 	sleep 2
 	pgrep redoxfs
 	cp filesystem.toml build/bootloader build/kernel build/filesystem/
+	export PATH="$(PREFIX_PATH):$$PATH" && \
 	cargo run --manifest-path installer/Cargo.toml --release -- $(INSTALLER_FLAGS) -c $< build/filesystem/
 	chown -R 0:0 build/filesystem
 	chown -R 1000:1000 build/filesystem/home/user
diff --git a/mk/initfs.mk b/mk/initfs.mk
index 8c76dc2b2..16790db73 100644
--- a/mk/initfs.mk
+++ b/mk/initfs.mk
@@ -1,13 +1,15 @@
-build/initfs.tag: initfs.toml
+build/initfs.tag: initfs.toml prefix
 	cd kernel && xargo clean
 	rm -rf build/initfs
 	mkdir -p build/initfs
+	export PATH="$(PREFIX_PATH):$$PATH" && \
 	cargo run --manifest-path installer/Cargo.toml -- $(INSTALLER_FLAGS) -c $< build/initfs/
 	touch $@
 
-build/initfs_live.tag: initfs_live.toml
+build/initfs_live.tag: initfs_live.toml prefix
 	cd kernel && xargo clean
 	rm -rf build/initfs_live
 	mkdir -p build/initfs_live
+	export PATH="$(PREFIX_PATH):$$PATH" && \
 	cargo run --manifest-path installer/Cargo.toml -- $(INSTALLER_FLAGS) -c $< build/initfs_live/
 	touch $@
diff --git a/mk/prefix.mk b/mk/prefix.mk
index 80ccc7034..3384110c9 100644
--- a/mk/prefix.mk
+++ b/mk/prefix.mk
@@ -15,6 +15,7 @@ $(PREFIX)/binutils: $(PREFIX)/binutils.tar.bz2
 	mkdir -p "$@.partial"
 	tar --extract --file "$<" --directory "$@.partial" --strip-components=1
 	mv "$@.partial" "$@"
+	touch "$@"
 
 $(PREFIX)/binutils-install: $(PREFIX)/binutils
 	rm -rf "$<-build" "$@"
@@ -28,13 +29,14 @@ $(PREFIX)/binutils-install: $(PREFIX)/binutils
 $(PREFIX)/gcc.tar.bz2:
 	mkdir -p "$(@D)"
 	wget -O $@.partial "https://gitlab.redox-os.org/redox-os/gcc/-/archive/redox/gcc-redox.tar.bz2"
-	mv $@.partial $@
+	mv "$@.partial" "$@"
 
 $(PREFIX)/gcc: $(PREFIX)/gcc.tar.bz2
 	mkdir -p "$@.partial"
 	tar --extract --file "$<" --directory "$@.partial" --strip-components=1
 	cd "$@.partial" && ./contrib/download_prerequisites
 	mv "$@.partial" "$@"
+	touch "$@"
 
 $(PREFIX)/gcc-freestanding-install: $(PREFIX)/gcc
 	rm -rf "$<-freestanding-build" "$@"
@@ -58,7 +60,7 @@ $(PREFIX)/relibc-install: $(PREFIX)/binutils-install $(PREFIX)/gcc-freestanding-
 	make DESTDIR="$@/usr" install
 	touch "$@"
 
-$(PREFIX)/gcc-install: $(PREFIX)/gcc $(PREFIX)/relibc-install
+$(PREFIX)/gcc-install: $(PREFIX)/gcc | $(PREFIX)/relibc-install
 	rm -rf "$<-build" "$@"
 	mkdir -p "$<-build" "$@"
 	cd "$<-build" && \
-- 
GitLab