####################################################################################### # 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) ci: 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 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 ############################### # 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/