-
Erwan Jahier authored
Timothy Bourke (trigerred where the clock of some args are some other args and when the names of variables are shared between the caller and the callee). The problem is in UnifyClock.f or (in evalClock.ml) ; the current change in evalClock.ml fixes the pb in Tim's program, but I suspect it is still buggy.
Erwan Jahier authoredTimothy Bourke (trigerred where the clock of some args are some other args and when the names of variables are shared between the caller and the callee). The problem is in UnifyClock.f or (in evalClock.ml) ; the current change in evalClock.ml fixes the pb in Tim's program, but I suspect it is still buggy.
Makefile 6.75 KiB
all: doit ltop
include ./Makefile.common
COMON_SOURCES = \
$(OBJDIR)/data.mli \
$(OBJDIR)/data.ml \
$(OBJDIR)/expr.ml \
$(OBJDIR)/failure.ml \
$(OBJDIR)/event.ml \
$(OBJDIR)/genlex.mli \
$(OBJDIR)/genlex.ml \
$(OBJDIR)/rif_base.mli \
$(OBJDIR)/rif_base.ml \
$(OBJDIR)/verbose.ml \
$(OBJDIR)/verbose.mli \
SOC_SOURCES = \
$(OBJDIR)/soc.ml \
$(OBJDIR)/socUtils.mli \
$(OBJDIR)/socUtils.ml \
$(OBJDIR)/socPredef.mli \
$(OBJDIR)/socPredef.ml \
$(OBJDIR)/toposort.mli \
$(OBJDIR)/toposort.ml \
$(OBJDIR)/actionsDeps.mli \
$(OBJDIR)/actionsDeps.ml \
$(OBJDIR)/lic2soc.mli \
$(OBJDIR)/lic2soc.ml \
$(OBJDIR)/socExecValue.mli \
$(OBJDIR)/socExecValue.ml \
$(OBJDIR)/socExecEvalPredef.mli \
$(OBJDIR)/socExecEvalPredef.ml \
$(OBJDIR)/socExec.mli \
$(OBJDIR)/socExec.ml
COMPILER_SOURCES = \
$(OBJDIR)/lv6util.ml \
$(OBJDIR)/filenameExtras.mli \
$(OBJDIR)/filenameExtras.ml \
$(OBJDIR)/lv6MainArgs.ml \
$(OBJDIR)/lv6MainArgs.mli \
$(OBJDIR)/ident.mli \
$(OBJDIR)/ident.ml \
$(OBJDIR)/lxm.mli \
$(OBJDIR)/lxm.ml \
$(OBJDIR)/lv6errors.ml \
$(OBJDIR)/astPredef.ml \
$(OBJDIR)/astCore.ml \
$(OBJDIR)/astV6.ml \
$(OBJDIR)/astV6Dump.mli \
$(OBJDIR)/astV6Dump.ml \
$(OBJDIR)/astRecognizePredef.mli \
$(OBJDIR)/astRecognizePredef.ml \
$(OBJDIR)/lv6parserUtils.ml \
$(OBJDIR)/lv6parser.mly \
$(OBJDIR)/lv6lexer.mll \
$(OBJDIR)/astInstanciateModel.mli \
$(OBJDIR)/astInstanciateModel.ml \
$(OBJDIR)/astTabSymbol.mli \
$(OBJDIR)/astTabSymbol.ml \
$(OBJDIR)/astTab.mli \
$(OBJDIR)/astTab.ml \
$(OBJDIR)/lic.ml \
$(OBJDIR)/idSolver.ml \
$(OBJDIR)/licName.mli \
$(OBJDIR)/licName.ml \
$(OBJDIR)/licDump.ml \
$(OBJDIR)/licPrg.mli \
$(OBJDIR)/licPrg.ml \
$(SOC_SOURCES) \
$(OBJDIR)/unifyType.mli \
$(OBJDIR)/unifyType.ml \
$(OBJDIR)/unifyClock.mli \
$(OBJDIR)/unifyClock.ml \
$(OBJDIR)/licEvalType.mli \
$(OBJDIR)/licEvalType.ml \
$(OBJDIR)/licEvalConst.mli \
$(OBJDIR)/licEvalConst.ml \
$(OBJDIR)/licEvalClock.mli \
$(OBJDIR)/licEvalClock.ml \
$(OBJDIR)/evalConst.mli \
$(OBJDIR)/evalConst.ml \
$(OBJDIR)/evalType.mli \
$(OBJDIR)/evalType.ml \
$(OBJDIR)/evalClock.mli \
$(OBJDIR)/evalClock.ml \
$(OBJDIR)/licMetaOp.mli \
$(OBJDIR)/licMetaOp.ml \
$(OBJDIR)/ast2lic.mli \
$(OBJDIR)/ast2lic.ml \
$(OBJDIR)/misc.ml \
$(OBJDIR)/l2lCheckLoops.mli \
$(OBJDIR)/l2lCheckLoops.ml \
$(OBJDIR)/l2lCheckOutputs.mli \
$(OBJDIR)/l2lCheckOutputs.ml \
$(OBJDIR)/l2lExpandArrays.mli \
$(OBJDIR)/l2lExpandArrays.ml \
$(OBJDIR)/l2lExpandNodes.mli \
$(OBJDIR)/l2lExpandNodes.ml \
$(OBJDIR)/l2lExpandMetaOp.ml \
$(OBJDIR)/l2lExpandMetaOp.mli \
$(OBJDIR)/l2lRmPoly.mli \
$(OBJDIR)/l2lRmPoly.ml \
$(OBJDIR)/l2lAliasType.mli \
$(OBJDIR)/l2lAliasType.ml \
$(OBJDIR)/l2lSplit.mli \
$(OBJDIR)/l2lSplit.ml \
$(OBJDIR)/licTab.ml \
$(OBJDIR)/licTab.mli \
$(OBJDIR)/compile.mli \
$(OBJDIR)/compile.ml \
SOURCES = \
$(OBJDIR)/lv6version.ml \
$(COMON_SOURCES) \
$(COMPILER_SOURCES) \
$(OBJDIR)/main.ml
LDBG_SOURCES = \
$(OBJDIR)/lv6version.ml \
$(COMPILER_SOURCES)
#
# Be sure to build those files before doing something else
# since they are needed by $(RESULT)
PRE_TARGETS=$(OBJDIR)/lv6version.ml
NOMLI_SOURCES=$(filter %.ml %.mll %.mly, $(SOURCES))
NOMLY_SOURCES=$(SOURCES:.mly=.ml)
MLONLY_SOURCES=$(NOMLY_SOURCES:.mll=.ml)
show:
git log --reverse --pretty=oneline | nl
dot:
ocamldoc -I $(OBJDIR) $(MLONLY_SOURCES) -d ocamldoc -dot -dot-reduce
dot -Tpdf ocamldoc.out > lus2lic.pdf
ocamldoc -I $(OBJDIR) $(MLONLY_SOURCES) -d ocamldoc -dot -dot-reduce -dot-types
dot -Tpdf ocamldoc.out > lus2lic-types.pdf
xpdf lus2lic.pdf
xpdf lus2lic-types.pdf
html:
ocamldoc -I $(OBJDIR) $(MLONLY_SOURCES) -d ocamldoc -html -keep-code
nomli:
rm $(OBJDIR)/*.mli
debug: nomli dc
ln: $(OBJDIR) $(SOURCES)
doit: ln nc
include $(OCAMLMAKEFILE)
# Specific rule (lv6version)
.PRECIOUS: $(OBJDIR)/lv6version.ml
$(OBJDIR)/lv6version.ml: Makefile
echo "(** Automatically gen erated from Makefile *) " > $@
echo "let tool = \"lus2lic\"" >> $@
echo "let branch = \"$(shell utils/get_branch_name)\"" >> $@
echo "let commit = \"$(shell utils/get_commit_number)\"" >> $@
echo "let sha_1 = \"$(shell utils/get_sha_1)"\">> $@
echo "let str = (branch ^ \".\" ^ commit ^ \" (\" ^ sha_1 ^ \")\")">> $@
echo "let maintainer = \"jahier@imag.fr\"">> $@
all: nc
lus2lic:
make all
make test
# TEST, NON REGR. ETC...
TESTDIR=./test
.PHONY: diff test log
dif:
git --no-pager diff --color-words
diff:
rm -f diff_lv6.diff; git diff --ignore-all-space > diff_lv6.diff ; ls -l diff_lv6.diff
OTAGS=$(HOME)/bin/otags
tags:
$(OTAGS) -v $(shell $(OCAMLC) -where)/*.mli src/*.ml
log:
rm -f lv6.log; git log > lv6.log
test_nc:
cd $(TESTDIR) ; make test ; cd $(curdir)
Clean:
rm -rf $(OBJDIR)
test: test/lurettetop
cd $(TESTDIR) ; make
cd $(curdir)
ci: $(OBJDIR)/lv6version.ml
make test && git commit -F log && rm -f $(OBJDIR)/lv6version.ml
cia: $(OBJDIR)/lv6version.ml
git commit -a -F log && rm -f $(OBJDIR)/lv6version.ml
amend:
git commit -a -F log --amend && rm -f $(OBJDIR)/lv6version.ml
push:
git push git+ssh://jahier@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lustre/lus2lic.git
pull:
git pull git+ssh://jahier@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lustre/lus2lic.git
# Compile and copy lurrettop from here because
# (1) lurettetop uses lus2lic source (it embeds the V6 interpreter)
# (2) the tests performed here uses lurettetop...
test/lurettetop: ltop
cp ~/lurette/bin/lurettetop test
ltop: scp
cd ~/lurette/source/ ; make ltop; make cp
# copy the shared source to the lurette directory
scp:
chmod u+w ../lurette/source/lus2lic/*
cp $(LDBG_SOURCES) ../lurette/source/lus2lic/
chmod u-w ../lurette/source/lus2lic/*
# Keep those files in sync as they are shared
# and prevent their modification
cp_comon_file:
chmod u+w src/data.ml
chmod u+w src/data.mli
chmod u+w src/rif_base.ml
chmod u+w src/rif_base.mli
chmod u+w src/genlex.ml
chmod u+w src/genlex.mli
chmod u+w src/verbose.ml
chmod u+w src/verbose.mli
chmod u+w src/expr.ml
chmod u+w src/event.ml
chmod u+w src/failure.ml
cp ~/lurette/source/common/data.ml src/
cp ~/lurette/source/common/data.mli src/
cp ~/lurette/source/common/rif_base.ml src/
cp ~/lurette/source/common/rif_base.mli src/
cp ~/lurette/source/common/genlex.ml src/
cp ~/lurette/source/common/genlex.mli src/
cp ~/lurette/source/Lutin/verbose.ml src/
cp ~/lurette/source/Lutin/verbose.mli src/
cp ~/lurette/source/Lurettetop/expr.ml src/
cp ~/lurette/source/Lurettetop/event.ml src/
cp ~/lurette/source/Lurettetop/failure.ml src/
chmod u-w src/data.ml
chmod u-w src/data.mli
chmod u-w src/rif_base.ml
chmod u-w src/rif_base.mli
chmod u-w src/genlex.ml
chmod u-w src/genlex.mli
chmod u-w src/verbose.ml
chmod u-w src/verbose.mli
chmod u-w src/expr.ml
chmod u-w src/event.ml
chmod u-w src/failure.ml