33 lines
1.1 KiB
Makefile
33 lines
1.1 KiB
Makefile
BASENAME=programmingstyle
|
|
|
|
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
|
|
|
|
|