From: Kim Nguyễn Date: Mon, 3 Mar 2014 18:44:50 +0000 (+0100) Subject: Remove passing $NATIVE on the remake command line of every target, since variable... X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=commitdiff_plain;h=be3f8efc9faf12df977b5e64a50868279fcb435b Remove passing $NATIVE on the remake command line of every target, since variable contents are propagated. --- diff --git a/Remakefile.in b/Remakefile.in index 1b54199..97234fb 100644 --- a/Remakefile.in +++ b/Remakefile.in @@ -1,4 +1,5 @@ .OPTIONS = variable-propagation + 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@ -OCAMLDEP = @OCAMLDEP@ -ODEPS = tools/odeps.sh $(OCAMLDEP) OCAMLC = @OCAMLC@ OCAMLOPT = @OCAMLOPT@ +OCAMLDEP = @OCAMLDEP@ OCAMLFLAGS = @OCAMLFLAGS@ OCAMLOPTFLAGS = @OCAMLOPTFLAGS@ OCAMLCFLAGS = @OCAMLCFLAGS@ MENHIR = @MENHIR@ - +.PHONY: clean distclean all: $(BIN) @@ -66,18 +66,18 @@ distclean: clean test_clean %.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 - $(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 - $(OCAMLC) -o $@ $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $< + $(OCAMLC) -o $@ $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $*.cmo %.ml: if test -f $*.mly; then @@ -98,9 +98,9 @@ distclean: clean test_clean base=$* target=$@ DEPEXT=depx - NATIVE=-native - REMAKE="$(REMAKE) OCAMLNATIVE=$NATIVE" + REMAKE="$(REMAKE)" OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)" + OCAMLNATIVE=$(OCAMLNATIVE) SRC=$(SRC) COMPILE="$(OCAMLOPT) $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDFLAGS)" . tools/ocamldriver.sh @@ -109,22 +109,21 @@ distclean: clean test_clean 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) " - . tools/ocamldriver.sh %.cmi: base=$* target=$@ - NATIVE=$(OCAMLNATIVE) - REMAKE="$(REMAKE) OCAMLNATIVE=$NATIVE" + REMAKE="$(REMAKE)" 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 diff --git a/tools/ocamldriver.sh b/tools/ocamldriver.sh index 6d8e39b..d2a968e 100644 --- a/tools/ocamldriver.sh +++ b/tools/ocamldriver.sh @@ -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 @@ -25,7 +25,7 @@ if test "$EXT" = i; then 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 @@ -33,14 +33,14 @@ 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 ':'` 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