###########################################################
#
# Makefile for compiling tex document
#
###########################################################

# target file name
TEXNAME  = scale-gm_users_guide
VERFNAME = 00_version.tex
VERTEMPL = 00_version_template.tex

# commands to compile documents
LATEX    = platex
BIBTEX   = bibtex
DVIPDF   = dvipdfmx -p a4
HTMLBIN  = pandoc --to=html
CURL     = curl -f -s -S --create-dirs
IMAGE_URL = https://scale.riken.jp/archives/figure
IMAGE_PATH = $(IMAGE_URL)/$(if $(shell git branch --contains 2>/dev/null|grep -v master|grep -v release|grep -v hotfix),devel,$(VERSION))

VERSION  = $(shell cat ../../../scale-rm/src/VERSION)

IMAGE_BASENAME = $(shell grep includegraphics *tex | ruby -n -e '/^\s*\\includegraphics.*\{(.+)\}/ =~ $$_.split(":")[1] && print(/\A([^.]+)(\..+)?\Z/=~File.basename($$1) && $$1+($$2 || ".eps"),"\n") ')
FIG_DIR = ../../figure
IMAGES = $(patsubst %,$(FIG_DIR)/%,$(IMAGE_BASENAME))

SRCS = $(wildcard *.tex) $(IMAGES)

all: pdf

pdf: $(TEXNAME).pdf

html: $(TEXNAME).html

clean:
	rm -f *.pdf *.dvi *.aux *.bbl *.blg *.log *.out *.toc $(VERFNAME)

$(TEXNAME).pdf: $(TEXNAME).dvi
	$(DVIPDF) $(TEXNAME)

$(TEXNAME).dvi: $(VERFNAME) $(SRCS)
	$(LATEX)  $(TEXNAME)
	$(LATEX)  $(TEXNAME)
	$(LATEX)  $(TEXNAME)

$(VERFNAME): $(VERTEMPL)
	$(shell cat $< | sed s/"#VERSION#"/$(VERSION)/g > $@)

$(TEXNAME).html: $(TEXNAME).tex
	$(HTMLBIN) $< -o $@


.SUFFIXES:
.SUFFIXES: .tex .bbl .dvi .pdf .bib .html .jpg

$(FIG_DIR)/%.jpg:
	$(if $(IMAGE_URL),,$(error IMAGE_URL is empty))
	$(CURL) $(IMAGE_PATH)/`basename $@` -o $@


.PHONY : pdf clean html
