summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild.sh6
-rwxr-xr-xinstall.sh41
2 files changed, 35 insertions, 12 deletions
diff --git a/build.sh b/build.sh
index 63a5d32..98f6249 100755
--- a/build.sh
+++ b/build.sh
@@ -3,6 +3,12 @@ set -e
CCOPT=
CXXOPT=
+# error if devkitarm is not installed and binutils-arm-none-eabi is not installed
+if ! ([ -v DEVKITARM ] && [ -d "$DEVKITARM/bin" ]) && ! (command -v arm-none-eabi-as &> /dev/null && command -v arm-none-eabi-ar &> /dev/null) ; then
+ echo "Could not find a binutils installation! Re-read the instructions and make sure you've installed either devkitARM or binutils-arm-none-eabi, depending on your system."
+ exit 1
+fi
+
if [ ! -z "$CC" ]; then CCOPT=CC=$CC; fi
if [ ! -z "$CXX" ]; then CXXOPT=CXX=$CXX; fi
make -C gcc clean
diff --git a/install.sh b/install.sh
index 608d82d..637a21d 100755
--- a/install.sh
+++ b/install.sh
@@ -1,17 +1,34 @@
#!/bin/sh
set -e
if [ "$1" != "" ]; then
- mkdir -p $1/tools/agbcc
- mkdir -p $1/tools/agbcc/bin
- mkdir -p $1/tools/agbcc/include
- mkdir -p $1/tools/agbcc/lib
- cp agbcc $1/tools/agbcc/bin/
- cp old_agbcc $1/tools/agbcc/bin/
- cp agbcc_arm $1/tools/agbcc/bin/
- cp -R libc/include $1/tools/agbcc/ #drop include, because we don't want include/include
- cp ginclude/* $1/tools/agbcc/include/
- cp libgcc.a $1/tools/agbcc/lib/
- cp libc.a $1/tools/agbcc/lib/
+ if [ -d "$1" ]; then
+ mkdir -p $1/tools/agbcc
+ mkdir -p $1/tools/agbcc/bin
+ mkdir -p $1/tools/agbcc/include
+ mkdir -p $1/tools/agbcc/lib
+ cp agbcc $1/tools/agbcc/bin/
+ cp old_agbcc $1/tools/agbcc/bin/
+ cp agbcc_arm $1/tools/agbcc/bin/
+ cp -R libc/include $1/tools/agbcc/ #drop include, because we don't want include/include
+ cp ginclude/* $1/tools/agbcc/include/
+ cp libgcc.a $1/tools/agbcc/lib/
+ cp libc.a $1/tools/agbcc/lib/
+ echo "agbcc successfully installed!"
+ else
+ if [ -d "../$1" ]; then
+ echo "Target directory does not exist. Did you mean to do \"./install.sh ../$1\"?"
+ else
+ if case $1 in ".."*) true;; *) false;; esac; then
+ echo "Target directory does not exist. If you aren't familiar with relative paths, make sure that agbcc and the repository are in the same directory, and run \"./install.sh $1\" again."
+ else
+ if echo "$1" | grep -qE '^[^/]*.$'; then
+ echo "Target directory does not exist. You probably meant to do \"./install.sh ../$1\", but agbcc and $1 do not exist in the same directory. Check your spelling, make sure that the repository has been cloned, ensure that agbcc and the repository are in the same directory, and run \"./install.sh ../$1\" again."
+ else
+ echo "Target directory does not exist. Check your spelling, re-read the instructions, and try again."
+ fi
+ fi
+ fi
+ fi
else
- echo "Usage: install.sh PATH"
+ echo "Usage: install.sh PATH"
fi