Makefile revision 11b55e6fbbc397b9fa41a7d61be53c6f4f027824
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# This Makefile will compile the new hets system and provides also
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# targets for test programs during implementation phases.
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart Poettering# !!! Note: This makefile is written for GNU make !!!
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek# (gmake on solaris)
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek####################################################################
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek## Some varibles, which control the compilation
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringHXT_PATHS = Data Data/Tree Data/Tree/NTree Data/Digest Text Text/XML \
f85857df75cfedbc0d10b8ca2400188dc8f4c22eLennart Poettering Text/XML/HXT Text/XML/HXT/IO Text/XML/HXT/DOM Text/XML/HXT/Arrow \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering Text/XML/HXT/XPath Text/XML/HXT/Validator Text/XML/HXT/Parser \
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering Text/XML/HXT/RelaxNG Text/XML/HXT/ProtocolHandler Codec Codec/ASN1 \
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers Codec/Binary Codec/Encryption Codec/Encryption/RSA System Control \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek utils utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek Common/Lib Common/ATerm Logic CASL CASL/CCC CASL/CompositionTable \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek Syntax Static GUI HasCASL Haskell Modal CoCASL COL ConstraintCASL \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek CspCASL ATC Proofs Comorphisms Isabelle Driver \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek Taxonomy CASL_DL SPASS OWL_DL OMDoc $(PFE_PATHS) \
d4b47aa30b45aa933bdf76e8dc9da01caa11e046David Herrmann# the 'replacing spaces' example was taken from the (GNU) Make info manual
124f2f9b6f66db00942b5882d68aa8fa8857865eLennart Poettering## set ghc imports properly for your system
e06fe15b1f27d9d2317b25232d6df1e0a60dfce2Lennart PoetteringGHC_IMPORTS = `$(HC) --print-libdir`/imports
e06fe15b1f27d9d2317b25232d6df1e0a60dfce2Lennart Poettering# import directories for ghc-5.04.2
61192f1d6954196d5066942241a024de4712243cLennart PoetteringGHC5 = $(GHC_IMPORTS)/base:$(GHC_IMPORTS)/haskell98
61192f1d6954196d5066942241a024de4712243cLennart Poettering DERIVEPATH=.:$(GHC_IMPORTS):$(GHC5):$(subst $(space),:,$(PFE_PATHS))
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart Poettering# override on commandline for other architectures
6ce02c2a3a2aa888c3e074ae235d94808a165f9aLennart Poettering /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart PoetteringGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps) Common/Utils.hs
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart PoetteringGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs Common/Utils.hs \
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering Common/Lib/*.hs Common/*.hs CASL/*.hs Modal/AS_Modal.hs \
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering Modal/Parse_AS.hs Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering -i Common.DynamicUtils -i Common.ATerm.Lib
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering# remove -fno-warn-orphans for older ghcs and add -ifgl
aea040c87280c41cb99b64b55f7368661a2d9912Lennart Poettering $(HC_WARN) -fglasgow-exts -fno-monomorphism-restriction \
aea040c87280c41cb99b64b55f7368661a2d9912Lennart Poettering -fallow-overlapping-instances -fallow-undecidable-instances
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering# -ddump-minimal-imports
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering# flags also come in via ../uni/uni-package.conf
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering# but added it here in case of compilation without uni
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart PoetteringHC_INCLUDE = $(addprefix -i, $(INCLUDE_PATH))
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poetteringlogics = CASL HasCASL Isabelle Modal CoCASL COL CspCASL CASL_DL SPASS \
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart PoetteringTESTTARGETFILES += CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
b1b5922e2f4ee12e852fcc8d288a6afa90c10c5fLennart Poettering Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
b1b5922e2f4ee12e852fcc8d288a6afa90c10c5fLennart Poettering ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
b1b5922e2f4ee12e852fcc8d288a6afa90c10c5fLennart Poettering Common/ATerm/ATermDiffMain.hs Common/annos.hs Common/test_parser.hs
8aa203819fc7f2a840191f8d9d0e65566c0ce98eLennart PoetteringUNI_PACKAGE_CONF = $(wildcard ../uni/uni-package.conf)
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart PoetteringHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart Poettering# some modules from uni for haddock
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart Poettering# if uni/server is included also HaXml sources are needed
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poetteringuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poettering ../uni/reactor ../uni/util ../uni/posixutil
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poetteringuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringTESTTARGETFILES += OWL_DL/ToHaskellAS.hs Taxonomy/taxonomyTool.hs
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poettering### list of directories to run checks in
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringPFE_TOOLDIR = $(wildcard ../programatica/tools)
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poettering base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
ac749874bbb66c0e7eff15ca35d1616d29b6f3c1Lennart Poettering base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
ac749874bbb66c0e7eff15ca35d1616d29b6f3c1Lennart Poettering base/transforms base/transforms/Deriving property \
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering property/syntax property/AST property/transforms \
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering property/TI property/defs property/parse2 property/parse2/Parser
7d417f0f357c59cc1846aa832161e69a2328f699Lennart PoetteringPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poetteringpfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-SzmekPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-Szmekhappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
036a4773ffa1152e4cabd27473450b8cc01e019bLennart PoetteringLEX_DIR = $(PFE_TOOLDIR)/base/parse2/Lexer
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poettering patch -usNlp0 -d $(PFE_TOOLDIR) -i `pwd`/$< \
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering$(LEX_DIR)/HsLex.hs: $(LEX_DIR)Gen/HsLexerGen
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering echo "{-# OPTIONS -w #-}" > $@
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering -i$(PFE_TOOLDIR)/base/tests/HbcLibraries \
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering -i$(LEX_DIR) -i$(LEX_DIR)Gen -i$(LEX_DIR)Spec \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poetteringderived_sources += Haskell/PreludeString.hs $(LEX_DIR)/HsLex.hs \
c05482281c32bd408808b14c5fb03e706e65602dLennart Poetteringutils/appendHaskellPreludeString: utils/appendHaskellPreludeString.hs
e0ec8950935ce587935e299c22232fbf4a2664c9Lennart PoetteringAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering## rule for appendHaskellPreludeString
73cb77549536deab85d8d1261b5381e87d80ab23Lennart PoetteringHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart PoetteringOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering base/parse2/SourceNames base/syntax/SyntaxRec \
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering## rule for ATC generation
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart PoetteringHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poetteringhs_der_files += Haskell/TiATC.hs Haskell/TiDecorateATC.hs Haskell/TiPropATC.hs
dbdee28bfadd6d8bd93cb34c85ce1fc325dd8120Lennart PoetteringTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart PoetteringTESTTARGETS = Test.o $(subst .hs,,$(TESTTARGETFILES))
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### Profiling (only for debugging)
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### Attention every module must be compiled with profiling or the linker
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### cannot link the various .o files properly. So after switching on
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### Profiling, do an 'gmake real_clean; gmake'
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poettering### Comment in the following line for switching on profiling.
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poettering#HC_PROF = -prof -auto-all -fignore-asserts
fa607802f332e06f4044c3eb38dbea41076c803dLennart PoetteringHC_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS) $(HC_PROF) \
92ff080be100aff15f292e2631921131c610afe7Lennart Poettering####################################################################
b80c66ba9836456de5260e4a1b696ba25561f613Lennart Poettering## sources for hets
bd69054b0987b40a0df87d40772893f6f8a078daLennart Poetteringnon_sources = Common/LaTeX_maps.svmono.hs CspCASL/Main.hs \
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering Common/CaslLanguage.hs ./Test.hs Static/LogicStructured.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringsources = hets.hs $(filter-out $(non_sources), \
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering $(wildcard $(addsuffix /[A-Z]*hs, $(SOURCE_PATHS))))
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poettering Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poettering Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs CASL_DL/AS_CASL_DL.hs\
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poetteringatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering Logic/Prover.hs #Common/Id.hs Common/Result.hs OWL_DL/AS.hs
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poetteringatc_der_files = $(foreach file, $(atc_files), \
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering ATC/$(basename $(basename $(notdir $(file)))).der.hs)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/Result.der.hs: Common/Result.hs $(GENRULES)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Grothendieck -o $@ $<
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart PoetteringATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(GENRULECALL) -i ATC.AS_Structured -o $@ $<
8514b67754c5ff7fa628929b3d27131010c21842Lennart PoetteringATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering $(GENRULECALL) -i ATC.AS_Architecture -o $@ $<
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart PoetteringATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $<
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart PoetteringATC/Prover.der.hs: Logic/Prover.hs $(GENRULES)
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering $(GENRULECALL) -x ProverTemplate -i ATC.AS_Annotation -o $@ $<
c2d5b3c94d0c082ef29597fb230f8b88b124bab8Lennart PoetteringCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
7e27f3121e5a10629302b5221eb21345f832724aLennart PoetteringHasCASL_files = Common/Prec.hs HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart PoetteringModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart PoetteringConstraintCASL_files = ConstraintCASL/AS_ConstraintCASL.hs
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart PoetteringCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs CoCASL/Sublogic.hs
758c4d7a391c0e024737053c815bf3924653b8c5Lennart PoetteringCspCASL_files = CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart PoetteringCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
b857e042d621ffb98a652f33850b431fafbece43Lennart Poetteringgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poetteringinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2CFOL.hs \
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs \
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering Comorphisms/CASL2SubCFOL.hs CASL_DL/PredefinedSign.hs
706d97503df83d141d241b645d2c920d691b3d62Lennart Poetteringgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poetteringderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering $(inline_axiom_files) Modal/ModalSystems.hs $(hs_der_files) \
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering OWL_DL/ReadWrite.hs ConstraintCASL/AS_ConstraintCASL.hs
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering# sources that have {-# OPTIONS -cpp #-}
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmekcpp_sources = Common/DynamicUtils.hs \
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek Common/Lib/Set.hs Common/Lib/Map.hs ATC/Set.hs\
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek SPASS/Logic_SPASS.hs GUI/Utils.hs Driver/WriteFn.hs \
202aea456dfb279cd34da7bfd1880f6ac0fd849fLennart Poettering Comorphisms/LogicList.hs Comorphisms/LogicGraph.hs \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering Comorphisms/KnownProvers.hs hets.hs $(happy_files) \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering hxt/Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs \
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering# unused, remove when header files are gone
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poetteringgenrule_header_files = $(wildcard ATC/*.header.hs)
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poetteringnondoc_sources = $(wildcard utils/DrIFT-src/*.hs) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(genrule_header_files) $(generated_rule_files) \
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersen $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hspp \
d61bb44a89fde3042c7c15ea4975239f7dcb0cb0Lennart Poettering Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering $(patsubst %.hs, %.der.hs, $(drifted_files))
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringhspp_sources = $(patsubst %.hs, %.hspp, $(cpp_sources))
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering# this variable holds the modules that should be documented
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringdoc_sources = $(filter-out $(nondoc_sources), $(sources) $(hspp_sources))
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringtax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poetteringtax_objects = $(patsubst %.hs, %.o, $(tax_sources))
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering####################################################################
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen.PHONY : all hets-opt hets-optimized clean o_clean clean_pretty \
823f4a91ebd8942a2c1ff31050dc55eaa60f6ffcLukas Nykryn check capa hacapa h2h h2hf clean_genRules genRules \
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poettering count doc apache_doc post_doc4apache fromKif \
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering derivedSources install_hets install release cgi patch ghci
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poettering $(HC) --make -O -o hets hets.hs $(HC_OPTS)
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering ghc --make GUI/hets_cgi.hs -o $@ $(HC_INCLUDE) \
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart Poettering###############################
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering### TAGS files for (x)emacs
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering# load them with "M-x" "visit-tags-table" from
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poettering# use "M-." to search for a tag
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering# !!Beware this is somewhat instable, because it uses an absolute path!!
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
11fb37f16ed99c1603c9d770b60ce4953b96a58dLennart Poettering @echo 'File : Maintainer' > $@
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering 'foreach my $$f (@ARGV) { open I, "<$$f"; \
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering print "$$f :"; while (<I>) \
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering { if(m,^\s*Maintainer\s*:\s*(.*)$$,o) { \
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering print " $$1" ; last} }; print "\n"; close I; }' \
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering###############################
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering### count lines of code
650264033f2f98f6319513958d94d59078654af8Lennart Poettering###############################
650264033f2f98f6319513958d94d59078654af8Lennart Poettering### Documentation via haddock
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering# generate haddock documentation with links to sources
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering# the interface treatment is stolen from uni/mk/suffix.mk
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering cp -r ../uni/www docs/www || mkdir docs/www
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering HINTERFACES0=`find docs/www -name '*.haddock' \
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering -printf "--read-interface=www/%P,%p "` ; \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(HADDOCK) -o docs -h -v -s ../%F $$HINTERFACES \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering -t 'Hets - the Heterogeneous Tool Set' \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering -p Hets-Haddock-Prologue.txt $(doc_sources)
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering# sources are not copied here
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(PERL) utils/post_process_docs.pl a-docs \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering 'Common.Lib.Map.html:Common.Lib._Map.html'
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(PERL) utils/post_process_docs.pl a-docs \
0bee65f0622c4faa8ac8ae771cc0c8a936dfa284Lennart Poettering###############################
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### release management
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringderivedSources: $(derived_sources) $(hspp_sources)
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
718db96199eb307751264e4163555662c9a389faLennart Poettering $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
718db96199eb307751264e4163555662c9a389faLennart Poettering GenerateRules.hs -o ../genRules && strip ../genRules)
966204e010ed432a1d7a0481d41a326d8ec7b0c8Lennart Poettering# "hssource" for ghc-5.04.2
6fd4d0209827e5c3e52fa8c7144852f550f8f95cLennart Poettering $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering -package hssource -i../.. -o $(INLINEAXIOMS)
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering if [ -d ../uni ] ; then ln -s ../uni uni ; fi
6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71Zbigniew Jędrzejewski-Szmek if [ -d ../programatica ] ; then \
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt ln -s ../../programatica/tools programatica/tools ; fi
18d4e7c26e7806ac363d19989df7144d5058ce41Lennart Poettering (cd HetCATS; $(MAKE) derivedSources; $(MAKE) clean; \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
d0928791499734e202460d5c027b5d3e0d28e7abLennart Poettering cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart Poettering ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
dc17bcef197a0d5ee798cce59c40e4f5e85c24f6Lennart Poettering###################################
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poetteringutils/genItCorrections: $(GENITCORRECTIONS_deps)
2ecfc64e59b5e4e96bed6f68bd36b612ef77a146Lennart Poetteringpretty/LaTeX_maps.hs: utils/words.pl utils/genItCorrections \
6a8b5fa4635ed858788fb10099ec9b62b3359a0aLennart Poettering pretty/words.input pretty/fonts.input pretty/width-table.tex.templ
69727e6dc69ae5d9b5ae3681723778a3faa354e9Lennart Poettering @echo -n "Generating pretty/LaTeX_maps.hs ... "
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering @(cd pretty >/dev/null; $(PERL) ../utils/words.pl > words.pl.log)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering @(cd pretty >/dev/null; ../utils/genItCorrections \
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering gen_it_characters gen_it_words >> LaTeX_maps.hs)
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering @echo "please copy the file manually to Common"
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering#############################
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### ATC DrIFT-rule generation
0536ce5d0ceaf87f3e81faaff41d69ffeed2186fZbigniew Jędrzejewski-SzmekgenRules: $(generated_rule_files)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart PoetteringCASL/ATC_CASL.der.hs: $(CASL_files) $(GENRULES)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart PoetteringHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(HasCASL_files)
461bd8e47cafacfcd38389e7558330bfb6e902adLennart PoetteringIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Isabelle_files)
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart PoetteringModal/ATC_Modal.der.hs: $(Modal_files) $(GENRULES)
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Modal_files)
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart PoetteringConstraintCASL/ATC_ConstraintCASL.der.hs: $(ConstraintCASL_files) $(GENRULES)
b454b11220e87add6d0f011695c7912b009c853dLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ConstraintCASL_files)
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart PoetteringCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-SzmekCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) $(GENRULES)
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmek $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart PoetteringCOL/ATC_COL.der.hs: $(COL_files) $(GENRULES)
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(COL_files)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart PoetteringCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart PoetteringSPASS/ATC_SPASS.der.hs: $(SPASS_files) $(GENRULES)
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SPASS_files)
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart PoetteringOWL_DL/ATC_OWL_DL.der.hs: $(OWL_DL_files) $(GENRULES)
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -i OWL_DL.ReadWrite \
795607b22308f5b92073b012e43be1892fdd97c0Lennart Poettering $(RM) $(generated_rule_files) $(gendrifted_files) $(hspp_sources) \
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering###############
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poettering### removes *.hi and *.o in all include directories
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering### remove binaries
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart Poettering $(RM) pretty/*.c.* pretty/*.h.* pretty/gen_it_* \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### additionally removes the library files
c0fe5db522b52f27e030655ce2c03e05cbbc1558Kay Sievers### additionally removes generated files not in the CVS tree
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poettering $(RM) Modal/GeneratePatterns.inline.hs utils/appendHaskellPreludeString
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) utils/genItCorrections pretty/LaTeX_maps.hs pretty/words.pl.log
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
8ed206517c2be381324ac5832bf34cc14024270eLennart Poettering### test targets
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### interactive
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### christian's target
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### CASL parser
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### CASL parser
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### HasCASL parser
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering### Haskell analysis
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering### Haskell to Isabelle-HOLCF translation
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringHaskell/h2hf: Haskell/h2hf.hs Haskell/*.hs Isabelle/*.hs Common/*.hs \
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) -O --make -o $@ $< $(HC_FLAGS) $(PFE_FLAGS)
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering### HasCASL to Haskell translation
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering### test program to check the known provers
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringshowKP: Comorphisms/test/showKP.hs Comorphisms/*.hs Common/*.hs Logic/*.hs
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart Poettering### run tests in other directories
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt## Preparing the version of HetCATS
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringDriver/Version.hs: Driver/Version.in version_nr
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(PERL) utils/build_version.pl version_nr < Driver/Version.in > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## two hardcoded dependencies for a correct generation of Version.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringDriver/Options.hs Driver/WriteFn.hs Driver/ReadFn.hs: Driver/Version.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
f47ec8ebb3858553dec870e1c596e39525f46360Lennart Poettering## rules for DrIFT
038cf33420afa5f913fe5cbf3e7138574c33d97bZbigniew Jędrzejewski-Szmek%: %.hs $(sources) $(derived_sources)
038cf33420afa5f913fe5cbf3e7138574c33d97bZbigniew Jędrzejewski-Szmek $(HC) --make -o $@ $< $(HC_OPTS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering echo "{-# OPTIONS -w #-}" > $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering ($(DRIFT_ENV); export DERIVEPATH; $(DRIFT) $< > $@)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering## rules for inlineAxioms
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt## rule for cpp and haddock
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) -E -cpp -DUNI_PACKAGE -DCASLEXTENSIONS -DPROGRAMATICA -optP -P $<
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering## compiling rules for object and interface files
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## compiling rules for dependencies
8b8f259170e35b93e6c6d1757cb8b835bbdaa40cZbigniew Jędrzejewski-Szmek $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poettering## generate the inline file for the predefined CASL_DL sign
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering# Warning: Don't change the order of the depencies!!
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering CASL_DL/PredefinedSign.inline.hs.in utils/appendHaskellPreludeString \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering utils/appendHaskellPreludeString CASL_DL/PredDatatypes.het \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering < CASL_DL/PredefinedSign.inline.hs.in > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering echo " )" >> $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringCASL_DL/PredDatatypes.het: utils/transformLibAsBasicSpec.pl \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt# uses intransparently utils/outlineAxioms
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in \