kopie minulého náboje + nové úlohy
This commit is contained in:
93
naboj/Makefile
Normal file
93
naboj/Makefile
Normal file
@ -0,0 +1,93 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user