SHELL = /bin/bash

GITREFSTAGS := $(shell ls -d .git/refs/tags 2>/dev/null)

LATEXSOURCES = \
	perfbook-lt.tex \
	legal.tex \
	summary.tex \
	glossary.tex \
	qqz.sty origpub.sty \
	glsdict.tex indexsee.tex \
	pfbook.cls \
	ushyphex.tex pfhyphex.tex \
	ack.tex \
	*/*.tex \
	*/*/*.tex

LST_SOURCES := $(wildcard CodeSamples/formal/promela/*.lst) \
	$(wildcard appendix/styleguide/*.c)

SUB_QQZ := qqzhowto.tex qqzintro.tex qqzcpu.tex qqztoolsoftrade.tex \
	qqzcount.tex qqzSMPdesign.tex qqzlocking.tex qqzowned.tex \
	qqzdefer.tex qqzdatastruct.tex qqzdebugging.tex qqzformal.tex \
	qqztogether.tex	qqzadvsync.tex qqzmemorder.tex qqzeasy.tex \
	qqzfuture.tex qqzquestions.tex qqztoyrcu.tex qqzwhymb.tex

LATEXGENERATED = autodate.tex qqz.tex contrib.tex origpub.tex sub_qqz
# Note: Empty target "sub_qqz" is used on behalf of $(SUB_QQZ) to prevent
# parallel runs of divideqqz.pl.

TWOCOLTARGETS := mstx msr msn msnt sf nq sfnq ix df
EBTARGETS := $(foreach v,nq sf sfnq ix df,eb$(v))
ABBREVTARGETS := lt hb a4 1c tcb msns mss eb $(TWOCOLTARGETS) $(foreach v,$(TWOCOLTARGETS),1c$(v)) $(EBTARGETS)

PDFTARGETS := perfbook.pdf $(foreach v,$(ABBREVTARGETS),perfbook-$(v).pdf)
GENERATED_MAIN := $(filter-out perfbook-lt.tex,$(foreach v,$(ABBREVTARGETS),perfbook-$(v).tex)) perfbook.tex

EPSSOURCES_FROM_TEX := \
	SMPdesign/DiningPhilosopher5.eps \
	SMPdesign/DiningPhilosopher5TB.eps \
	SMPdesign/DiningPhilosopher4part-b.eps \
	SMPdesign/DiningPhilosopher5PEM.eps

PDFTARGETS_OF_TEX := $(EPSSOURCES_FROM_TEX:%.eps=%.pdf)

DOTSOURCES := $(wildcard */*.dot)

EPSSOURCES_FROM_DOT := $(DOTSOURCES:%.dot=%.eps)

FIGSOURCES := $(wildcard */*.fig) $(wildcard */*/*.fig)

EPSSOURCES_FROM_FIG := $(FIGSOURCES:%.fig=%.eps)

SVGSOURCES := $(wildcard */*.svg)
FAKE_EPS_FROM_SVG := $(SVGSOURCES:%.svg=%.eps)
PDFTARGETS_OF_SVG := $(SVGSOURCES:%.svg=%.pdf)

OBSOLETE_FILES = extraction $(FAKE_EPS_FROM_SVG) CodeSamples/snippets.mk

EPSSOURCES_DUP := \
	$(wildcard */*.eps) \
	$(wildcard */*/*.eps) \
	$(wildcard */*/*/*.eps) \
	$(wildcard */*/*/*/*.eps) \
	$(wildcard */*/*/*/*/*.eps) \
	$(EPSSOURCES_FROM_TEX) \
	$(EPSSOURCES_FROM_DOT) \
	$(EPSSOURCES_FROM_FIG)

EPSSOURCES_OLD := \
	$(wildcard CodeSamples/*/*/OLD-*/*.eps) \
	$(wildcard CodeSamples/*/*/OLD-*/*/*.eps) \
	$(wildcard CodeSamples/*/*/*/OLD-*/*.eps) \
	$(wildcard CodeSamples/*/*/*/OLD-*/*/*.eps)

EPSSOURCES := $(sort $(filter-out $(EPSSOURCES_OLD),$(filter-out $(OBSOLETE_FILES),$(EPSSOURCES_DUP))))

PDFTARGETS_OF_EPS := $(EPSSOURCES:%.eps=%.pdf)

EPSORIGIN := $(filter-out $(EPSSOURCES_FROM_TEX) $(EPSSOURCES_FROM_DOT) $(EPSSOURCES_FROM_FIG),$(EPSSOURCES))

GNUPLOT_ORIG := $(shell grep -l gnuplot $(EPSORIGIN))
GNUPLOT_ORIG_NOFIXFONTS := $(shell grep -l '/FontMatrix' $(GNUPLOT_ORIG))
GNUPLOT_ORIG_NEEDFIXFONTS := $(filter-out $(GNUPLOT_ORIG_NOFIXFONTS),$(GNUPLOT_ORIG))
EPSORIG_NOFIXFONTS := $(filter-out $(GNUPLOT_ORIG_NEEDFIXFONTS),$(EPSORIGIN))

PDFTARGETS_OF_EPSORIG := $(EPSORIGIN:%.eps=%.pdf)
PDFTARGETS_OF_GNUPLOT_NEEDFIXFONTS := $(GNUPLOT_ORIG_NEEDFIXFONTS:%.eps=%.pdf)
PDFTARGETS_OF_EPSORIG_NOFIXFONTS := $(EPSORIG_NOFIXFONTS:%.eps=%.pdf)

PDFTARGETS_OF_EPSOTHER := $(filter-out $(PDFTARGETS_OF_EPSORIG) $(PDFTARGETS_OF_TEX),$(PDFTARGETS_OF_EPS))

BIBSOURCES := bib/*.bib alphapf.bst

# required commands
DOT := $(shell which dot 2>/dev/null)
FIG2EPS := $(shell which fig2eps 2>/dev/null)
INKSCAPE := $(shell which inkscape 2>/dev/null)
ifdef INKSCAPE
  INKSCAPE_ONE := $(shell inkscape --version 2>/dev/null | grep -c "Inkscape 1")
endif
LATEXPAND := $(shell which latexpand 2>/dev/null)
QPDF := $(shell which qpdf 2>/dev/null)

# required fonts
STEELFONT := $(shell fc-list | grep -c -i steel)
URWPS := $(shell fc-list | grep "Nimbus Mono PS" | wc -l)

# required font packages
FONTPACKAGES := $(shell kpsewhich newtxtext.sty nimbusmono.sty newtxtt.sty newtxsf.sty inconsolata.sty couriers.sty)
NEWTXTEXT := $(findstring newtxtext,$(FONTPACKAGES))
NIMBUSMONO := $(findstring nimbusmono,$(FONTPACKAGES))
NEWTXTT := $(findstring newtxtt,$(FONTPACKAGES))
COURIERS := $(findstring couriers,$(FONTPACKAGES))
NEWTXSF := $(findstring newtxsf,$(FONTPACKAGES))
INCONSOLATA := $(findstring inconsolata,$(FONTPACKAGES))
FREESANS := $(shell fc-list | grep FreeSans | wc -l)
DEJAVUMONO := $(shell fc-list | grep "DejaVu Sans Mono" | wc -l)

# for line break in error text
define n


endef

ifeq ($(URWPS),0)
FIXSVGFONTS   = utilities/fixsvgfonts.sh
FIXANEPSFONTS = utilities/fixanepsfonts.sh
FIXFONTS      = utilities/fixfonts.sh
else
FIXSVGFONTS   = utilities/fixsvgfonts-urwps.sh
FIXANEPSFONTS = utilities/fixanepsfonts-urwps.sh
FIXFONTS      = utilities/fixfonts-urwps.sh
endif
ifeq ($(FREESANS),0)
  RECOMMEND_FREEFONT := 1
else
  RECOMMEND_FREEFONT := 0
endif
ifeq ($(DEJAVUMONO),0)
  RECOMMEND_DEJAVU := 1
else
  RECOMMEND_DEJAVU := 0
endif

STEELFONTID := $(shell fc-list | grep -i steel | grep -c Steel)

LINELABEL_ENV_BEGIN := $(shell grep -l -F '\begin{linelabel}' $(LATEXSOURCES))
LINELABEL_ENV_END   := $(shell grep -l -F '\end{linelabel}'   $(LATEXSOURCES))
LINEREF_ENV_BEGIN   := $(shell grep -l -F '\begin{lineref}'   $(LATEXSOURCES))
LINEREF_ENV_END     := $(shell grep -l -F '\end{lineref}'     $(LATEXSOURCES))
LINELABEL_ENV := $(sort $(LINELABEL_ENV_BEGIN) $(LINELABEL_ENV_END))
LINEREF_ENV   := $(sort $(LINEREF_ENV_BEGIN) $(LINEREF_ENV_END))

CREFPTN    := '\\[Cc](ln)?ref{[^}]+}\s*{[^}]+}'
CREFPAIR   := $(shell grep -l -zo -E $(CREFPTN)   $(LATEXSOURCES))

SOURCES_OF_SNIPPET_ALL := $(shell grep -r -l -F '\begin{snippet}' CodeSamples)
SOURCES_OF_LITMUS      := $(shell grep -r -l -F '\begin[snippet]' CodeSamples)
SOURCES_OF_LTMS        := $(patsubst %.litmus,%.ltms,$(SOURCES_OF_LITMUS))
SOURCES_OF_SNIPPET     := $(filter-out $(SOURCES_OF_LTMS),$(SOURCES_OF_SNIPPET_ALL)) $(SOURCES_OF_LITMUS)
GEN_SNIPPET_D  = utilities/gen_snippet_d.pl utilities/gen_snippet_d.sh

default = $(PERFBOOK_DEFAULT)

ifeq ($(default),)
	targ = perfbook.pdf
else
	targ = $(default)
endif

chkpagegroup = $(PERFBOOK_CHKPAGEGROUP)

ifeq ($(PERFBOOK_PAPER),A4)
	PERFBOOK_BASE = perfbook-a4.tex
else
ifeq ($(PERFBOOK_PAPER),HB)
	PERFBOOK_BASE = perfbook-hb.tex
else
	PERFBOOK_BASE = perfbook-lt.tex
endif
endif

BASE_DEPENDS := perfbook.tex $(foreach v,tcb 1c msns mss mstx msr msn msnt sf nq ix df,perfbook-$(v).tex)

.PHONY: all touchsvg clean distclean neatfreak 2c ls-unused $(ABBREVTARGETS)
.PHONY: mslm perfbook-mslm.pdf mslmmsg
.PHONY: qq perfbook-qq.pdf qqmsg
.PHONY: help help-official help-full help-semiofficial help-paper help-draft
.PHONY: help-experimental help-prefixed
.PHONY: paper-clean periodcheck punctcheck punctcheck-auto
.PHONY: cleanfigs cleanfigs-eps cleanfigs-svg figs

all: punctcheck-auto

ifeq ($(MAKECMDGOALS),clean)
else ifeq ($(MAKECMDGOALS),distclean)
else ifeq ($(MAKECMDGOALS),neatfreak)
else
-include CodeSamples/snippets.d
endif

2c: perfbook.pdf

mslm: perfbook-mslm.pdf
perfbook-mslm.pdf: mslmmsg

qq: perfbook-qq.pdf
perfbook-qq.pdf: qqmsg

mslmmsg: perfbook.pdf
	@echo "perfbook-mslm.pdf is promoted to default target,"
	@echo "built as perfbook.pdf."

qqmsg: perfbook.pdf
	@echo "perfbook-qq.pdf is promoted to default target,"
	@echo "built as perfbook.pdf."

$(PDFTARGETS): %.pdf: %.tex %.bbl
	sh utilities/runlatex.2022.01.25.sh $(basename $@)

$(PDFTARGETS:.pdf=.bbl): %.bbl: %.aux $(BIBSOURCES)
	bibtex $(basename $@)

$(PDFTARGETS:.pdf=.aux): $(LATEXGENERATED) $(LATEXSOURCES) $(LST_SOURCES)
ifeq ($(NEWTXTEXT),)
	$(error Font package 'newtx' not found. See #9 in FAQ-BUILD.txt)
endif
	sh utilities/runfirstlatex.2022.01.25.sh $(basename $@)

autodate.tex: perfbook-lt.tex $(LATEXSOURCES) $(BIBSOURCES) \
    $(PDFTARGETS_OF_EPS) $(PDFTARGETS_OF_SVG) $(FCVSNIPPETS) $(FCVSNIPPETS_VIA_LTMS) \
    $(GITREFSTAGS) utilities/autodate.sh
	sh utilities/autodate.sh

perfbook_flat.tex: autodate.tex
ifndef LATEXPAND
	$(error --> $@: latexpand not found. Please install it)
endif
	@if [ ! -z "$(LINELABEL_ENV)" -a "$(LINELABEL_ENV)" != " " ]; then \
		echo "'linelabel' used as environment in $(LINELABEL_ENV)." ; \
		echo "------" ; \
		grep -n -B 2 -A 2 -F 'linelabel' $(LINELABEL_ENV) ; \
		echo "------" ; \
		echo "Substitute 'fcvlabel' for 'linelabel' in $(LINELABEL_ENV)." ; \
		exit 1 ; \
	fi
	@if [ ! -z "$(LINEREF_ENV)" -a "$(LINEREF_ENV)" != " " ]; then \
		echo "'lineref' used as environment in $(LINEREF_ENV)." ; \
		echo "------" ; \
		grep -n -B 2 -A 2 -F 'lineref' $(LINEREF_ENV) ; \
		echo "------" ; \
		echo "Substitute 'fcvref' for 'lineref' in $(LINEREF_ENV)." ; \
		exit 1 ; \
	fi
	@if [ ! -z "$(CREFPAIR)" -a "$(CREFPAIR)" != " " ]; then \
		echo "------" ; \
		if grep -q -E $(CREFPTN) $(CREFPAIR) ; then \
			grep -n -B 2 -A 2 -E $(CREFPTN) $(CREFPAIR) ; \
		else \
			grep -zo -B 2 -A 2 -E $(CREFPTN) $(CREFPAIR) ; \
			echo ; \
		fi ; \
		echo "------" ; \
		echo "Need to use \[Cc]refrange or \[Cc]lnrefrangein $(CREFPAIR)." ; \
		exit 1 ; \
	fi
	echo > qqz.tex
	echo > contrib.tex
	echo > origpub.tex
	latexpand --empty-comments perfbook-lt.tex 1> $@ 2> /dev/null

qqz.tex: perfbook_flat.tex
	sh utilities/extractqqz.sh < $< | perl utilities/qqzreorder.pl > $@

contrib.tex: perfbook_flat.tex qqz.tex
	cat $^ | sh utilities/extractcontrib.sh > $@

origpub.tex: perfbook_flat.tex
	sh utilities/extractorigpub.sh < $< > $@

# Empty target to generate $(SUB_QQZ) files
sub_qqz: qqz.tex
	utilities/divideqqz.pl
	@touch sub_qqz

perfbook.tex: $(PERFBOOK_BASE)
	cp $< $@

perfbook-tcb.tex: $(PERFBOOK_BASE)
	sed -e 's/{tblcptop}{true}/{tblcptop}{false}/' < $< > $@

perfbook-1c.tex: $(PERFBOOK_BASE)
	sed -e 's/setboolean{twocolumn}{true}/setboolean{twocolumn}{false}/' < $< > $@

perfbook-hb.tex: perfbook-lt.tex
	sed -e 's/setboolean{hardcover}{false}/setboolean{hardcover}{true}/' < $< > $@

perfbook-eb.tex: perfbook-lt.tex
	sed -e 's/setboolean{ebooksize}{false}/setboolean{ebooksize}{true}/' < $< > $@
	sed -i 's/setboolean{twocolumn}{true}/setboolean{twocolumn}{false}/' $@

perfbook-msns.tex: $(PERFBOOK_BASE)
	sed -e 's/%msfontstub/\\usepackage{courier}/' < $< > $@

perfbook-mss.tex: $(PERFBOOK_BASE)
ifeq ($(COURIERS),)
	$(error Font package 'courier-scaled' not found. See #9 in FAQ-BUILD.txt)
endif
	sed -e 's/%msfontstub/\\usepackage[scaled=.94]{couriers}/' < $< > $@

perfbook-mstx.tex: $(PERFBOOK_BASE)
perfbook-1cmstx.tex: perfbook-1c.tex
perfbook-mstx.tex perfbook-1cmstx.tex:
	sed -e 's/%msfontstub/\\renewcommand*\\ttdefault{txtt}/' < $< > $@

perfbook-msr.tex: $(PERFBOOK_BASE)
perfbook-1cmsr.tex: perfbook-1c.tex
perfbook-msr.tex perfbook-1cmsr.tex:
ifeq ($(NIMBUSMONO),)
	$(error Font package 'nimbus15' not found. See #9 in FAQ-BUILD.txt)
endif
	sed -e 's/%msfontstub/\\usepackage[scaled=.94]{nimbusmono}/' \
	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@

perfbook-msn.tex: $(PERFBOOK_BASE)
perfbook-1cmsn.tex: perfbook-1c.tex
perfbook-msn.tex perfbook-1cmsn.tex:
ifeq ($(NIMBUSMONO),)
	$(error Font package 'nimbus15' not found. See #9 in FAQ-BUILD.txt)
endif
	sed -e 's/\\renewcommand\*\\ttdefault{lmtt}//' \
	    -e 's/{lmttforcode}{true}/{lmttforcode}{false}/' \
	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@

perfbook-msnt.tex: $(PERFBOOK_BASE)
perfbook-1cmsnt.tex: perfbook-1c.tex
perfbook-msnt.tex perfbook-1cmsnt.tex:
ifeq ($(NEWTXTT),)
	$(error Font package 'newtxtt' not found.$nInstall it or try 'make mstx' instead. See #9 in FAQ-BUILD.txt)
endif
ifeq ($(NIMBUSMONO),)
	$(error Font package 'nimbus15' not found. See #9 in FAQ-BUILD.txt)
endif
	sed -e 's/%msfontstub/\\usepackage[zerostyle=a]{newtxtt}/' \
	    -e 's/{qqzbg}{false}/{qqzbg}{true}/' \
	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@

perfbook-sf.tex: $(PERFBOOK_BASE)
perfbook-1csf.tex: perfbook-1c.tex
perfbook-ebsf.tex: perfbook-eb.tex
perfbook-sf.tex perfbook-1csf.tex perfbook-ebsf.tex:
ifeq ($(NEWTXSF),)
	$(error Font package 'newtxsf' not found. See #9 in FAQ-BUILD.txt)
endif
ifeq ($(INCONSOLATA),)
	$(error Font package 'inconsolata' not found. See #9 in FAQ-BUILD.txt)
endif
ifeq ($(NIMBUSMONO),)
	$(error Font package 'nimbus15' not found. See #9 in FAQ-BUILD.txt)
endif
	sed -e 's/setboolean{sansserif}{false}/setboolean{sansserif}{true}/' \
	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' \
	    -e 's/%msfontstub/\\usepackage[var0]{inconsolata}[2013\/07\/17]/' < $< > $@

perfbook-nq.tex: $(PERFBOOK_BASE)
perfbook-sfnq.tex: perfbook-sf.tex
perfbook-1cnq.tex: perfbook-1c.tex
perfbook-1csfnq.tex: perfbook-1csf.tex
perfbook-ebnq.tex: perfbook-eb.tex
perfbook-ebsfnq.tex: perfbook-ebsf.tex
perfbook-nq.tex perfbook-sfnq.tex perfbook-1cnq.tex perfbook-1csfnq.tex perfbook-ebnq.tex perfbook-ebsfnq.tex:
	sed -e 's/setboolean{qqzbg}{true}/setboolean{qqzbg}{false}/' \
	    -e 's/setboolean{noqqz}{false}/setboolean{noqqz}{true}/' < $< > $@

perfbook-ix.tex: $(PERFBOOK_BASE)
perfbook-1cix.tex: perfbook-1c.tex
perfbook-ebix.tex: perfbook-eb.tex
perfbook-ix.tex perfbook-1cix.tex perfbook-ebix.tex:
	sed -e 's/setboolean{qqzbg}{true}/setboolean{qqzbg}{false}/' \
	    -e 's/setboolean{indexhl}{false}/setboolean{indexhl}{true}/' < $< > $@

perfbook-df.tex: $(PERFBOOK_BASE)
perfbook-1cdf.tex: perfbook-1c.tex
perfbook-ebdf.tex: perfbook-eb.tex
perfbook-df.tex perfbook-1cdf.tex perfbook-ebdf.tex:
	sed -e 's/setboolean{qqzbg}{true}/setboolean{qqzbg}{false}/' \
	    -e 's/setboolean{indexon}{true}/setboolean{indexon}{false}/' < $< > $@

perfbook-a4.tex: perfbook-lt.tex
perfbook-a4.tex:
	sed -e 's/{afourpaper}{false}/{afourpaper}{true}/' < $< > $@

# Rules related to perfbook_html are removed as of May, 2016

$(EPSSOURCES_FROM_TEX): $(FIXANEPSFONTS) $(FIXFONTS)
$(EPSSOURCES_FROM_TEX): %.eps: %.tex
	@echo "$< --> $(suffix $@)"
	sh utilities/mpostcheck.sh
	@latex -output-directory=$(shell dirname $<) $< > /dev/null 2>&1
	@dvips -Pdownload35 -E $(patsubst %.tex,%.dvi,$<) -o $@ > /dev/null 2>&1
	@sh $(FIXANEPSFONTS) $@

$(EPSSOURCES_FROM_DOT): $(FIXANEPSFONTS) $(FIXFONTS)
$(EPSSOURCES_FROM_DOT): %.eps: %.dot
	@echo "$< --> $(suffix $@)"
ifndef DOT
	$(error $< --> $@: dot not found. Please install graphviz)
endif
	@dot -Tps -o $@ $<
	@sh $(FIXANEPSFONTS) $@

$(EPSSOURCES_FROM_FIG): $(FIXANEPSFONTS) $(FIXFONTS)
$(EPSSOURCES_FROM_FIG): %.eps: %.fig
	@echo "$< --> $(suffix $@)"
ifndef FIG2EPS
	$(error $< --> $@: fig2eps not found. Please install fig2ps)
endif
	@fig2eps --nogv $< > /dev/null 2>&1
	@sh $(FIXANEPSFONTS) $@

# .eps --> .pdf rules
ifdef USE_A2PING
  include a2ping-rule.mk
else
  include epstopdf-rule.mk
endif

$(PDFTARGETS_OF_SVG): $(FIXSVGFONTS)
$(PDFTARGETS_OF_SVG): %.pdf: %.svg
	@echo "$< --> $(suffix $@)"
ifeq ($(STEELFONT),0)
	$(error "Steel City Comic" font not found. See #1 in FAQ.txt)
endif
ifndef INKSCAPE
	$(error $< --> $@ inkscape not found. Please install it)
endif
ifeq ($(STEELFONTID),0)
	@sh $(FIXSVGFONTS) < $< | sed -e 's/Steel City Comic/Test/g' > $<i
else
	@sh $(FIXSVGFONTS) < $< > $<i
endif
ifeq ($(RECOMMEND_FREEFONT),1)
	$(info Nice-to-have font package 'gnu-freefont' not found. See #9 in FAQ-BUILD.txt)
endif
ifeq ($(RECOMMEND_DEJAVU),1)
	$(info Nice-to-have font package 'dejavu' not found. See #9 in FAQ-BUILD.txt)
endif
ifeq ($(INKSCAPE_ONE),0)
	@inkscape --export-pdf=$@ $<i > /dev/null 2>&1
else
	@inkscape -o $@ $<i > /dev/null 2>&1
endif
	@rm -f $<i
ifeq ($(chkpagegroup),on)
ifndef QPDF
	$(error qpdf not found. Please install it)
endif
	@echo "checking page group in $@"
	@qpdf --qdf $@ $@q
	@./utilities/extpagegroup.pl < $@q > $@p
	@diff -q -w $@p pagegroup
	@rm -f $@q $@p
endif

CodeSamples/snippets.d: $(SOURCES_OF_SNIPPET) $(GEN_SNIPPET_D)
	sh ./utilities/gen_snippet_d.sh

$(FCVSNIPPETS):
	@echo "$< --> $(suffix $@)"
	@utilities/fcvextract.pl $< $(subst +,\\+,$(subst @,:,$(basename $(notdir $@)))) > $@
	@utilities/checkfcv.pl $@

$(FCVSNIPPETS_VIA_LTMS):
	@echo "$< --> $(suffix $@)"
	@utilities/fcvextract.pl $< $(subst +,\\+,$(subst @,:,$(basename $(notdir $@)))) > $@
	@utilities/checkfcv.pl $@

$(FCVSNIPPETS_LTMS):
	@echo "$< --> $(suffix $@)"
	@utilities/reorder_ltms.pl $< > $@

help-official:
	@echo "Official targets (Latin Modern Typewriter for monospace font):"
	@echo "  Full,              Abbr."
	@echo "  perfbook.pdf,      2c:   (default) 2-column layout"
	@echo "  perfbook-1c.pdf,   1c:   1-column layout"
	@echo "Note:"
	@echo "  Official targets now enable indexing and Quick-Quiz framing."

help-semiofficial:
	@echo
	@echo "Semi-official targets:"
	@echo "  Full,              Abbr."
	@echo "  perfbook-nq.pdf,   nq:   2c without inline Quick Quizzes (chapterwise Qs)"
	@echo "  perfbook-sf.pdf,   sf:   2c with sans serif font"
	@echo "  perfbook-sfnq.pdf, sfnq: sf + nq"

help-paper:
	@echo
	@echo "Set env variable PERFBOOK_PAPER to change paper size:"
	@echo "   PERFBOOK_PAPER=A4: a4paper"
	@echo "   PERFBOOK_PAPER=HB: hard cover book"
	@echo "   other (default):   letterpaper"
	@echo "Note:"
	@echo "  Modified PERFBOOK_PAPER takes effect after \"make paper-clean\"."
	@echo
	@echo "Paper-size specific targets (independent of PERFBOOK_PAPER):"
	@echo "  perfbook-lt.pdf,   lt:   2c layout on letterpaper"
	@echo "  perfbook-hb.pdf,   hb:   2c layout for hard cover book"
	@echo "  perfbook-a4.pdf,   a4:   2c layout on a4paper"
	@echo "  perfbook-eb.pdf,   eb:   1c layout for ebook reader (WIP)"

help: help-official help-paper
	@echo
	@echo "\"make help-full\" will show the full list of available targets."

help-draft:
	@echo
	@echo "Targets for draft check, non-framed Quick Quizzes (quicker build)"
	@echo "  perfbook-ix.pdf,   ix:   for draft check, with indexed terms highlighted"
	@echo "  perfbook-df.pdf,   df:   for draft check, without indexing"

help-prefixed:
	@echo
	@echo "Prefixed targets:"
	@echo "  \"1c*\" such as \"1cnq\", \"1csf\", and \"1cix\" are for 1c-layout."
	@echo "  \"ebnq\", \"ebsf\", \"ebsfnq\", \"ebix\", and \"ebdf\" are for ebook-size 1c-layout,"
	@echo "     independent of PERFBOOK_PAPER. (WIP)"

help-experimental:
	@echo
	@echo "Experimental targets:"
	@echo "  perfbook-msnt.pdf, msnt: newtxtt as monospace (non-slashed 0)"
	@echo "  perfbook-mstx.pdf, mstx: txtt as monospace"
	@echo "  perfbook-msr.pdf,  msr:  regular thickness courier clone as monospace"
	@echo "  perfbook-msn.pdf,  msn:  narrow courier clone as monospace"
	@echo
	@echo "Historical targets:"
	@echo "  perfbook-tcb.pdf,  tcb:  table caption at bottom (First Edition)"
	@echo "  perfbook-msns.pdf, msns: non-scaled courier (First Edition)"
	@echo "  perfbook-mss.pdf,  mss:  scaled courier (default in early 2017)"
	@echo
	@echo "Notes:"
	@echo "  - \"msnt\" requires \"newtxtt\". \"mstx\" is a fallback target for older TeX env."
	@echo "  - \"msr\" and \"msn\" require \"nimbus15\"."
	@echo "  - \"msn\" doesn't cover bold face monospace."
	@echo "  - \"sf\" requires \"newtxsf\"."
	@echo "  - All the targets except for \"msn\" use \"Latin Modern Typewriter\" font"
	@echo "    for code snippets."

help-full: help-official help-paper help-semiofficial help-draft help-prefixed help-experimental

clean:
	find . -name '*.aux' -o -name '*.blg' \
		-o -name '*.dvi' -o -name '*.log' \
		-o -name '*.qqz' -o -name '*.toc' -o -name '*.bbl' \
		-o -name '*.pdfp' -o -name '*.pdfq' | xargs rm -f
	rm -f perfbook_flat.tex perfbook*.out $(GENERATED_MAIN)
	rm -f $(LATEXGENERATED)
	rm -f qqz*.tex
	rm -f perfbook*.idx perfbook*.ind perfbook*.ilg perfbook*.ist
	rm -f perfbook*.acn perfbook*.acr perfbook*.alg
	rm -f perfbook*.glg perfbook*.glo perfbook*.gls perfbook*.glsdefs
	rm -f CodeSamples/snippets.d
	rm -f *.synctex*
	@rm -f $(OBSOLETE_FILES)

paper-clean:
	rm -f $(BASE_DEPENDS)

distclean: clean
	sh utilities/cleanpdf.sh
	rm -f $(EPSSOURCES_FROM_DOT) $(EPSSOURCES_FROM_TEX) $(EPSSOURCES_FROM_FIG)
	find . -name '*.fcv' -o -name '*.ltms' | xargs rm -f

touchsvg:
	find . -name '*.svg' | xargs touch

ls-unused:
	find . -name .unused | xargs ls

neatfreak: distclean
	find . -name '*.pdf' | xargs rm -f

cleanfigs-eps:
	rm -f $(EPSSOURCES_FROM_TEX) $(EPSSOURCES_FROM_DOT) $(EPSSOURCES_FROM_FIG)
	rm -f $(PDFTARGETS_OF_EPS)

cleanfigs-svg:
	rm -f $(PDFTARGETS_OF_SVG)

cleanfigs: cleanfigs-eps cleanfigs-svg

figs: $(PDFTARGETS_OF_EPS) $(PDFTARGETS_OF_SVG)

punctcheck:
	utilities/punctcheck.sh
	utilities/cleverefcheck.sh

punctcheck-auto: $(targ)
	utilities/punctcheck.sh
	utilities/cleverefcheck.sh

periodcheck: punctcheck

.SECONDEXPANSION:
$(ABBREVTARGETS): %: perfbook-$$@.pdf
