#######################################################################################
# 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
	make-opam-pack $(NAME).$(VERSION) $(NAME)

opam-test : $(NAME).$(VERSION).tgz
	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"
	echo "opam publish $(TGZ) ."

opam-pr-merged:
	git commit -m "fix: a fake commit to protect the tgz used in the main opam repo" --allow-empty