Newer
Older
#######################################################################################
# TEST, NON REGR. ETC...
TESTDIR=./test
.PHONY: diff test log
test_nc:
cd $(TESTDIR) ; make test ; cd $(curdir)
test:
cd $(TESTDIR) ; make ; make time
cd $(curdir)
make clean_test
clean_test:
rm -f test/tmp2/*.cm* test/tmp1/*.cm*
rm -f test/tmp2/*.o test/tmp1/*.o
qtest:
cd $(TESTDIR) ; make test ; make time
cd $(curdir)
#######################################################################################
# git entry points
#######################################################################################
# Workflow:
# C=git commit ; A=git amend ; U=update_version ; P=opam pack
# to make sure the sha and the version are good, one should never
# do U and then A.
# to avoid such problems, legal trace are defined by this automata:
# 0 -C-> 1
# 1 -P-> 1
# 1 -A-> 1
# 1 -U-> 0
# to implement such a workflow, C puts a lock (state 1) and U removes it (state 0)
uv:update_version
update_version:
rm -f src/lv6version.ml
make src/lv6version.ml
cp _oasis _oasis.save
cat _oasis.save | sed "s/^Version:.*/Version: $(VERSION)/" > _oasis
rm committed
git add _oasis
git add src/lv6version.ml
make clean && make
cia:
test -f committed && \
echo "*** I won't commit!\n*** until you 'make update_version'!" \
|| (git commit -a -F log && touch committed)
test -f committed && \
echo "*** I won't commit!\n*** until you 'make update_version'!" \
|| (git commit -F log && touch committed)
amend:
test -f committed && git commit -a -F log --amend
###############################
# forge
push:
git push git+ssh://$(USER)@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lustre/lus2lic.git
pull:
git pull git+ssh://$(USER)@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lustre/lus2lic.git
###############################
# opam-ing
NAME=lustre-v6
Erwan Jahier
committed
PACKNAME=$(NAME).$(PRE_VERSION)
WWW=/import/www/DIST-TOOLS/SYNCHRONE
HTTP=http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE
# for testing opam packages before publishing
WWWTEST=/import/www/DIST-TOOLS/SYNCHRONE/test
HTTPTEST=http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/test
$(PACKNAME).tgz:
git archive --prefix=$(PACKNAME)/ -o $(PACKNAME).tgz HEAD
$(WWW)/pool/$(PACKNAME).tgz: $(PACKNAME).tgz
mv $^ $@
$(WWWTEST)/pool/$(PACKNAME).tgz: $(PACKNAME).tgz
mv $^ $@
opam : $(WWW)/pool/$(PACKNAME).tgz
test -f committed && ( \
cd $(WWW)/opam-repository/packages && \
oasis2opam $(HTTP)/pool/$(PACKNAME).tgz && \
cd .. ; opam-admin check && opam-admin make -g \
) || echo "*** I won't make an opam package\n*** until you commit something!"
opam-test : $(WWWTEST)/pool/$(PACKNAME).tgz
cd $(WWWTEST)/opam-repository/packages && \
oasis2opam $(HTTPTEST)/pool/$(PACKNAME).tgz && \
cd .. ; opam-admin check && opam-admin make -g
verimag:
echo "su synchron + opam update + opam upgrade "
#
# nb : pour installer la derniere version dans /usr/local/tools/lustre/v6
# il suffit de faire
# make opam + su synchron + opam update + opam upgrade
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
###############################
# install pre-compiled binaries
BASENAME=lv6-libs
PACKDIRNAME=$(BASENAME)
PACKDIR=/tmp/$(PACKDIRNAME)/`ocamlc --version`
FROMDIR=`ocamlc -where`/..
TGZ=`arch`-ocaml`ocamlc --version`-$(BASENAME)`date +%d%m%y`.tgz
LIBDIR=$(PACKDIR)/lib
BINDIR=$(PACKDIR)/bin
dist:
cd `ocamlc -where`/..
rm -rf /tmp/$(PACKDIRNAME)/
mkdir -p $(LIBDIR)
mkdir $(BINDIR)
cp v6lib.sh $(PACKDIR)
cp -rf $(FROMDIR)/camlidl $(LIBDIR)
cp -rf $(FROMDIR)/ezdl $(LIBDIR)
cp -rf $(FROMDIR)/gbddml $(LIBDIR)
cp -rf $(FROMDIR)/gmp $(LIBDIR)
cp -rf $(FROMDIR)/lustre-v6 $(LIBDIR)
cp -rf $(FROMDIR)/lutils $(LIBDIR)
cp -rf $(FROMDIR)/lutin $(LIBDIR)
cp -rf $(FROMDIR)/lutin-utils $(LIBDIR)
cp -rf $(FROMDIR)/mlgmpidl $(LIBDIR)
cp -rf $(FROMDIR)/polka $(LIBDIR)
cp -rf $(FROMDIR)/rdbg-plugin $(LIBDIR)
cp -rf $(FROMDIR)/stublibs $(LIBDIR)
cp -f $(FROMDIR)/../bin/gnuplot-rif $(BINDIR)
cp -f $(FROMDIR)/../bin/lurettetop_exe $(BINDIR)
cp -f $(FROMDIR)/../bin/lutin $(BINDIR)
cp -f $(FROMDIR)/../bin/check-rif $(BINDIR)
cp -f $(FROMDIR)/../bin/call-via-socket $(BINDIR)
cp -f $(FROMDIR)/../bin/simec_trap $(BINDIR)
cp -f $(FROMDIR)/../bin/read-rif.sh $(BINDIR)
cp -f $(FROMDIR)/../bin/lurette $(BINDIR)
cp -f $(FROMDIR)/../bin/rdbg $(BINDIR)
cp -f $(FROMDIR)/../bin/rdbg-top $(BINDIR)
cp -f $(FROMDIR)/../bin/rdbg-batch $(BINDIR)
cp -f $(FROMDIR)/../bin/luciole-rif $(BINDIR)
cp -f $(FROMDIR)/../bin/ecexe-rif $(BINDIR)
cp -f $(FROMDIR)/../bin/lus2lic $(BINDIR)
cd /tmp; tar cvfz $(TGZ) $(PACKDIRNAME)
cp /tmp/$(TGZ) .
www-dist:dist
cp $(TGZ) $(WWW)/lustre-v6/pre-compiled/
###############################
# tags
# otags don't manage to parse gnuplotRif.ml
NO_TAGS=gnuplotRif.ml
tags:
$(OTAGS) -v $(shell ocamlc -where)/*.mli $(shell ls src/*.ml | grep -v $(NO_TAGS))
tags2:
$(OTAGS) -v $(shell ls src/*.ml | grep -v $(NO_TAGS))