build: Implement install rule.
[goals.git] / Goalfile.in
index 32ff7b5..6601c58 100644 (file)
@@ -147,15 +147,28 @@ goal test (name) = @{
     t=`basename %name`
     cd tests
     if ../run ./$t > $t.log 2>&1; then
-        start_green
-        echo -n "PASS: "
-        end_colour
-        echo $t
+        print_green "PASS:" $t
     else
-        start_red
-        echo -n "FAIL: "
-        end_colour
-        echo $t
+        print_red "FAIL:" $t
         exit 1
     fi
 }
+
+#----------------------------------------------------------------------
+# Install.
+
+# DESTDIR can be overridden on the command line to install into
+# a subdirectory.
+let DESTDIR = ""
+
+let stdlibfiles = [wildcard ("stdlib/*.gl"), wildcard ("stdlib/*.sh")]
+
+goal install = {
+    # exec_prefix die die die
+    bindir="@prefix@/bin"
+    datadir="@prefix@/share"
+    mkdir -p %DESTDIR/"$bindir"
+    mkdir -p %DESTDIR/"$datadir/goals"
+    install src/goals %DESTDIR/"$bindir" -m 0755
+    install %stdlibfiles %DESTDIR/"$datadir"/goals -m 644
+}