# make -n tylko wypisuje polecenia, nie wykonując ich
rerun = "(Rerun to get (cross-references|the bars) right)"
doc   = anotatornia_NK
latex = xelatex
# w pewnych kontekstach lepiej zostawić ścieżkę bez końcowego slasza.

gmdir = /home/natror/texmf/tex/latex/gm/

all: $(doc).pdf


# $< to pierwszy plik z wymienionych w zależności, 
# $^ to wszystkie pliki zależone
# $@ target file (użyteczne np. gdy trzeba podać output file)


#$(doc).idx: 
#	touch $@
# wiersze poleceń mają się zaczynać 1 znakiem tabulacji.
# gdyby tego tu nie było, to w pierwszym przebiegu nie ma pliku .idx.
# Ta zwrotka tworzy pusty plik .idx, o ile go nie było

#$(doc).ind: $(doc).idx
#	makeindex -r $(doc)

# $< to pierwszy plik z wymienionych w zależności, 
# $^ to wszystkie pliki zależone
# $@ target file (użyteczne np. gdy trzeba podać output file)

#$(doc).glo: 
#	touch $@

#$(doc).gls: $(doc).glo
#	makeindex -r -s gmglo.ist -o $@ $<

$(doc).toc: 
	touch $@

# $(doc).ind
$(doc).pdf: $(doc).tex  $(doc).toc
	cp -p $(doc).toc $(doc).toc1
#	cp -p $(doc).idx $(doc).idx1
#	cp -p $(doc).glo $(doc).glo1
	$(latex) $(doc).tex
#	(diff -q $(doc).idx $(doc).idx1 > /dev/null && cp -p $(doc).idx1 $(doc).idx) || true
#	(diff -q $(doc).glo $(doc).glo1 > /dev/null && cp -p $(doc).glo1 $(doc).glo) || true
	sleep 1
#	bo makeindex-a wykonywał w tej samej sekundzie, 
#	co zakończył tworzenie .pdf-a
	diff -q $(doc).toc $(doc).toc1 > /dev/null || touch $(doc).toc
#	(egrep -q $(rerun) $(doc).log && touch $(doc).toc) || true
#  sugestia LaTeXa, że należy jeszcze raz przeTeXować
#	to też powód, żeby przeTeXować raz jeszcze. Ale nie w tym przypadku: 
# 	pisał "Rerun..." w nieskończoność.
	$(MAKE) $@
# Rekursja nie jest nieskończona: jeśli .pdf będzie nowszy niż 
# pliki zależane, to żadne poniższe polecenie się nie wykona.
#
#	(egrep -q $(rerun) $(doc).log && $(latex) $(doc).tex) || true
# Wyrażenia obliczane są od lewej do prawej i tylko do miejsca, 
# w którym wartość wyrażenia jest znana.	
# || true jest po to, żeby Make nie zgłaszał, że coś poszło źle, 
# bo on ogląda kody zakończenia programów.

in:
	pdflatex instrukcja_NK
#	$(latex) instrukcja_NK

in2:
	pdflatex instrukcja_NK
	pdflatex instrukcja_NK


inz:
	zip -ju instrukcja instrukcja_NK.tex instrukcja_NK.pdf  anotuj-crop.png \
		$(gmdir)pmlectionis.cls \
		$(gmdir)gmutils.sty 		$(gmdir)lxtable.sty 		$(gmdir)gmverb.sty \
		$(gmdir)gmiflink.sty	$(gmdir)gmmacros.sty		$(gmdir)gmverse.sty	\
		$(gmdir)gmeometric.sty \
		/home/natror/texmf/tex/latex/tools/mwart.cls \
		/home/natror/texmf/tex/latex/tools/mw11.clo


lsr:
	cd ~/anotatornia;    	mv ls-R3 ls-R3~ ;	ls -R app > ls-R3;	ls -R db/migrate >> ls-R3


xe:
	$(latex) $(doc).tex

xe2:
	xelatex --no-pdf $(doc).tex
	xelatex $(doc).tex


clean:
	rm -f *.aux *.auxx *.log *.bbl *.blg *.ps *.dvi *.pdf *.toc *.out *.snm *.ind *.idx
