Files
2019j-naboj/naboj/Makefile

94 lines
3.4 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Simple recursive makefile + Makefile for contest
OUT=out
PROBLEMS=./problems
GRAPHICS=graphics# graphics for the batch (series)
PGRAPHICS=$(PROBLEMS)/graphics# graphics for problems
ROOMS_SRC=./rooms
# constants for given year
YEAR := 11
DATE := 2017-02-17
.SUFFIXES:
.PHONY: all clean cleanall tasks solutions results
# == Main targets ==
#all: rules tasks solutions results anketa prezence rooms proof fksdb-imports
all: tasks proof solutions results
include Makefile-old-graphics.inc
include $(PROBLEMS)/Makefile-fyz.inc
dep: $(PROBLEMS)/Makefile-fyz.inc $(PROBLEMS)/problem-sort.tex
tasks: dep $(OUT)/zadani-obalka.pdf $(OUT)/zadani-balicek.pdf
solutions: dep $(OUT)/reseni.pdf $(OUT)/reseni-print.pdf
results: dep $(OUT)/vysledky.pdf
proof: $(OUT)/korektury.pdf
$(eval PROBS=$(addsuffix }, $(addprefix $${problem_, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68))) # :-(
PROBDEP= $(addprefix $(PROBLEMS)/, $(PROBS))
GRAPHDEP=opr.eps ozn.eps neozn.eps
SERIEDEP=$(PROBDEP) $(addprefix $(GRAPHICS)/, $(GRAPHDEP)) common.tex naboj_team.tex $(PROBLEMS)/sort.tex
TEAMSCOUNT=$(shell cat naboj_team.tex | wc -l)
TEAMSEXTRA=0
#TEAMSCOUNT=1 # DELETE ONLY FOR PRINTING!
XELATEX_WEB=xelatex -output-directory $(@D) -jobname $(basename $(@F)) '\def\UseOption{web}\input{$<}' || (rm -f $@ && false)
XELATEX_PRINT=xelatex -output-directory $(@D) -jobname $(basename $(@F)) '\def\UseOption{print}\def\teamscount{$(TEAMSCOUNT)}\input{$<}' || (rm -f $@ && false)
# TODO { and }
TEX_ESCAPE=sed 's/{\(.\+\)\\/{\1\\textbackslash/' | sed 's/\([\#%&$$_]\)/\\\1/' | sed 's/~/\\textasciitilde/' | sed 's/\^/\\textasciicircum/'
# TODO ugly thing, gets rid of problematic unicode characters
UNICODE_ESCAPE=sed 's/α/$$\\alpha$$/' | sed 's/π/$$\\pi$$/' | sed 's//$$\\vee$$/'
$(PROBLEMS)/Makefile-fyz.inc: $(OUT)/Makefile-fyz.inc
cp $< $@
$(OUT)/Makefile-fyz.inc: $(PROBLEMS)/problem-sort.tex poradi_uloh.tex
xelatex -output-directory $(OUT) poradi_uloh.tex
$(OUT)/sort.tex: dep
# echo "Run \"make dep\" first for make dependencies!"
# pause
$(PROBLEMS)/sort.tex: $(OUT)/sort.tex
cp $< $@
XELATEXZO=xelatex -output-directory $(@D) -jobname '$(basename $(@F))' '\def\UseOption{print,obalka}\def\teamscount{$(TEAMSCOUNT)}\input{$<}' || (rm -f $@ && false)
$(OUT)/zadani-obalka.pdf: zadani.tex $(SERIEDEP)
$(XELATEXZO)
$(XELATEXZO)
XELATEXZB=xelatex -output-directory $(@D) -jobname '$(basename $(@F))' '\def\UseOption{print,balicek}\def\teamscount{$(TEAMSCOUNT)}\input{$<}' || (rm -f $@ && false)
$(OUT)/zadani-balicek.pdf: zadani.tex $(SERIEDEP)
$(XELATEXZB)
$(XELATEXZB)
$(OUT)/reseni.pdf: reseni.tex $(SERIEDEP)
$(XELATEX_WEB)
$(XELATEX_WEB)
XELATEX2=xelatex -output-directory $(@D) -jobname '$(basename $(@F))' '\def\classoptions{twoside}\def\UseOption{print}\input{$<}' || (rm -f $@ && false)
$(OUT)/reseni-print.pdf: reseni.tex $(SERIEDEP)
$(XELATEX2)
$(XELATEX2)
$(OUT)/vysledky.pdf: vysledky.tex $(SERIEDEP)
$(XELATEX_PRINT)
$(XELATEX_PRINT)
$(OUT)/korektury.pdf: korektury.tex $(SERIEDEP)
$(XELATEX_WEB)
$(XELATEX_WEB)
clean:
find $(OUT) -type f -not \( -name "*.pdf" -o -name ".*" \) | xargs rm
cleanall:
rm -f $(OUT)/*
rm -f teams.xml teams.tex naboj_team.csv
rm -f $(PROBLEMS)/Makefile-fyz.inc $(PROBLEMS)/sort.tex
# ls $(GRAPHICS) $(PGRAPHICS) | grep -v '\(mp\|plt\|eps\|jpg\|png\)$$' | xargs rm