Makefile revision 825a1e4ca1e768de4b4883c65a6cb1dce6aa0002
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# Author: (c) Klaus Luettich, Christian Maeder, Uni Bremen 2002-2009
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# This Makefile will compile the hets system and provides also
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# targets for test programs during implementation phases.
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# !!! Note: This makefile is written for GNU make !!!
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# (gmake on solaris)
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# the 'replacing spaces' example was taken from the (GNU) Make info manual
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel BřezinaDRIFT_ENV = DERIVEPATH=$(subst $(space),:,$(PFE_PATHS))
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel BřezinaGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel BřezinaGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekGENRULECALL2 = $(GENRULES) -r Typeable -r ShATermLG \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek -i Data.Typeable -i ATerm.Lib -i ATC.Grothendieck
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# list glade files
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel BřezinaGTK_GLADE_FILES = $(wildcard GUI/Glade/*.glade)
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekGTK_GLADE_HSFILES = $(subst .glade,.hs,$(GTK_GLADE_FILES))
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# the list of logics that need ShATermConvertible instances
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březinalogics = CASL HasCASL Isabelle Modal Temporal CoCASL COL CspCASL CASL_DL \
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina SoftFOL ConstraintCASL Propositional RelationalScheme VSE OMDoc DFOL \
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina LF Framework Maude ExtModal CommonLogic CSL QBF Adl HolLight Fpl THF \
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekTESTTARGETFILES += Scratch.hs CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
968e2bc3bb28458b25c3b19868ea50f0325d8b0aPavel Březina ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Common/ATerm/ATermDiffMain.hs Common/annos.hs \
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Comorphisms/test/sublogicGraph.hs PGIP/ParseProofScript.hs \
968e2bc3bb28458b25c3b19868ea50f0325d8b0aPavel Březina SoftFOL/dfg.hs Adl/adl.hs GUI/displayDependencyGraph.hs
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina### list of directories to run checks in
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekTESTDIRS += Common CASL Fpl/test HasCASL test ExtModal/Tries \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozekhs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Haskell/TiPropATC.hs Haskell/ATC_Haskell.der.hs
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek base/transforms base/transforms/Deriving property \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek property/syntax property/AST property/transforms \
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina property/TI property/defs property/parse2 property/parse2/Parser
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina## rule for appendHaskellPreludeString
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
f660877b38e563c4aa0cb1431624069808873fecJakub HrozekOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
60a729bfa2aee7529a0c9a276057a47a80381994Pavel Březina base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
60a729bfa2aee7529a0c9a276057a47a80381994Pavel Březina base/parse2/SourceNames base/syntax/SyntaxRec \
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
f643754db81eeade60485bbe3d80324d889cc4f3Pavel Březina## rule for ATC generation
968e2bc3bb28458b25c3b19868ea50f0325d8b0aPavel BřezinaHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel BřezinaTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina# unset this variable from var.mk because the programatica sources
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina# are needed to created our sources!
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina# end of programatica stuff
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel BřezinaNO_BIND_WARNING = -fno-warn-unused-do-bind -fno-warn-warnings-deprecations
60a729bfa2aee7529a0c9a276057a47a80381994Pavel Březina -fwarn-unrecognised-pragmas -fno-warn-orphans $(NO_BIND_WARNING)
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina# uncomment HC_PROF for profiling (and comment out packages in var.mk)
46d3d2c731e8c7e138462e5b60a39a279dc77d81Pavel Březina# call resulting binary with a final +RTS -p to get a file <binary>.prof
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# HC_PROF = -prof -auto-all -osuf p_o +RTS -K100m -RTS
9c6b680e55e00642bc3e644fd63e18e6c09ff110Pavel BřezinaHC_OPTS += $(HC_WARN) $(HC_PROF) $(HC_DEBIAN_OPT)
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# -ddump-minimal-imports
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# uncomment the above line to generate .imports files for displayDependencyGraph
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# files generated by DriFT
968e2bc3bb28458b25c3b19868ea50f0325d8b0aPavel Březina Syntax/AS_Structured.hs Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek CspCASL/AS_CspCASL_Process.hs CspCASL/AS_CspCASL.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# files to extract data types from to generate ShATermConvertible instances
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozekatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
60a729bfa2aee7529a0c9a276057a47a80381994Pavel Březina Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Logic/Prover.hs Common/LibName.hs Common/ExtSign.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Static/DgUtils.hs Static/XGraph.hs Static/DevGraph.hs \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek Common/Id.hs Common/Result.hs Common/OrderedMap.hs \
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březina# files generated by genRules as input for DriFT
6f701a4dc295ddc997ba5190a3cd72d948d799dcPavel Březinaatc_der_files = $(foreach file, $(atc_files), \
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek ATC/$(basename $(basename $(notdir $(file)))).der.hs)
f660877b38e563c4aa0cb1431624069808873fecJakub Hrozek# the rules to create ATC .der.hs file for DriFT
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL2) -o $@ $<
# all ATC .der.hs files for all logics
# a rule to create all .der.hs files
cgi:
-i http://hackage.haskell.org/packages/archive/$(basename $(notdir $(file)))/latest/doc/html,$(file))
(cd utils/GenerateRules; \
GenerateRules.hs -o ../genRules)
./clean.sh; \
# Common/LaTeX_maps.hs generation
@echo -n "Generating pretty/LaTeX_maps.hs ... "
@(cd pretty >/dev/null; ../utils/genItCorrections \
$(RM) $@
## two hardcoded dependencies for a correct generation of Version.hs
.SUFFIXES:
$(RM) $@
%.d : %.hs
%.d : %.lhs
@echo Please do
svn export \
echo "File arq-2.8.7.jar already exists"; \
curl -o RDF/java/lib/arq-2.8.7.jar http://repo1.maven.org/maven2/com/hp/hpl/jena/arq/2.8.7/arq-2.8.7.jar; \
echo "File icu4j-3.4.4.jar already exists"; \
curl -o RDF/java/lib/icu4j-3.4.4.jar http://repo1.maven.org/maven2/com/ibm/icu/icu4j/3.4.4/icu4j-3.4.4.jar; \
echo "File iri-0.8.jar already exists"; \
curl -o RDF/java/lib/iri-0.8.jar http://repo1.maven.org/maven2/com/hp/hpl/jena/iri/0.8/iri-0.8.jar; \
echo "File jena-2.6.4.jar already exists"; \
curl -o RDF/java/lib/jena-2.6.4.jar http://repo1.maven.org/maven2/com/hp/hpl/jena/jena/2.6.4/jena-2.6.4.jar; \
echo "File junit-4.5.jar already exists"; \
echo "File log4j-1.2.13.jar already exists"; \
curl -o RDF/java/lib/log4j-1.2.13.jar http://repo1.maven.org/maven2/log4j/log4j/1.2.13/log4j-1.2.13.jar; \
echo "File lucene-core-2.3.1.jar already exists"; \
curl -o RDF/java/lib/lucene-core-2.3.1.jar http://repo1.maven.org/maven2/org/apache/lucene/lucene-core/2.3.1/lucene-core-2.3.1.jar; \
echo "File slf4j-api-1.5.8.jar already exists"; \
curl -o RDF/java/lib/slf4j-api-1.5.8.jar http://repo2.maven.org/maven2/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar; \
echo "File slf4j-log4j12-1.5.8.jar already exists"; \
curl -o RDF/java/lib/slf4j-log4j12-1.5.8.jar http://repo2.maven.org/maven2/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8.jar; \
echo "File stax-api-1.0.1.jar already exists"; \
echo "File wstx-asl-3.2.9.jar already exists"; \
curl -o RDF/java/lib/wstx-asl-3.2.9.jar http://repo1.maven.org/maven2/org/codehaus/woodstox/wstx-asl/3.2.9/wstx-asl-3.2.9.jar; \
echo "File xercesImpl-2.7.1.jar already exists"; \