Remove passing $NATIVE on the remake command line of every target, since variable...
[tatoo.git] / tools / ocamldriver.sh
index 0a51cb6..d2a968e 100644 (file)
@@ -14,7 +14,7 @@ elif test -f ${base}.pack -a -d ${base}; then
 fi
 if test "$PACKDIR"; then
     PACKNAME=`echo $PACKDIR | cut -b1 | tr a-z A-Z`${PACKDIR#?}
-    if test "$NATIVE"; then
+    if test "$OCAMLNATIVE"; then
         FORPACK="-for-pack $PACKNAME"
     fi
 fi
@@ -24,8 +24,8 @@ if test "$EXT" = i; then
         $REMAKE ${base}.mli;
     fi
 
-    modules=`$OCAMLDEP -modules ${base}.ml | cut -f 2- -d ':'`
-    objects=`tools/ocamlmoduledep.sh -inter $NATIVE $PACKINCLUDE -I $SRC $modules`
+    modules=`$OCAMLDEP -modules ${base}.mli | cut -f 2- -d ':'`
+    objects=`tools/ocamlmoduledep.sh -inter $OCAMLNATIVE $PACKINCLUDE -I $SRC $modules`
     $REMAKE $objects
     $COMPILE  -o ${target} -c $PACKINCLUDE ${base}.mli
     exit 0
@@ -33,31 +33,34 @@ fi
 
 if test "$DOPACK"; then
     modules=`cat ${base}.pack`
-    objects=`echo $modules | xargs tools/ocamlmoduledep.sh $NATIVE $PACKINCLUDE -I $SRC `
+    objects=`echo $modules | xargs tools/ocamlmoduledep.sh $OCAMLNATIVE $PACKINCLUDE -I $SRC `
 else
     $REMAKE ${base}.ml
     modules=`$OCAMLDEP -modules ${base}.ml | cut -f 2- -d ':'`
-    objects=`tools/ocamlmoduledep.sh $NATIVE $PACKINCLUDE -I $SRC $modules`
+    if test "$EXT" = "o"; then
+       INTER=-inter
+    fi
+    objects=`tools/ocamlmoduledep.sh $INTER $OCAMLNATIVE $PACKINCLUDE -I $SRC $modules`
 fi
 
 $REMAKE $objects
 
-deps=`echo $objects | sed "s/[.]cm[i${EXT}]/.dep/g"`
-rm -f ${base}.dep; touch ${base}.dep
+deps=`echo $objects | sed "s/[.]cm[i${EXT}]/.$DEPEXT/g"`
+rm -f ${base}.$DEPEXT; touch ${base}.$DEPEXT
 $REMAKE $deps
 for f in $deps; do
     for g in `cat $f`; do
-       if grep -q $g ${base}.dep; then continue; fi
-       echo $g >> ${base}.dep
+       if grep -q $g ${base}.$DEPEXT; then continue; fi
+       echo $g >> ${base}.$DEPEXT
     done
-    if grep -q $f ${base}.dep; then continue; fi
-    echo $f >> ${base}.dep
+    if grep -q $f ${base}.$DEPEXT; then continue; fi
+    echo $f >> ${base}.$DEPEXT
 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
-    mv ${base}.tmp ${base}.dep
+    sorted_objects=`cat ${base}.$DEPEXT | grep "$PACKDIR" | sed "s/[.]$DEPEXT/.cm${EXT}/" | xargs`
+    cat ${base}.$DEPEXT | grep -v "$PACKDIR" > ${base}.tmp
+    mv ${base}.tmp ${base}.$DEPEXT
     $COMPILE  -o ${target} -pack $sorted_objects
 else
     $COMPILE  -o ${target} $FORPACK -c $PACKINCLUDE ${base}.ml