5 if test -f "$dirname".pack; then
6 #we are below a pack directory
7 PACKDIR=`basename $dirname`
8 PACKINCLUDE="-I $dirname"
9 elif test -f ${base}.pack -a -d ${base}; then
11 PACKINCLUDE="-I ${base}"
12 PACKDIR=`basename ${base}`
15 if test "$PACKDIR"; then
16 PACKNAME=`echo $PACKDIR | cut -b1 | tr a-z A-Z`${PACKDIR#?}
17 if test "$NATIVE"; then
18 FORPACK="-for-pack $PACKNAME"
22 if test "$EXT" = i; then
23 if test -f ${base}.mli; then
27 modules=`$OCAMLDEP -modules ${base}.mli | cut -f 2- -d ':'`
28 objects=`tools/ocamlmoduledep.sh -inter $NATIVE $PACKINCLUDE -I $SRC $modules`
30 $COMPILE -o ${target} -c $PACKINCLUDE ${base}.mli
34 if test "$DOPACK"; then
35 modules=`cat ${base}.pack`
36 objects=`echo $modules | xargs tools/ocamlmoduledep.sh $NATIVE $PACKINCLUDE -I $SRC `
39 modules=`$OCAMLDEP -modules ${base}.ml | cut -f 2- -d ':'`
40 if test "$EXT" = "o"; then
43 objects=`tools/ocamlmoduledep.sh $INTER $NATIVE $PACKINCLUDE -I $SRC $modules`
48 deps=`echo $objects | sed "s/[.]cm[i${EXT}]/.$DEPEXT/g"`
49 rm -f ${base}.$DEPEXT; touch ${base}.$DEPEXT
53 if grep -q $g ${base}.$DEPEXT; then continue; fi
54 echo $g >> ${base}.$DEPEXT
56 if grep -q $f ${base}.$DEPEXT; then continue; fi
57 echo $f >> ${base}.$DEPEXT
59 if test -f ${base}.mli; then $REMAKE PACKINCLUDE="$PACKINCLUDE" ${base}.cmi; fi
60 if test "$DOPACK"; then
61 sorted_objects=`cat ${base}.$DEPEXT | grep "$PACKDIR" | sed "s/[.]$DEPEXT/.cm${EXT}/" | xargs`
62 cat ${base}.$DEPEXT | grep -v "$PACKDIR" > ${base}.tmp
63 mv ${base}.tmp ${base}.$DEPEXT
64 $COMPILE -o ${target} -pack $sorted_objects
66 $COMPILE -o ${target} $FORPACK -c $PACKINCLUDE ${base}.ml