X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=tools%2Focamldriver.sh;h=0a51cb6b49f32ab36f0417fc9d8d5f549e4fe84e;hp=2425147bf75ac52e77f7efc65460ebfd923133d7;hb=aade6d9ba2e2b65e021de8a1c3a2d3874aa5742e;hpb=2b85475321db7b38d4df0869fb51d38d98bb6671 diff --git a/tools/ocamldriver.sh b/tools/ocamldriver.sh index 2425147..0a51cb6 100644 --- a/tools/ocamldriver.sh +++ b/tools/ocamldriver.sh @@ -1,5 +1,5 @@ #!/bin/sh -EXT=${target%?} +EXT=${target#*.cm} dirname=${base%/*} if test -f "$dirname".pack; then @@ -19,6 +19,18 @@ if test "$PACKDIR"; then fi fi +if test "$EXT" = i; then + if test -f ${base}.mli; then + $REMAKE ${base}.mli; + fi + + modules=`$OCAMLDEP -modules ${base}.ml | cut -f 2- -d ':'` + objects=`tools/ocamlmoduledep.sh -inter $NATIVE $PACKINCLUDE -I $SRC $modules` + $REMAKE $objects + $COMPILE -o ${target} -c $PACKINCLUDE ${base}.mli + exit 0 +fi + if test "$DOPACK"; then modules=`cat ${base}.pack` objects=`echo $modules | xargs tools/ocamlmoduledep.sh $NATIVE $PACKINCLUDE -I $SRC `