SHELL=/bin/bash

DOCNUM:=JCTVC-J0092

LATEX:=$(shell which xelatex || which pdflatex || which latex)

all: $(DOCNUM).pdf

dist: $(shell git describe --tags --always).zip

%.aux: %.tex
	$(LATEX) $(LATEXFLAGS) $<

%.bib: %.tex %.aux
	bibtool -q -s -d -r <(echo check.double.delete = ON) -i ~/mpeg/doc/bib/jctvc.bib -x $(*F).aux -o $@
	touch $@

%.bbl: %.tex %.aux %.bib
	-bibtex $(*F)

ifneq ($(LATEX),latex)
%.pdf: %.tex %.bbl
	$(LATEX) $(LATEXFLAGS) $<
	$(LATEX) $(LATEXFLAGS) $<
endif

%.pdf: %.dvi
	dvipdfm $*.dvi

%.dvi: %.tex %.bbl
	$(LATEX) $(LATEXFLAGS) $<
	$(LATEX) $(LATEXFLAGS) $<

.PHONY: CHANGES.txt
CHANGES.txt:
	-git log --decorate v1.. > $@

DISTFILES:=\
	$(DOCNUM).pdf \
	hm-7.0+scailinglist+ts__vs__hm-7.0+scailinglist+ts+tsflatqm.xls \
	0001-Use-a-flat-scaling-matrix-when-TU-is-transform-s.patch \
	$(wildcard fig/*.pdf) \
	$(if $(findstring v1,$(shell git describe --always --tags --abbrev=0)),,CHANGES.txt) \
	$(NULL)

$(DOCNUM)-diff_%.pdf: LATEXFLAGS=--interaction=batchmode
$(DOCNUM)-diff_%.tex:
	-latexdiff-vc --exclude-safecmd=textbf --append-context1cmd=subfloat --append-context2cmd=multicolumn --encoding=utf8 --force --git -r $* $(DOCNUM).tex

REVISIONS:=$(filter-out v1,$(shell git tag -l 'v*'))
DISTFILES+=$(foreach version,$(REVISIONS),$(DOCNUM)-diff_$(shell git describe --tags --abbrev=0 $(version)^)..$(version).pdf)

%.zip: $(DISTFILES)
	git diff --quiet || ( echo Uncommited changes, please commit && exit 1 )
	git archive --format=zip --prefix=doc/ $(shell git tag --contains HEAD) > $@
	zip -r $@ $(DISTFILES)
