BASENAME=programming

#TEXFILES=boolean_logical_indexing.tex control_structures.tex data_structures.tex plotting.tex programming_basics.tex scripts_functions.tex sta_stc.tex variables_datatypes.tex vectors_matrices.tex

PYFILES=$(wildcard *.py)
PYPDFFILES=$(PYFILES:.py=.pdf)

all : pdf 

# script:
pdf : $(BASENAME)-chapter.pdf

$(BASENAME)-chapter.pdf : $(BASENAME)-chapter.tex $(BASENAME).tex $(PYPDFFILES) ../../header.tex
	CHAPTER=$$(( $$(sed -n -e '/contentsline {chapter}/{s/.*numberline {\([0123456789]*\)}.*/\1/; p}' $(BASENAME).aux) - 1 )); \
	PAGE=$$(sed -n -e '/contentsline {chapter}/{s/.*numberline {.*}.*}{\(.*\)}{chapter.*/\1/; p}' $(BASENAME).aux); \
	sed -i -e "s/setcounter{page}{.*}/setcounter{page}{$$PAGE}/; s/setcounter{chapter}{.*}/setcounter{chapter}{$$CHAPTER}/" $(BASENAME)-chapter.tex
	pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true

$(PYPDFFILES) : %.pdf : %.py
	python $<

clean :
	rm -f *~ 
	rm -f $(BASENAME).aux $(BASENAME).log
	rm -f $(BASENAME)-chapter.aux $(BASENAME)-chapter.log $(BASENAME)-chapter.out
	rm -f $(PYPDFFILES) $(GPTTEXFILES)

cleanall : clean
	rm -f $(BASENAME)-chapter.pdf

watchpdf :
	while true; do ! make -q pdf && make pdf; sleep 0.5; done