aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2019-09-25 16:56:54 +0800
committerKito Cheng <kito.cheng@sifive.com>2019-09-25 16:56:54 +0800
commitef1dec8f2b3dc94e3d9392d0f358052934ea21e5 (patch)
tree552a9cbf16838ff02e49f2bee1522059ea7065e8 /Makefile.in
parentb781f4ab536746809a95d629b6f63b7f3ee4f3d7 (diff)
downloadriscv-gnu-toolchain-ef1dec8f2b3dc94e3d9392d0f358052934ea21e5.zip
riscv-gnu-toolchain-ef1dec8f2b3dc94e3d9392d0f358052934ea21e5.tar.gz
riscv-gnu-toolchain-ef1dec8f2b3dc94e3d9392d0f358052934ea21e5.tar.bz2
Check write permission to install path before build anything
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in17
1 files changed, 13 insertions, 4 deletions
diff --git a/Makefile.in b/Makefile.in
index 36b67e4..4f8d549 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -136,6 +136,15 @@ report-binutils: report-binutils-@default_target@
.PHONY: report-gdb
report-gdb: report-gdb-@default_target@
+stamps/check-write-permission:
+ mkdir -p $(INSTALL_DIR)/.test || \
+ (echo "Sorry, you don't have permission to write to" \
+ "'$(INSTALL_DIR)', use --prefix to specify" \
+ "another path, or use 'sudo make' if you *REALLY* want to" \
+ "install into '$(INSTALL_DIR)'" && exit 1)
+ rm $(INSTALL_DIR)/.test -r
+ mkdir -p $(dir $@) && touch $@
+
stamps/build-linux-headers:
mkdir -p $(SYSROOT)/usr/
cp -a $(srcdir)/linux-headers/include $(SYSROOT)/usr/
@@ -146,7 +155,7 @@ stamps/build-linux-headers:
# GLIBC
#
-stamps/build-binutils-linux: $(srcdir)/riscv-binutils
+stamps/build-binutils-linux: $(srcdir)/riscv-binutils stamps/check-write-permission
rm -rf $@ $(notdir $@)
mkdir $(notdir $@)
# CC_FOR_TARGET is required for the ld testsuite.
@@ -309,7 +318,7 @@ stamps/build-gcc-linux-stage2: $(srcdir)/riscv-gcc $(addprefix stamps/build-glib
cp -a $(INSTALL_DIR)/$(LINUX_TUPLE)/lib* $(SYSROOT)
mkdir -p $(dir $@) && touch $@
-stamps/build-binutils-linux-native: $(srcdir)/riscv-binutils stamps/build-gcc-linux-stage2
+stamps/build-binutils-linux-native: $(srcdir)/riscv-binutils stamps/build-gcc-linux-stage2 stamps/check-write-permission
rm -rf $@ $(notdir $@)
mkdir $(notdir $@)
cd $(notdir $@) && $</configure \
@@ -363,7 +372,7 @@ stamps/build-gcc-linux-native: $(srcdir)/riscv-gcc stamps/build-gcc-linux-stage2
# NEWLIB
#
-stamps/build-binutils-newlib: $(srcdir)/riscv-binutils
+stamps/build-binutils-newlib: $(srcdir)/riscv-binutils stamps/check-write-permission
rm -rf $@ $(notdir $@)
mkdir $(notdir $@)
# CC_FOR_TARGET is required for the ld testsuite.
@@ -536,7 +545,7 @@ stamps/build-gcc-newlib-stage2: $(srcdir)/riscv-gcc stamps/build-newlib \
# MUSL
#
-stamps/build-binutils-musl: $(srcdir)/riscv-binutils
+stamps/build-binutils-musl: $(srcdir)/riscv-binutils stamps/check-write-permission
rm -rf $@ $(notdir $@)
mkdir $(notdir $@)
# CC_FOR_TARGET is required for the ld testsuite.