MiniAgda-0.2014.9.12: Makefile
# Makefile for miniagda
files=Abstract Collection Concrete Eval Extract HsSyntax Lexer Main Parser Polarity PrettyTCM ScopeChecker Semiring SparseMatrix TCM Termination ToHaskell Tokens TraceError TreeShapedOrder TypeChecker Util Value Warshall
hsfiles=$(foreach file,$(files),$(file).hs)
ghcflags=-ignore-package monads-fd -rtsopts
# -fglasgow-exts
optflags=
# -O #slow compilation, not much speedup
profflags=-prof -auto-all
distfiles=*.hs *.hs-boot Lexer.x Parser.y Makefile
distdirs=test/succeed test/fail examples
cabalp=cabal install -p --enable-executable-profiling
.PHONY : test succeed fail examples lib current default all clean veryclean
default : Main test
all : Main test examples lib
prof-current : miniagda-prof
miniagda-prof examples/FiCS12/fics12-06.ma +RTS -prof -s
# miniagda-prof test/succeed/Zero.ma +RTS -prof -s
# miniagda-prof privateExamples/NisseContNorm/negative-2010-11-23.ma +RTS -prof
current : Main
# Main test/fail/BoundedFake.ma
Main examples/Existential/StreamProcCase.ma
# Main test/features/Existential/list.ma
# Main test/features/Existential/nat.ma
# Main examples/RBTree/RBTreeConor.ma
# Main test/fail/InvalidField.ma
# Main test/succeed/BuiltinSigma.ma
# Main test/features/records.ma
# Main test/succeed/MeasuredHerSubst2.ma
# Main examples/Coinductive/SubjectReductionProblem.ma
# Main examples/Sized/Maximum.ma
# Main examples/Irrelevance/Vector.ma
# Main examples/JeffTerellCoqClub20100120.ma
# Main examples/HugoCantor/tryLoopInjData.ma
# Main examples/HugoCantor/InjDataLoop.ma
# Main test/features/countConstructors.ma
# Main examples/HugoCantor/injectiveData.ma
# Main examples/BoveCapretta/Eval.ma # vec.ma # examples/List.ma
# Main test/fail/OverlappingPatternIndFam.ma # vec.ma # examples/List.ma
# ship : ../dist/miniagda-2009-07-03.tgz # 06-27.tgz
#
# ../dist/%.tgz : $(distfiles)
# tar czf $@ $^ $(distdirs)
#
miniagda-prof : Main.hs $(hsfiles)
ghc $(ghcflags) $(profflags) $< --make -o $@
Main : Main.hs $(hsfiles)
ghc $(ghcflags) $(optflags) $< --make -o $@
install-prof-libs :
$(cabalp) transformers
$(cabalp) mtl
$(cabalp) syb
$(cabalp) parsec
$(cabalp) preprocessor-tools
$(cabalp) cpphs
$(cabalp) haskell-src-exts
$(cabalp) IfElse
$(cabalp) utility-ht
SCT : SCT.hs Lexer.hs SCTParser.hs SCTSyntax.hs
ghc $(ghcflags) $< --make -o $@
Lexer.hs : Lexer.x
alex $<
%arser.hs : %arser.y Lexer.hs
happy --info=$<-grm.txt $<
test : Main succeed fail
succeed :
@echo "======================================================================"
@echo "===================== Suite of successfull tests ====================="
@echo "======================================================================"
make -C test/succeed
fail :
@echo "======================================================================"
@echo "======================= Suite of failing tests ======================="
@echo "======================================================================"
make -C test/fail
examples : Main
@echo "======================================================================"
@echo "========================== Suite of examples ========================="
@echo "======================================================================"
make -C examples
lib : Main
@echo "======================================================================"
@echo "=============================== Library =============================="
@echo "======================================================================"
make -C lib
clean :
-rm *.o *.hi Main miniagda-prof
# make -C test/fail clean
veryclean : clean
make -C test/fail clean
# EOF