X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Goalfile.in;h=4a613c426568f15f3ef183dc29c60cb3b2cc9c45;hb=140f27408935f7b8b8a8bc2d26e9b355af4b9385;hp=d28b9312342809ca02ad82cdee707291b44a8c6f;hpb=70c689283bb2c1ba07704be7562767daf82b4d46;p=goals.git diff --git a/Goalfile.in b/Goalfile.in index d28b931..4a613c4 100644 --- a/Goalfile.in +++ b/Goalfile.in @@ -59,13 +59,9 @@ let MENHIR = "@MENHIR@" let OCAMLDEP = "@OCAMLDEP@" let OCAMLFIND = "@OCAMLFIND@" let OCAMLLEX = "@OCAMLLEX@" -# XXX -let CFLAGS = [ "-g", "-O2", "-I%OCAMLLIB", "-I." ] -#let CFLAGS = "@CFLAGS@ -I%OCAMLLIB -I." -let OCAMLFLAGS = [ "-g", "-safe-string", "-warn-error", "CDEFLMPSUVYZX+52-3" ] -let OCAMLPACKAGES = [ "-package", "str,unix,threads", "-I", "src", "-thread" ] -#let OCAMLFLAGS = "@OCAMLFLAGS@" -#let OCAMLPACKAGES = "@OCAMLPACKAGES@" +let CFLAGS = join (split ("@CFLAGS@"), ["-I%OCAMLLIB", "-I."]) +let OCAMLFLAGS = split ("@OCAMLFLAGS@") +let OCAMLPACKAGES = join (split ("@OCAMLPACKAGES@"), ["-I", "src"]) let objects = [ # These must be in dependency order. @@ -151,15 +147,103 @@ 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 +} + +#---------------------------------------------------------------------- +# Distribution. + +let sources = [ + "src/ast.ml", + "src/ast.mli", + "src/cmdline.ml", + "src/cmdline.mli", + "src/config.ml.in", + "src/config.mli", + "src/deps.ml", + "src/deps.mli", + "src/eval.ml", + "src/eval.mli", + "src/jobs.ml", + "src/jobs.mli", + "src/lexer.mli", + "src/lexer.mll", + "src/main.ml", + "src/parse.ml", + "src/parse.mli", + "src/parser.mly", + "src/run.ml", + "src/run.mli", + "src/utils-c.c", + "src/utils.ml", + "src/utils.mli", +] + +let distfiles = [ + ".gitignore", + "COPYING", + "Goalfile.in", + "Makefile.in", + "README", + "TODO", + "autogen.sh", + "config.h.in", + "configure", + "configure.ac", + wildcard ("docs/*.pod"), + "install-sh", + "m4/ocaml.m4", + "run.in", + sources, + "stamp-h.in", + wildcard ("stdlib/*.gl"), + wildcard ("stdlib/*.sh"), + wildcard ("tests/*.data"), + wildcard ("tests/*.data[0-9]"), + wildcard ("tests/*.expected"), + wildcard ("tests/*.gl"), + wildcard ("tests/*.sh"), + wildcard ("tests/10-function-wildcard.d/*"), +] + +let tarfile = "@PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz" + +goal dist = { + d="@PACKAGE_NAME@-@PACKAGE_VERSION@" + o=%tarfile + rm -rf "$d" + rm -f "$o" "$o-t" + + mkdir "$d" + for f in %distfiles; do + subdir="$(dirname "$f")" + mkdir -p "$d/$subdir" + cp -a "$f" "$d/$subdir" + done + tar zcf "$o-t" "$d" + mv "$o-t" "$o" + rm -rf "$d" +}