#######################################################################################
# debug with ocamldebug



debug:
	cd bin; dune build main.bc

# generates build/default/bin/main.bc


#######################################################################################
# TEST, NON REGR. ETC...
TESTDIR=./test

.PHONY: diff test log opam

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

uv:update_version
update_version:
	git pull
	rm -f lib/lv6version.ml
	make lib/lv6version.ml
	make clean && make

BRANCH=$(shell git rev-parse --abbrev-ref HEAD)

cia:test
	git commit -a -F log && echo "Hint: 'make ci' to test the CI before doing 'make 'push'"


push: opam-test
	git push && make uv

amend:
	git commit -a -F log --amend


###############################
# opam-ing

NAME=lustre-v6
SRC=lib bin LICENSE Makefile Makefile.version *.opam dune-project

$(NAME).$(VERSION).tgz: $(SRC)
	git archive --prefix=$(NAME).$(VERSION)/ -o $@ HEAD $(SRC) test

opam-rel : $(NAME).$(VERSION).tgz
	git pull
	echo "if the git pull did not change the version, you can launch:"
	echo "make-opam-pack $(NAME).$(VERSION) $(NAME)"

opam-test : $(NAME).$(VERSION).tgz
	git pull
	echo "if the git pull did not change the version, you can launch:\n"
	echo "make-opam-pack $(NAME).$(VERSION) $(NAME) -test"




###############################
# pushing onto the official repo

TGZ=http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/pool/$(NAME).$(VERSION).tgz
opam-pr:
	echo "yaka lancer ca (sur le bon $(TGZ) !!)"
	echo "opam publish $(TGZ) . && \
	      git commit -m \"fix: a fake commit to protect the tgz used in the main opam repo\" --allow-empty"
	echo "et faire un git tag official-opam-release"
	echo "ZZZ verifier que le .tgz a le bon md5sum dans le opam"