Makefile revision 2686d4438ffde954ffbb3a3f307642a893b33570
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005
cff452c7e974db5053cdbd0d7bbbab2e3b4c91b9Kay Sievers# This Makefile will compile the new hets system and provides also
cff452c7e974db5053cdbd0d7bbbab2e3b4c91b9Kay Sievers# targets for test programs during implementation phases.
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers# !!! Note: This makefile is written for GNU make !!!
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering# (gmake on solaris)
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering####################################################################
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering## Some varibles, which control the compilation
20ffc4c4a9226b0e45cc02ad9c0108981626c0bbKay SieversHAIFA_PATHS = Network Network/Server Org Org/W3 Org/W3/N2001 \
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt Org/Xmlsoap Org/Xmlsoap/Schemas Org/Xmlsoap/Schemas/Soap \
ea92ae33e0fbbf8a98cd2e08ca5a850d83d57faeMaciej Wereski Text Text/XML Text/XML/HXT Text/XML/Schema Text/XML/Schema/TypeMapper \
04ac799283f517672a5424e7c5bf066cfa4ca020Zbigniew Jędrzejewski-Szmek utils utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
04ac799283f517672a5424e7c5bf066cfa4ca020Zbigniew Jędrzejewski-Szmek Common/Lib Common/ATerm Logic CASL CASL/CCC CASL/CompositionTable \
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay Sievers Syntax Static GUI HasCASL Haskell Modal CoCASL COL ConstraintCASL \
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering CspCASL ATC Proofs Comorphisms Isabelle Driver Modifications \
dc7adf202b82fc0054c457ce6ca3bcedb88dde57Lennart Poettering Taxonomy CASL_DL SoftFOL OWL OMDoc PGIP Propositional RelationalScheme \
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poettering# the 'replacing spaces' example was taken from the (GNU) Make info manual
55d32caf94d8df547ca763be52b0c35bb6388606Lennart PoetteringDRIFT_ENV = DERIVEPATH=$(subst $(space),:,$(PFE_PATHS))
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering# override on commandline for other architectures
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart PoetteringGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart PoetteringGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart PoetteringINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering Common/Doc.hs CASL/ToDoc.hs Modal/AS_Modal.hs \
049b4474b35d0b854f87b0795a5113665413f6a4Lennart Poettering Modal/Parse_AS.hs Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
4ba93280223ceb5de1bcedb196c38252f334521aLennart PoetteringGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
c20fd707a2b8c75166096544ee6f1538505e40a9Lennart Poetteringifneq ($(findstring SunOS, $(OSBYUNAME)),)
9db76355212de5eb7985829d352183d3bdfb56d5Lennart PoetteringARCH = $(subst $(space),,$(shell uname -m))
7f79cd7109a60810140a045cc725291fc5515264Lennart PoetteringSETUPPREFIX = --prefix=$(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
baa89da40a1d42242c9c62603501ada7e9e52613Lennart Poettering ../$(SETUP) configure $(SETUPPREFIX) --user; \
baa89da40a1d42242c9c62603501ada7e9e52613Lennart Poettering ../$(SETUP) build; ../$(SETUP) haddock; ../$(SETUP) install --user
360e09ea9ad3a8e84e1729ebd2967ab8f7348170Lennart Poettering# list glade files
7f79cd7109a60810140a045cc725291fc5515264Lennart PoetteringGTK_GLADE_FILES = $(wildcard GUI/Glade/*.glade)
0aafd43d235982510d1c40564079f7bcec0c7c19Lennart PoetteringGTK_GLADE_HSFILES = $(subst .glade,.hs,$(GTK_GLADE_FILES))
df5f6971e6e15b4632884916c71daa076c8bae96Lennart Poetteringlogics = CASL HasCASL Isabelle Modal Temporal CoCASL COL CspCASL CASL_DL \
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt SoftFOL ConstraintCASL Propositional OWL RelationalScheme VSE OMDoc
982e44dbc3e70c97e83464a30354b80973d52b41Lennart PoetteringTESTTARGETFILES += CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
982e44dbc3e70c97e83464a30354b80973d52b41Lennart Poettering Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering Common/ATerm/ATermDiffMain.hs Common/annos.hs Common/test_parser.hs \
7b617155b50fdaad5d06359eb03e98f0c7b3087bLennart Poettering SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
7b617155b50fdaad5d06359eb03e98f0c7b3087bLennart Poettering SoftFOL/tests/soapTest.hs Comorphisms/test/sublogicGraph.hs \
94bbc9915a4272a20feda86c5f97b8a587482aa1Lennart Poettering### list of directories to run checks in
07beec1244817a0e6e9d79798f7c65bd89b23549Lennart Poetteringhs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
5a4555ba6bc8ea086823fb71cb1cb92d4ec087a2Lennart Poettering Haskell/TiPropATC.hs Haskell/ATC_Haskell.der.hs
afaba0234727db6a82e323665d7d86f971f3090cLennart PoetteringPFE_TOOLDIR = $(wildcard ../programatica/tools)
4c4ae27d4d314d0dc1c42cd6bfc7b9ae31660885Lennart PoetteringPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
4c4ae27d4d314d0dc1c42cd6bfc7b9ae31660885Lennart Poettering base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering base/transforms base/transforms/Deriving property \
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt property/syntax property/AST property/transforms \
e1b7e7ec9b34ae6ae54a4c8084395cbf2bfe9960Lennart Poettering property/TI property/defs property/parse2 property/parse2/Parser
6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71Zbigniew Jędrzejewski-SzmekPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
c3bb87dbab8b79bb9253407cb5b7f3e6fe8db395Lennart Poetteringpfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
e7256c5c137e58fb3dc1ebca8e5845733a5f733cLennart Poetteringhappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
042e33ae3a7feb08c8105f1345fd244315109405Lennart PoetteringLEX_DIR = $(PFE_TOOLDIR)/base/parse2/Lexer
18d4e7c26e7806ac363d19989df7144d5058ce41Lennart Poetteringprogramatica_pkg: $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs \
36c0868b67a9387d39c97983d3d22cfce0fedc62Lennart Poettering @if $(HCPKG) field programatica version; then \
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt echo "of programatica package found"; else \
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt -i `pwd`/Haskell/Programatica.patch || exit 0); \
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek cp -f utils/programatica.cabal ../programatica/tools; \
c5757cc8dbcddb3e8b13ebba4ea4b36589bfd3dbLennart Poettering ./Setup build; ./Setup install --user) fi
d907c2086716681936755f28ac80b3445c6d0196Lennart Poettering$(LEX_DIR)/HsLex.hs: $(LEX_DIR)Gen/HsLexerGen
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering echo "{-# OPTIONS -w #-}" > $@
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering $(HC) --make -fno-monomorphism-restriction -O \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering -i$(PFE_TOOLDIR)/base/tests/HbcLibraries \
fb6becb4436ae4078337011b2017ce294e7361cfLennart Poettering -i$(LEX_DIR) -i$(LEX_DIR)Gen -i$(LEX_DIR)Spec \
11ddb6f48e367ae4b51c31d199b28f5be041a301Lennart Poetteringderived_sources += Haskell/PreludeString.hs
7041efe9600e569da6089c36d00fa3ff58e33178Lennart PoetteringAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
b42defe3b8ed3947d85db654a6cdb1b9999f394dLennart Poettering## rule for appendHaskellPreludeString
4ad490007b70e6ac18d3cb04fa2ed92eba1451faLennart PoetteringHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek $(APPENDPRELUDESTRING) < $< > $@
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay SieversAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
9444b1f20e311f073864d81e913bd4f32fe95cfdLennart Poettering HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
1f263d4dc23b9807ac6138eb5014d3d94c5fe51aLennart Poettering#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
9444b1f20e311f073864d81e913bd4f32fe95cfdLennart Poettering#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan EngelhardtOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
1f263d4dc23b9807ac6138eb5014d3d94c5fe51aLennart Poettering base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering base/parse2/SourceNames base/syntax/SyntaxRec \
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering## rule for ATC generation
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart PoetteringHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
eb01ba5de14859d7a94835ab9299de40132d549aLennart PoetteringTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
e4ee6e5cc3e8e23e1ecc0d9fa756d9cc2534d218Lennart PoetteringTESTTARGETS = Test.o $(subst .hs,,$(TESTTARGETFILES))
c78196699d3d805b2237896a1d2b8efeec6068d0Lennart Poettering# remove -fno-warn-orphans for older ghcs and add -ifgl
07459db69f3c48ef4d69308faa14f457bd903bcfLennart Poettering# INCLUDE_PATH =
86312ab8de59c1066d6d2b456f3a9106ce3e0991Lennart PoetteringHC_INCLUDE = $(addprefix -i, $(INCLUDE_PATH))
86312ab8de59c1066d6d2b456f3a9106ce3e0991Lennart Poettering# uncomment for profiling
86312ab8de59c1066d6d2b456f3a9106ce3e0991Lennart Poettering# HC_PROF = -prof -auto-all -osuf p_o +RTS -K100m -RTS
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart PoetteringHC_OPTS += $(HC_WARN) $(HC_INCLUDE) $(HC_PROF)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering# -ddump-minimal-imports
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering# uncomment to above line to generate .imports files for displayDependencyGraph
7e853a9b9a858edbc24e6c85d134478cec840173Lennart Poettering####################################################################
7e853a9b9a858edbc24e6c85d134478cec840173Lennart Poettering## sources for hets
7e853a9b9a858edbc24e6c85d134478cec840173Lennart Poetteringnon_sources = Common/LaTeX_maps.svmono.hs Common/CaslLanguage.hs ./Test.hs \
d686f034c3b9021e07faefe172ee660abd952871Lennart Poetteringsources = hets.hs $(filter-out $(non_sources), \
d686f034c3b9021e07faefe172ee660abd952871Lennart Poettering $(wildcard $(addsuffix /[A-Z]*hs, $(SOURCE_PATHS))))
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek CASL/AS_Basic_CASL.hs Modal/AS_Modal.hs \
e8a7a315391a6a07897122725cd707f4e9ce63d7Lennart Poettering Syntax/AS_Structured.hs Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering Propositional/AS_BASIC_Propositional.hs \
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering CspCASL/AS_CspCASL_Process.hs CspCASL/AS_CspCASL.hs \
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poetteringatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering Logic/Prover.hs Common/LibName.hs Common/ExtSign.hs \
b454b11220e87add6d0f011695c7912b009c853dLennart Poetteringatc_der_files = $(foreach file, $(atc_files), \
b454b11220e87add6d0f011695c7912b009c853dLennart Poettering ATC/$(basename $(basename $(notdir $(file)))).der.hs)
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart PoetteringATC/Result.der.hs: Common/Result.hs $(GENRULES)
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-SzmekATC/ProofTree.der.hs: Common/ProofTree.hs $(GENRULES)
b8b4d3dddc7611dce3bf28004b0375d661120c62Lennart PoetteringATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
3df82d5a8cdc510f518fd5e234ccb3233b748719Lennart PoetteringATC/LibName.der.hs: Common/LibName.hs $(GENRULES)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart PoetteringATC/ExtSign.der.hs: Common/ExtSign.hs $(GENRULES)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart PoetteringATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart PoetteringATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Grothendieck -o $@ $<
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart PoetteringATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poettering $(GENRULECALL) -i ATC.AS_Structured -o $@ $<
3b953d68c628c6ae70adba871719ac0f16083b51Josh TriplettATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
3b953d68c628c6ae70adba871719ac0f16083b51Josh Triplett $(GENRULECALL) -i ATC.AS_Architecture -i ATC.LibName -o $@ $<
3b953d68c628c6ae70adba871719ac0f16083b51Josh TriplettATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
09f727eebd87661f263d3c2c1e0de7b7771acd40Lennart PoetteringATC/Prover.der.hs: Logic/Prover.hs $(GENRULES)
09f727eebd87661f263d3c2c1e0de7b7771acd40Lennart Poettering $(GENRULECALL) -x Logic.Prover.ProverTemplate \
795607b22308f5b92073b012e43be1892fdd97c0Lennart PoetteringATC/DevGraph.der.hs: Static/DevGraph.hs $(GENRULES)
795607b22308f5b92073b012e43be1892fdd97c0Lennart Poettering $(GENRULECALL) -i ATC.LibName -i ATC.Grothendieck -o $@ $<
795607b22308f5b92073b012e43be1892fdd97c0Lennart PoetteringCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart PoetteringHasCASL_files = Common/Prec.hs HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart PoetteringPropositional_files = Propositional/Sign.hs Propositional/Morphism.hs \
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek Propositional/AS_BASIC_Propositional.hs Propositional/Symbol.hs \
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart PoetteringRS_files = RelationalScheme/AS.hs RelationalScheme/Sign.hs
826872b61e4857dfffe63ba84e2b005623baecd6Lennart PoetteringModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart PoetteringTemporal_files = Temporal/AS_BASIC_Temporal.hs Temporal/Sign.hs \
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringConstraintCASL_files = ConstraintCASL/AS_ConstraintCASL.hs
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-SzmekCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringCspCASL_files = CspCASL/AS_CspCASL.hs CspCASL/AS_CspCASL_Process.hs \
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-SzmekCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs CASL_DL/Sublogics.hs
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringinline_axiom_files = Comorphisms/CASL2PCFOL.hs \
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs \
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering Comorphisms/CASL2SubCFOL.hs CASL_DL/PredefinedSign.hs
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
cbb7712189527f9f483321607e44c4ead3dd11b8Lennart Poetteringderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
d01a73b6396f57792113c1b5df6e8492fc703e5eLennart Poettering $(inline_axiom_files) Modal/ModalSystems.hs $(hs_der_files)
f8aeee1f1fe432924b355f48f01f09c9a552ed97Lennart Poettering# sources that have {-# OPTIONS -cpp #-}
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering# unused, remove when header files are gone
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringgenrule_header_files = $(wildcard ATC/*.header.hs)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringnondoc_sources = $(wildcard utils/DrIFT-src/*.hs) \
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(genrule_header_files) $(generated_rule_files) \
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hspp \
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
b87b8b2b5205c0584da220f73322ea4732d44013Kay Sievershspp_sources = $(patsubst %.hs, %.hspp, $(cpp_sources))
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering# this variable holds the modules that should be documented
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringdoc_sources = $(filter-out $(nondoc_sources), $(sources) $(hspp_sources))
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringtax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering.PHONY : all hets-opt hets-optimized clean o_clean clean_pretty \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering real_clean bin_clean package_clean distclean packages \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering base64_pkg http_pkg syb_pkg shellac_pkg shread_pkg shcompat_pkg \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering tagsoup_pkg hxt_pkg hxtfilter_pkg haifa_pkg programatica_pkg \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering check capa hacapa h2h h2hf showKP clean_genRules genRules \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering count doc apache_doc post_doc4apache fromKif \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering derivedSources install_hets install release cgi ghci
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringpackages: syb_pkg haifa_pkg programatica_pkg
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering @if $(HCPKG) field syb-generics version; then \
77a9e8de6572db6ba5ca49023937b67fc835f356Zbigniew Jędrzejewski-Szmek echo "of syb-generics package found"; else \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering echo "of HAIFA package found"; else \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC) --make -O -o hets hets.hs $(HC_OPTS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering ghc --make GUI/hets_cgi.hs -o $@ $(HC_OPTS) -O
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering @echo 'File : Maintainer' > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering###############################
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### count lines of code
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay Sievers###############################
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay Sievers### Documentation via haddock
f6113d42d015ad9f3a9e702a09eb8006511a4424Kay SieversHADDOCK_OPTS = $(addprefix --optghc=, $(HC_OPTS))
59704f3e937c664f7324bfbb08483c358dfbc4c6Lennart Poettering -t 'Hets - the Heterogeneous Tool Set' \
59704f3e937c664f7324bfbb08483c358dfbc4c6Lennart Poettering -p Hets-Haddock-Prologue.txt $(HADDOCK_OPTS) \
e707c49485b8f4f2ec040d3da232d39153e650b9Lennart Poettering# generate haddock documentation with links to sources
e707c49485b8f4f2ec040d3da232d39153e650b9Lennart Poettering# the interface treatment is stolen from uni/mk/suffix.mk
7f8732835295fce29479b1afc9e8ee801852db09Lennart Poettering cp -r -L ../uni/www docs/www || mkdir docs/www
e707c49485b8f4f2ec040d3da232d39153e650b9Lennart Poettering HINTERFACES0=`find -L docs/www -name '*.haddock' \
e707c49485b8f4f2ec040d3da232d39153e650b9Lennart Poettering -printf "--read-interface=www/%P,%p "` ; \
a19554ed92a7460b4e709cc40c558cde827ab85bLennart Poettering $(HADDOCK) -o docs -h -v -s ../%F $$HINTERFACES \
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poettering -t 'Hets - the Heterogeneous Tool Set' \
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poettering -p Hets-Haddock-Prologue.txt $(doc_sources)
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poettering# sources are not copied here
9ee58bddeb6eb044753167e0047fe836479ca5dbKay Sievers###############################
9ee58bddeb6eb044753167e0047fe836479ca5dbKay Sievers### release management
71ef24d09573874c0f7bc323c07c3aec2a458707Lennart PoetteringderivedSources: $(derived_sources) $(hspp_sources)
71ef24d09573874c0f7bc323c07c3aec2a458707Lennart Poettering (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT)
1b89884ba31cbe98f159ce2c7d6fac5f6a57698fLennart Poettering$(GENRULES): $(DRIFT) $(GENERATERULES_deps)
1920e37ef9fec04a1fd882f66bfa7a9a5b91c536Lennart Poettering $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering# "-package hssource" for ghc-5.04.2
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poetteringutils/appendHaskellPreludeString: utils/appendHaskellPreludeString.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering svn co https://svn-agbkb.informatik.uni-bremen.de/Hets/$(REV) Hets
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering if [ -d ../uni ] ; then ln -s ../uni uni ; fi
5f1dac6bf605871615b35891a3966fa474db5b20Lennart Poettering if [ -d ../programatica ] ; then \
de34a42bcad31f0648ac0f249801310e0dbf83f9Lennart Poettering ln -s ../../programatica/tools programatica/tools ; fi
de34a42bcad31f0648ac0f249801310e0dbf83f9Lennart Poettering (cd Hets; $(MAKE) derivedSources; $(MAKE) clean; \
424a19f8a2061c6b058283228734010b2fa24db4Lennart Poettering find . -name .svn -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
424a19f8a2061c6b058283228734010b2fa24db4Lennart Poettering $(RM) clean.*; utils/replaceAllHeaders.sh)
8556879e0d14925ce897875c6c264368e2d048c2Lennart Poettering cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
4a30847b9d71e0381948d68279c8f775b9de7850Lennart Poettering ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
d87be9b0af81a6e07d4fb3028e45c4409100dc26Lennart Poetteringpack/install-%.jar: pack/install-%.xml pack/UserInputSpec-%.xml hets.in hets
d87be9b0af81a6e07d4fb3028e45c4409100dc26Lennart Poettering ## TODO: add more dependencies and use hets-opt
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering# compile $< -b . -k web -o $@
d8b78264a5245307babbf5af8e39d6d4a1ae095fLennart Poettering###################################
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart Poetteringutils/genItCorrections: $(GENITCORRECTIONS_deps)
5a7e959984788cf89719dec31999409b63bb802bLennart Poetteringpretty/LaTeX_maps.hs: utils/words.pl utils/genItCorrections \
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart Poettering pretty/words.input pretty/fonts.input pretty/width-table.tex.templ
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart Poettering @echo -n "Generating pretty/LaTeX_maps.hs ... "
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart Poettering @(cd pretty >/dev/null; $(PERL) ../utils/words.pl > words.pl.log)
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart Poettering @(cd pretty >/dev/null; ../utils/genItCorrections \
edca2e2348b314e2d892fe6f8ae276fdc223f014Thomas Hindoe Paaboel Andersen gen_it_characters gen_it_words >> LaTeX_maps.hs)
0790b9fed42eefc4e22dbbe2337cba9713b7848cLennart Poettering @echo "please copy the file manually to Common"
918943c75fbd9dee87ff396de3a7c63a8d228433Lennart Poettering#############################
fd4d89b2c0b31da01d134301e30916931ae3c7d9Lennart Poettering### ATC DrIFT-rule generation
4d9909c93e9c58789c71b34555a1908307c6849eLennart PoetteringCASL/ATC_CASL.der.hs: $(CASL_files) $(GENRULES)
4d9909c93e9c58789c71b34555a1908307c6849eLennart Poettering $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
47ae7201b1df43bd3da83a19e38483b0e5694c99Lennart PoetteringRelationalScheme/ATC_RelationalScheme.der.hs: $(RS_files) $(GENRULES)
88a6c5894c9d3f85d63b87b040c130366b4006ceKay Sievers $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(RS_files)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringPropositional/ATC_Propositional.der.hs: $(Propositional_files) $(GENRULES)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Propositional_files)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(HasCASL_files)
c66d36e5b5ae81f3c5297d6dacadc13c88c530f6Lennart PoetteringIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
9946996cda11a18b44d82344676e5a0e96339408Lennart PoetteringModal/ATC_Modal.der.hs: $(Modal_files) $(GENRULES)
9946996cda11a18b44d82344676e5a0e96339408Lennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Modal_files)
3471bedc005fab03f40b99bf6599645330adcd9eLennart PoetteringTemporal/ATC_Temporal.der.hs: $(Temporal_files) $(GENRULES)
3471bedc005fab03f40b99bf6599645330adcd9eLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Temporal_files)
35eb6b124ebdf82bd77aad6e44962a9a039c4d33Lennart PoetteringConstraintCASL/ATC_ConstraintCASL.der.hs: $(ConstraintCASL_files) $(GENRULES)
5b40d33761376354116a8cddb9b9fbdb6c4727d6Lennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ConstraintCASL_files)
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay Sievers $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) $(GENRULES)
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay Sievers $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay Sievers $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(COL_files)
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
465349c06d994dd2cc6b6fc4109ac0b9952d500aLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
06dab8e18aebf822392c7ca66c5bf3c1200fdec8Lennart PoetteringSoftFOL/ATC_SoftFOL.der.hs: $(SoftFOL_files) $(GENRULES)
e01a15b71e18bf2008aec7e75041ffa42eb80b80Kay Sievers $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SoftFOL_files)
3f60bcb5e69846fe8a3156ca1c9a7e0813ac158aKay Sievers $(GENRULECALL) -i OWL.ReadWrite -o $@ $(OWL_files)
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sievers $(GENRULECALL) -x VSE.As.FoldRec -i CASL.ATC_CASL -o $@ $(VSE_files)
18b754d345ecb0b15e369978aaffa72e9814b86aKay SieversOMDoc/ATC_OMDoc.der.hs: $(OMDoc_files) $(GENRULES)
068665b6fd9839f27bcace7e8f56c0baa6935272Lennart Poettering $(GENRULECALL) -i OMDoc.ATerm -o $@ $(OMDoc_files)
bd08f2422491169e92dc0899d5ba848fcae4c15cLennart Poettering $(RM) $(generated_rule_files) $(gendrifted_files) $(hspp_sources) \
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart Poettering###############
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering### removes all *.o, *.hi and *.p_o files in all subdirectories
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering find . -name \*.o -o -name \*.hi -o -name \*.p_o | xargs $(RM)
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering### remove binaries
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers $(RM) pretty/*.c.* pretty/*.h.* pretty/gen_it_* \
de6c78f8795743894431a099d26ec562a8acf3dfLennart Poettering### additionally removes the library files
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering### clean user packages
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering $(HCPKG) unregister HAIFA --user || exit 0
d3c7d7dd77b2b72315164b672462825cef6c0f9aKay Sievers $(HCPKG) unregister programatica --user || exit 0
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poettering $(HCPKG) unregister syb-generics --user || exit 0
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering### additionally removes generated files not in the CVS tree
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering $(RM) Modal/GeneratePatterns.inline.hs utils/appendHaskellPreludeString
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering $(RM) utils/genItCorrections pretty/LaTeX_maps.hs pretty/words.pl.log
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering $(RM) -r $(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poettering####################################################################
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering### test targets
8d0e38a2b966799af884e78a54fd6a2dffa44788Lennart Poettering####################################################################
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering### interactive
a012ab5293a28af93454b3105ca85ca148b1c11fDave Reisner### christian's target
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poettering### CASL parser
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering### Annos parser
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### CASL parser
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### HasCASL parser
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering### Haskell analysis
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poettering### Haskell to Isabelle-HOLCF translation
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart PoetteringHaskell/h2hf: Haskell/h2hf.hs Haskell/*.hs Isabelle/*.hs Common/*.hs \
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart Poettering### HasCASL to Haskell translation
f530371f1f85a070d7d0fb5112146a43533ae00bLennart Poettering### test program to check the known provers
a73d88fa024b5668ed7dde681e99547d41e6a864Lennart Poettering### run tests in other directories
3040728b6691ea2e9df3a2060e2d49a792bbaedaLennart Poettering for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering####################################################################
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering## Preparing the version of Hets
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringDriver/Version.hs: Driver/Version.in version_nr
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering LANG=C $(PERL) utils/build_version.pl version_nr \
3f7a8c4e9f1d3ce48919e24eb2c9d56dd6fd88d8Kay Sievers## two hardcoded dependencies for a correct generation of Version.hs