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)
#######################################################################################
#
README.md: README.txt
cat $< | grep -v "^(\*" > $@
#######################################################################################
# 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
###############################
# 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
108
109
110
111
112
113
114
115
116
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
###############################
# 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/