https://github.com/stan-dev/stan
Raw File
Tip revision: e546c9c5b6beacd766bbd8ca2bce2cdf2e134ec5 authored by Mitzi Morris on 26 December 2016, 20:34:50 UTC
Merge pull request #2192 from stan-dev/release/v2.14.0
Tip revision: e546c9c
manual
.PHONY: manual $(STAN)src/docs/stan-reference/stan-reference.tex $(STAN)src/docs/stan-reference/stan-functions.txt

STAN_MAJOR := $(shell grep "\#define STAN_MAJOR" $(STAN)src/stan/version.hpp | sed -e 's/.*STAN_MAJOR \(.*\)/\1/')
STAN_MINOR := $(shell grep "\#define STAN_MINOR" $(STAN)src/stan/version.hpp | sed -e 's/.*STAN_MINOR \(.*\)/\1/')
STAN_PATCH := $(shell grep "\#define STAN_PATCH" $(STAN)src/stan/version.hpp | sed -e 's/.*STAN_PATCH \(.*\)/\1/')
VERSION_STRING := $(STAN_MAJOR).$(STAN_MINOR).$(STAN_PATCH)

manual: $(STAN)src/docs/stan-reference/stan-reference.pdf $(STAN)src/docs/stan-reference/stan-functions.txt
	@mkdir -p doc/
	$(foreach artifact, $^, cp $(artifact) doc/$(basename $(notdir $(artifact)))-$(VERSION_STRING)$(suffix $(artifact));)


$(STAN)src/docs/stan-reference/stan-functions.txt: $(STAN)src/docs/stan-reference/stan-reference.pdf
	@echo '  building $@'
	@echo '# This file is semicolon delimited' > $@
	@echo 'StanFunction; Arguments; ReturnType; Page' >> $@
	@sed 's/^\\indexentry{{\\tt  \\bfseries //g' $(STAN)src/docs/stan-reference/stan-reference.idx | \
	sed 's/ }!{\\tt  /;/g' | \
	sed 's/{\\tt  \\slshape  //g' | \
	sed 's/:.*T}\[.*\]}/;T\[\]/g' | \
	sed 's/:.*em}/;/g' | \
	sed 's/}|hyperpage}{/;/g' | \
	sed 's/ }!sampling statement|hyperpage}{/;~;real;/g' | \
        sed 's/|hyperpage/;/g' | \
	sed 's/}//g' | \
	sed 's/\\_/_/g' | \
	sed 's/^ //g' | \
	sed 's/"\(.*\)"/\1/g' | \
	sed 's/"!/!/g' | \
	sed 's/{\\\&\\\&/\&\&/g' | \
	sed 's/{//g' | \
	sed 's/\\textasciicircum/\^/g' | \
	sed 's/\\textbackslash /\\/g' | \
        sed 's/\\nobreakspace//g' | \
	sed 's/@.*(/;(/g' | \
	sed 's/ ;/;/g' | \
	sed 's/^phi/Phi/g' | \
	sort >> $@

MANUAL_FLAGS=

%.pdf: %.tex
	cd $(dir $@); latexmk -pdf -pdflatex="pdflatex -file-line-error" -use-make $(notdir $^)

back to top