Skip to content
Snippets Groups Projects
Commit 06235a54 authored by Erwan Jahier's avatar Erwan Jahier
Browse files

Add a Makefile.dev for developpers and make sure the version number is always correct.

parent 4f6f011b
No related branches found
No related tags found
No related merge requests found
......@@ -36,35 +36,12 @@ distclean:
ocaml setup.ml -distclean
rm -rf _build/src
###############################
# tags
OTAGS=otags
# 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))
###############################
# opam-ing
NAME=lutils
PACKNAME=$(NAME).$(VERSION)
WWW=/import/www/DIST-TOOLS/SYNCHRONE
HTTP=http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE
$(PACKNAME).tgz:
git archive --prefix=$(PACKNAME)/ -o $(PACKNAME).tgz HEAD
$(WWW)/pool/$(PACKNAME).tgz: $(PACKNAME).tgz
mv $^ $@
opam : $(WWW)/pool/$(PACKNAME).tgz
cd $(WWW)/opam-repository/packages && \
oasis2opam $(HTTP)/pool/$(PACKNAME).tgz && \
cd .. ; opam-admin check && opam-admin make -g
# for developpers
include ./Makefile.dev
# not gitted stuff
-include ./Makefile.local
#######################################################################################
# Workflow:
# C=git commit ; A=git amend ; U=update_version ; O=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)
###############################
# a few git shortcuts
uv:update_version
update_version:
rm -f src/lutilsVersion.ml
make src/lutilsVersion.ml
cp _oasis _oasis.save
cat _oasis.save | sed "s/^Version:.*/Version: $(VERSION)/" > _oasis
rm -f committed
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
###############################
# forge
push:
git push git+ssh://$(USER)@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lutils/lutils.git
pull:
git pull git+ssh://$(USER)@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lutils/lutils.git
#############################
# tags
OTAGS=otags
# 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))
###############################
# opam-ing
NAME=lutils
PACKNAME=$(NAME).$(VERSION)
WWW=/import/www/DIST-TOOLS/SYNCHRONE
HTTP=http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE
$(PACKNAME).tgz:
git archive --prefix=$(PACKNAME)/ -o $(PACKNAME).tgz HEAD
$(WWW)/pool/$(PACKNAME).tgz: $(PACKNAME).tgz
mv $^ $@
opam : $(WWW)/pool/$(PACKNAME).tgz
cd $(WWW)/opam-repository/packages && \
oasis2opam $(HTTP)/pool/$(PACKNAME).tgz && \
cd .. ; opam-admin check && opam-admin make -g
......@@ -4,7 +4,6 @@ SHA:=$(shell git log -1 --pretty=format:"%h")
COMMIT_NB:=$(shell git log --pretty=oneline | wc -l)
VERSION:=1.$(COMMIT_NB)
......
\newcommand{\version}{1.4}
\newcommand{\sha}{f76bf61}
\newcommand{\sha}{4f6f011}
\newcommand{\versionname}{none}
\newcommand{\versiondate}{28-01-16}
\newcommand{\versiondate}{02-02-16}
# OASIS_START
# DO NOT EDIT (digest: dbea03afd5beab572192d8711a6cda76)
version = "1.0"
# DO NOT EDIT (digest: 001f58193d137e873d0b1451c9b716bc)
version = "1.4"
description = "shared by Verimag/synchronous tools (lustre, lutin, rdbg)."
requires = "unix str camlp4 num"
archive(byte) = "lutils.cma"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment