#---*- Makefile -*-------------------------------------------------------
#$Author: saulius $
#$Date: 2019-10-16 07:31:34 +0000 (Wed, 16 Oct 2019) $
#$Revision: 226 $
#$URL: svn+ssh://saulius-grazulis.lt/home/saulius/svn-repositories/makefiles/tex_paper/Makelocal-tex_paper $
#------------------------------------------------------------------------

LTX_FILES ?= $(wildcard *.ltx)
TEX_FILES ?= $(wildcard *.tex)

PDF_TARGETS ?= $(wildcard $(LTX_FILES:%.ltx=%.pdf*)) \
	$(wildcard $(TEX_FILES:%.tex=%.pdf*))

PS_FILES   = $(LTX_FILES:%.ltx=%.ps)  $(TEX_FILES:%.tex=%.ps)
DVI_FILES  = $(LTX_FILES:%.ltx=%.dvi) $(TEX_FILES:%.tex=%.dvi)
PDF_FILES  = $(LTX_FILES:%.ltx=%.pdf) $(TEX_FILES:%.tex=%.pdf)

LOG_FILES  = $(LTX_FILES:%.ltx=%.log) $(TEX_FILES:%.tex=%.log)
AUX_FILES  = $(LTX_FILES:%.ltx=%.aux) $(TEX_FILES:%.tex=%.aux)
TOC_FILES  = $(LTX_FILES:%.ltx=%.toc) $(TEX_FILES:%.tex=%.toc)
OUT_FILES  = $(LTX_FILES:%.ltx=%.out) $(TEX_FILES:%.tex=%.out)

DEPEND_FILES = ${LTX_FILES:%.ltx=.%.d} ${TEX_FILES:%.tex=.%.d}

#------------------------------------------------------------------------------

all: $(PS_FILES) $(PDF_TARGETS)

include ${DEPEND_FILES}

ps:   $(PS_FILES)
dvi:  $(DVI_FILES)
pdf:  $(PDF_FILES)

#------------------------------------------------------------------------------

BIBLIOGRAPHY = \
    $(sort ${shell perl -ne 'print `find . -name $$1.bib`."\n" if /\\bibliography\{(.+)\}/' \
         ${LTX_FILES} ${TEX_FILES}})

# Forget the built-in TeX run rule:
%.dvi: %.tex

%.dvi: %.tex
	latex $*

## %.pdf: %.ps
## 	ps2pdf \
## 		-dAutoFilterColorImages=false \
## 		-dColorImageFilter=/FlateEncode \
## 	$< $@

%.pdf: %.ps
	ps2pdf \
	$< $@

%.ps: %.dvi
	dvips $*.dvi -D600 -o $@

.%.d: %.tex
	date +"# %F %T %Z" > $@
	mktexdepend $< >> $@

#------------------------------------------------------------------------------

.PHONY: clean cleanAll distclean
.PHONY: cleanps cleanpdf cleandvi

cleanps:
	rm -f $(PS_FILES)

cleanpdf:
	rm -f $(PDF_FILES)

cleandvi:
	rm -f $(DVI_FILES)

clean: 
	rm -f $(LOG_FILES) $(AUX_FILES) $(TOC_FILES) include/*.aux
	rm -f $(OUT_FILES)
	rm -f $(LTX_FILES:%.tex=%.idx)
	rm -f $(TEX_FILES:%.tex=%.idx)

cleanAll distclean: clean cleandvi cleanps cleanpdf
	rm -f ${DEPEND_FILES}
