CABALOPTS := --disable-documentation

.PHONY:	all

all:	puzzle.pdf

puzzle.pdf:	puzzle.tex mixed.tex multiplication.tex
	pdflatex $<

mixed.tex:	src/Main.hs
	cabal run --verbose=0 sum-pyramid $(CABALOPTS) -- \
	   create --size 5 --number 12 \
	   --environment puzzle --hidden hidden >$@
	cabal run --verbose=0 sum-pyramid $(CABALOPTS) -- \
	   create --size 5 --number 12 --allow-gaps \
	   --environment puzzle --hidden hidden >>$@
	cabal run --verbose=0 sum-pyramid $(CABALOPTS) -- \
	   create --size 5 --number 12 --max-value=50 \
	   --environment puzzle --hidden hidden >>$@
	cabal run --verbose=0 sum-pyramid $(CABALOPTS) -- \
	   create --size 5 --number 24 --mixed \
	   --environment puzzle --hidden hidden >>$@

multiplication.tex:	src/Main.hs
	cabal run --verbose=0 sum-pyramid $(CABALOPTS) -- \
	   create --size 4 --number 12 --multiplication \
	   --environment puzzle --hidden hidden >$@


run-test:	update-test
	runhaskell Setup configure --user --enable-tests
	runhaskell Setup build
	runhaskell Setup test sum-pyramid-test --show-details=streaming
	make puzzle.pdf

update-test:
	doctest-extract-0.1 -i src/ -o test/ --import-tested --executable-main=TestMain.hs \
	  UniqueLogic LinearAlgebra
