X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=tools%2Focamldriver.sh;h=5d65e046d9b2910c9c07c3ccc2cd327be37cc5fe;hp=792330c02dbdfb7037062029fae2cf00bd16cd13;hb=5bdd670738e0af306581819ef41659f961a0df12;hpb=57d93cea4d7dbd1ae5ee706b216fd42a1795de29 diff --git a/tools/ocamldriver.sh b/tools/ocamldriver.sh index 792330c..5d65e04 100644 --- a/tools/ocamldriver.sh +++ b/tools/ocamldriver.sh @@ -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}.mli | 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 ` @@ -41,7 +53,7 @@ for f in $deps; do if grep -q $f ${base}.dep; then continue; fi echo $f >> ${base}.dep done -if test -f ${base}.mli; then $REMAKE -v PACKINCLUDE="$PACKINCLUDE" ${base}.cmi; fi +if test -f ${base}.mli; then $REMAKE PACKINCLUDE="$PACKINCLUDE" ${base}.cmi; fi if test "$DOPACK"; then sorted_objects=`cat ${base}.dep | grep "$PACKDIR" | sed "s/[.]dep/.cm${EXT}/" | xargs` cat ${base}.dep | grep -v "$PACKDIR" > ${base}.tmp