Remove passing $NATIVE on the remake command line of every target, since variable...
authorKim Nguyễn <kn@lri.fr>
Mon, 3 Mar 2014 18:44:50 +0000 (19:44 +0100)
committerKim Nguyễn <kn@lri.fr>
Mon, 3 Mar 2014 18:45:18 +0000 (19:45 +0100)
Remakefile.in
tools/ocamldriver.sh

index 1b54199..97234fb 100644 (file)
@@ -1,4 +1,5 @@
 .OPTIONS = variable-propagation
 .OPTIONS = variable-propagation
+
 OCAMLFINDPACKAGES = "ulex,unix,expat,camlp4.macro,bigarray"
 OCAMLFINDSYNTAX = camlp4o
 OCAMLFINDPPOPTS = $(addprefix "-ppopt ", @CAMLP4FLAGS@ -I include)
 OCAMLFINDPACKAGES = "ulex,unix,expat,camlp4.macro,bigarray"
 OCAMLFINDSYNTAX = camlp4o
 OCAMLFINDPPOPTS = $(addprefix "-ppopt ", @CAMLP4FLAGS@ -I include)
@@ -13,16 +14,15 @@ BYTE = src/@PACKAGE_TARNAME@.byte@EXE@
 EXE = @EXE@
 
 REMAKE = @REMAKE@
 EXE = @EXE@
 
 REMAKE = @REMAKE@
-OCAMLDEP = @OCAMLDEP@
-ODEPS = tools/odeps.sh $(OCAMLDEP)
 OCAMLC = @OCAMLC@
 OCAMLOPT = @OCAMLOPT@
 OCAMLC = @OCAMLC@
 OCAMLOPT = @OCAMLOPT@
+OCAMLDEP = @OCAMLDEP@
 OCAMLFLAGS = @OCAMLFLAGS@
 OCAMLOPTFLAGS = @OCAMLOPTFLAGS@
 OCAMLCFLAGS = @OCAMLCFLAGS@
 MENHIR = @MENHIR@
 
 OCAMLFLAGS = @OCAMLFLAGS@
 OCAMLOPTFLAGS = @OCAMLOPTFLAGS@
 OCAMLCFLAGS = @OCAMLCFLAGS@
 MENHIR = @MENHIR@
 
-
+.PHONY: clean distclean
 
 all: $(BIN)
 
 
 all: $(BIN)
 
@@ -66,18 +66,18 @@ distclean: clean test_clean
 %.class: %.java
        javac $<
 
 %.class: %.java
        javac $<
 
-%.native$(EXE): %.cmx %.depx
-       if test -f $@".flags"; then
-               FLAGS=`cat $@".flags"`
-       fi
-       objects=`cat $*.depx | xargs | sed 's/[.]depx/.cmx/g'`
+%.native$(EXE):
+       $(REMAKE) OCAMLNATIVE="-native" $*.cmx $*.depx
+       objects=`cat $*.depx | xargs | sed 's/[.]depx/.cmx/g'` 
        $(REMAKE) OCAMLNATIVE="-native" $objects #ensure all objects have been built
        $(REMAKE) OCAMLNATIVE="-native" $objects #ensure all objects have been built
-       $(OCAMLOPT) -o $@  $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $FLAGS $objects $<
+       $(OCAMLOPT) -o $@  $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $*.cmx 
+
 
 
-%.byte$(EXE): %.cmo %.depo
+%.byte$(EXE):
+       $(REMAKE) OCAMLNATIVE="" $*.cmo $*.depo
        objects=`cat $*.depo | xargs | sed 's/[.]depo/.cmo/g'`
        $(REMAKE) OCAMLNATIVE="" $objects #ensure all objects have been built
        objects=`cat $*.depo | xargs | sed 's/[.]depo/.cmo/g'`
        $(REMAKE) OCAMLNATIVE="" $objects #ensure all objects have been built
-       $(OCAMLC) -o $@  $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $<
+       $(OCAMLC) -o $@  $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $*.cmo
 
 %.ml:
        if test -f $*.mly; then
 
 %.ml:
        if test -f $*.mly; then
@@ -98,9 +98,9 @@ distclean: clean test_clean
        base=$*
        target=$@
        DEPEXT=depx
        base=$*
        target=$@
        DEPEXT=depx
-       NATIVE=-native
-       REMAKE="$(REMAKE) OCAMLNATIVE=$NATIVE"
+       REMAKE="$(REMAKE)"
        OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)"
        OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)"
+       OCAMLNATIVE=$(OCAMLNATIVE)
        SRC=$(SRC)
        COMPILE="$(OCAMLOPT) $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDFLAGS)"
        . tools/ocamldriver.sh
        SRC=$(SRC)
        COMPILE="$(OCAMLOPT) $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDFLAGS)"
        . tools/ocamldriver.sh
@@ -109,22 +109,21 @@ distclean: clean test_clean
        base=$*
        target=$@
        DEPEXT=depo
        base=$*
        target=$@
        DEPEXT=depo
-       NATIVE=""
-       REMAKE="$(REMAKE) OCAMLNATIVE=$NATIVE"
-       OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS) $(OCAMLFIND_EXTRAFLAGS)"
+       REMAKE="$(REMAKE)"
+       OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)"
+       OCAMLNATIVE=$(OCAMLNATIVE)
        SRC=$(SRC)
        COMPILE="$(OCAMLC) $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFIND_EXTRAFLAGS) "
        SRC=$(SRC)
        COMPILE="$(OCAMLC) $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFIND_EXTRAFLAGS) "
-
        . tools/ocamldriver.sh
 
 %.cmi:
        base=$*
        target=$@
        . tools/ocamldriver.sh
 
 %.cmi:
        base=$*
        target=$@
-       NATIVE=$(OCAMLNATIVE)
-       REMAKE="$(REMAKE) OCAMLNATIVE=$NATIVE"
+       REMAKE="$(REMAKE)"
        OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)"
        SRC=$(SRC)
        OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)"
        SRC=$(SRC)
-       if test -z "$NATIVE"; then
+       OCAMLNATIVE=$(OCAMLNATIVE)
+       if test -z "$OCAMLNATIVE"; then
                DEPEXT=.depo
                COMPILE="$(OCAMLC) $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDFLAGS)"
        else
                DEPEXT=.depo
                COMPILE="$(OCAMLC) $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDFLAGS)"
        else
index 6d8e39b..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#?}
 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
         FORPACK="-for-pack $PACKNAME"
     fi
 fi
@@ -25,7 +25,7 @@ if test "$EXT" = i; then
     fi
 
     modules=`$OCAMLDEP -modules ${base}.mli | cut -f 2- -d ':'`
     fi
 
     modules=`$OCAMLDEP -modules ${base}.mli | cut -f 2- -d ':'`
-    objects=`tools/ocamlmoduledep.sh -inter $NATIVE $PACKINCLUDE -I $SRC $modules`
+    objects=`tools/ocamlmoduledep.sh -inter $OCAMLNATIVE $PACKINCLUDE -I $SRC $modules`
     $REMAKE $objects
     $COMPILE  -o ${target} -c $PACKINCLUDE ${base}.mli
     exit 0
     $REMAKE $objects
     $COMPILE  -o ${target} -c $PACKINCLUDE ${base}.mli
     exit 0
@@ -33,14 +33,14 @@ fi
 
 if test "$DOPACK"; then
     modules=`cat ${base}.pack`
 
 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 ':'`
     if test "$EXT" = "o"; then
        INTER=-inter
     fi
 else
     $REMAKE ${base}.ml
     modules=`$OCAMLDEP -modules ${base}.ml | cut -f 2- -d ':'`
     if test "$EXT" = "o"; then
        INTER=-inter
     fi
-    objects=`tools/ocamlmoduledep.sh $INTER $NATIVE $PACKINCLUDE -I $SRC $modules`
+    objects=`tools/ocamlmoduledep.sh $INTER $OCAMLNATIVE $PACKINCLUDE -I $SRC $modules`
 fi
 
 $REMAKE $objects
 fi
 
 $REMAKE $objects