summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmk19
1 files changed, 18 insertions, 1 deletions
diff --git a/mk b/mk
index 286e24f9..40ecfffb 100755
--- a/mk
+++ b/mk
@@ -7,15 +7,29 @@
set -u -e
+xrval=0
+
+(
ispwd="true"
+xbdir=""
if [ "$0" != "./mk" ]; then
- ispwd="false"
+ if [ "${0##*/}" != "$0" ]; then
+ xbdir="`readlink -f "$0" 2>/dev/null`"
+ if [ -z "$xbdir" ]; then
+ xbdir="`realpath "$0" 2>/dev/null`"
+ fi
+ cd "${xbdir%/*}" || exit 1
+ else
+ ispwd="false"
+ fi
fi
if [ "$ispwd" = "true" ] && [ -L "mk" ]; then
+
ispwd="false"
fi
if [ "$ispwd" = "false" ]; then
+
printf "You must run this in the proper work directory.\n" 1>&2
exit 1
fi
@@ -59,3 +73,6 @@ x_ touch "$mkhelpercfg"
. "$mkhelpercfg"
$cmd
+) || xrval=1
+
+exit $xrval