Makefile revision d0279930f87bf39843e0bd2992a4789322662144
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt# This Makefile will compile the new hets system and provides also
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt# targets for test programs during implementation phases.
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# !!! Note: This makefile is written for GNU make !!!
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# (gmake on solaris)
7ec97ae74e42ec21b354fd2d1366313b41d947d6Evan Hunt####################################################################
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews## Some varibles, which control the compilation
002f1373374a0b72fc0329baa682917929bef168Tony FinchHAIFA_PATHS = Network Network/Server Org Org/W3 Org/W3/N2001 \
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews Org/Xmlsoap Org/Xmlsoap/Schemas Org/Xmlsoap/Schemas/Soap \
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews Text Text/XML Text/XML/HXT Text/XML/Schema Text/XML/Schema/TypeMapper \
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews utils utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews Common/Lib Common/ATerm Logic CASL CASL/CCC CASL/CompositionTable \
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews Syntax Static GUI HasCASL Haskell Modal CoCASL COL ConstraintCASL \
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews CspCASL ATC Proofs Comorphisms Isabelle Driver Modifications \
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews Taxonomy CASL_DL SoftFOL OWL OMDoc PGIP Propositional RelationalScheme \
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt# the 'replacing spaces' example was taken from the (GNU) Make info manual
f1740da065d4555039fe8bb53beb4153e3f94de3Mark AndrewsDRIFT_ENV = DERIVEPATH=$(subst $(space),:,$(PFE_PATHS))
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews# override on commandline for other architectures
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan HuntGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
635e4351b04fd61ca6d853bdac6268c090b55129Mark AndrewsGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
635e4351b04fd61ca6d853bdac6268c090b55129Mark AndrewsINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews Common/Doc.hs CASL/ToDoc.hs Modal/AS_Modal.hs \
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews Modal/Parse_AS.hs Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
1cf118a656f5fd210787908b845362077fc507f8Evan HuntGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark AndrewsSETUPPREFIX = --prefix=$(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt ../$(SETUP) build; ../$(SETUP) haddock; ../$(SETUP) install --user
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan HuntHAXMLVERSION = $(shell $(HCPKG) field HaXml version)
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis DupontHAXML_PACKAGE = -package HaXml -DHAXML_PACKAGE
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień# remove -fno-warn-orphans for older ghcs and add -ifgl
e526027287b849f0b6ab6e069156697cbafa22c1Michał KępieńHC_FLAGS = $(HC_WARN) -fglasgow-exts -fallow-overlapping-instances
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień# -ddump-minimal-imports
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman# uncomment to above line to generate .imports files for displayDependencyGraph
929329d2d66a7e1083c70a9c918381935bf12799Mukund SivaramanHC_INCLUDE = $(addprefix -i, $(INCLUDE_PATH))
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrewslogics = CASL HasCASL Isabelle Modal CoCASL COL CspCASL CASL_DL SoftFOL \
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrews ConstraintCASL Propositional OWL DL RelationalScheme VSE
afefd754734f896bf3e0590177fff83e7cdfdf35Mark AndrewsTESTTARGETFILES += CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrews Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrews ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrews Common/ATerm/ATermDiffMain.hs Common/annos.hs Common/test_parser.hs \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt SoftFOL/tests/soapTest.hs Comorphisms/test/sublogicGraph.hs \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan HuntUNI_PACKAGE_CONF = $(wildcard ../uni/uni-package.conf)
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan HuntHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt# some modules from uni for haddock
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews# if uni/server is included also HaXml sources are needed
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrewsuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrewsuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews Taxonomy/taxonomyTool.hs SoftFOL/tests/CMDL_tests.hs \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews### list of directories to run checks in
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrewshs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews Haskell/TiPropATC.hs Haskell/ATC_Haskell.der.hs
534057c9f91a3eb6e0541f3526459c716239b337Mark AndrewsPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews base/transforms base/transforms/Deriving property \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews property/syntax property/AST property/transforms \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews property/TI property/defs property/parse2 property/parse2/Parser
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark AndrewsPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark Andrewspfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
2d82ed9456e72dc4373bea19d63411afe1c48962Mark AndrewsPFE_FLAGS = -package programatica -DPROGRAMATICA
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrewshappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrewsprogramatica_pkg: $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs \
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews @if $(HCPKG) field programatica version; then \
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews echo "of programatica package found"; else \
677f507de7c546c187c1505c48bc7b440545485cMark Andrews -i `pwd`/Haskell/Programatica.patch || exit 0); \
677f507de7c546c187c1505c48bc7b440545485cMark Andrews cp -f utils/programatica.cabal ../programatica/tools; \
677f507de7c546c187c1505c48bc7b440545485cMark Andrews echo "{-# OPTIONS -w #-}" > $@
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
677f507de7c546c187c1505c48bc7b440545485cMark Andrews $(HC) --make -fno-monomorphism-restriction -O \
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews -i$(LEX_DIR) -i$(LEX_DIR)Gen -i$(LEX_DIR)Spec \
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Huntderived_sources += Haskell/PreludeString.hs $(LEX_DIR)/HsLex.hs \
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępieńutils/appendHaskellPreludeString: utils/appendHaskellPreludeString.hs
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark AndrewsAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews## rule for appendHaskellPreludeString
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark AndrewsHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
a38f07c73790170842e4523b4a474d01ca0dede1Michał KępieńAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark AndrewsOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień base/parse2/SourceNames base/syntax/SyntaxRec \
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień## rule for ATC generation
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał KępieńHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
86d2f9abc8493321aacb0d540485de4d562fb734Mark AndrewsTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
86d2f9abc8493321aacb0d540485de4d562fb734Mark AndrewsTESTTARGETS = Test.o $(subst .hs,,$(TESTTARGETFILES))
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews### Profiling (only for debugging)
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews### Attention every module must be compiled with profiling or the linker
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień### cannot link the various .o files properly. So after switching on
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień### Profiling, do an 'gmake real_clean; gmake'
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień### Comment in the following line for switching on profiling.
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews# HC_PROF = -prof -auto-all -osuf p_o +RTS -K100m -RTS
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark AndrewsHC_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PROF) $(HAXML_PACKAGE) $(HC_PACKAGE) \
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews####################################################################
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews## sources for hets
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrewsnon_sources = Common/LaTeX_maps.svmono.hs Common/CaslLanguage.hs ./Test.hs \
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępieńsources = hets.hs $(filter-out $(non_sources), \
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień $(wildcard $(addsuffix /[A-Z]*hs, $(SOURCE_PATHS))))
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt Syntax/AS_Structured.hs Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews CspCASL/AS_CspCASL_Process.hs CspCASL/AS_CspCASL.hs \
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrewsatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień Logic/Prover.hs Common/ExtSign.hs Static/DevGraph.hs
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępieńatc_der_files = $(foreach file, $(atc_files), \
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień ATC/$(basename $(basename $(notdir $(file)))).der.hs)
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał KępieńATC/Result.der.hs: Common/Result.hs $(GENRULES)
01967d183990e44752fe61f193dab9c04c3afd9cEvan HuntATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark AndrewsATC/ExtSign.der.hs: Common/ExtSign.hs $(GENRULES)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark AndrewsATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
7c442d7fe06bc95432af7513764e5cc85e133648Evan HuntATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Grothendieck -o $@ $<
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał KępieńATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark AndrewsATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark AndrewsATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
5f103158280fb2e814db305f917aa42040221623Mark Andrews $(GENRULECALL) -x Logic.Prover.ProverTemplate \
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan HuntATC/DevGraph.der.hs: Static/DevGraph.hs $(GENRULES)
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt $(GENRULECALL) -i ATC.AS_Library -i ATC.Grothendieck -o $@ $<
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan HuntCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark AndrewsHasCASL_files = Common/Prec.hs HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan HuntPropositional_files = Propositional/Sign.hs Propositional/Morphism.hs \
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt Propositional/AS_BASIC_Propositional.hs Propositional/Symbol.hs \
f44202ab640d22e17b4c74bdad7817622918bd27Mark AndrewsRS_files = RelationalScheme/AS.hs RelationalScheme/Sign.hs
f44202ab640d22e17b4c74bdad7817622918bd27Mark AndrewsModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał KępieńConstraintCASL_files = ConstraintCASL/AS_ConstraintCASL.hs
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał KępieńCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan HuntCspCASL_files = CspCASL/AS_CspCASL.hs CspCASL/AS_CspCASL_Process.hs \
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan HuntCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs CASL_DL/Sublogics.hs
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Huntatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Huntgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Huntgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
c85920c0b4b2d4dc605c0b1d355881925bf410afMark Andrews Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs \
c85920c0b4b2d4dc605c0b1d355881925bf410afMark Andrews Comorphisms/CASL2SubCFOL.hs CASL_DL/PredefinedSign.hs
0612274565d80e0ad87a19920e561cce5bddb05bEvan Huntgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
0612274565d80e0ad87a19920e561cce5bddb05bEvan Huntderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt $(inline_axiom_files) Modal/ModalSystems.hs $(hs_der_files)
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt# sources that have {-# OPTIONS -cpp #-}
4ee1fbe056e812e661b856b4b448296331a40249Michał Kępień SoftFOL/Logic_SoftFOL.hs GUI/Utils.hs Driver/WriteFn.hs \
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews Comorphisms/LogicList.hs Comorphisms/LogicGraph.hs \
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews Comorphisms/KnownProvers.hs hets.hs $(happy_files) \
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews# unused, remove when header files are gone
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan Huntnondoc_sources = $(wildcard utils/DrIFT-src/*.hs) \
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień $(genrule_header_files) $(generated_rule_files) \
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hspp \
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrewshspp_sources = $(patsubst %.hs, %.hspp, $(cpp_sources))
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews# this variable holds the modules that should be documented
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Huntdoc_sources = $(filter-out $(nondoc_sources), $(sources) $(hspp_sources))
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunttax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
21d58795b10a13fa7ac306f7146bdcb58b2e5165Mark Andrewstax_objects = $(patsubst %.hs, %.o, $(tax_sources))
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt####################################################################
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt.PHONY : all hets-opt hets-optimized clean o_clean clean_pretty \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt real_clean bin_clean package_clean distclean packages \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt http_pkg syb_pkg shellac_pkg shread_pkg shcompat_pkg \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt hxt_pkg haifa_pkg programatica_pkg maintainer-clean annos \
ad1317338af79edad878c9c3e4361798503310baMark Andrews check capa hacapa h2h h2hf showKP clean_genRules genRules \
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt derivedSources install_hets install release cgi ghci
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
da1f585afa8c103508c759142d6aed4edae6936eMark Andrewspackages: base64_pkg http_pkg syb_pkg shellac_pkg shread_pkg shcompat_pkg \
da1f585afa8c103508c759142d6aed4edae6936eMark Andrews tagsoup_pkg hxt_pkg hxtfilter_pkg haifa_pkg programatica_pkg
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaramanbase64_pkg: utils/dataenc-0.11.tar.gz $(SETUP)
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman echo "of dataenc package found"; else \
6b183c64a3281491f8232959a5ece303b4499706Mark Andrews echo "of HTTP package found"; else \
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień @if $(HCPKG) field syb-generics version; then \
e2cc7418bf895d22854d84590b63905fac0d4b90Mark Andrews echo "of syb-generics package found"; else \
e446fd29b9c6c4a7b6b5bb0aee3932578c346718Mukund Sivaraman echo "of Shellac package found"; else \
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaramanshread_pkg: utils/shread.tgz $(SETUP) shellac_pkg
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman @if $(HCPKG) field Shellac-readline version; then \
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman echo "of Shellac-readline package found"; else \
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaramanshcompat_pkg: utils/shcompat.tgz $(SETUP) shread_pkg
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień @if $(HCPKG) field Shellac-compatline version; then \
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień echo "of Shellac-compatline package found"; else \
b351a5864727a390e06d787e522b141ca760590fMichał Kępień echo "of tagsoup package found"; else \
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrewshxt_pkg: utils/hxt-8.0.0.tar.gz $(SETUP) http_pkg tagsoup_pkg
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews echo "of hxt package found"; else \
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunthxtfilter_pkg: utils/hxt-filter-8.0.0.tar.gz $(SETUP) hxt_pkg
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews echo "of hxt-filter package found"; else \
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunthaifa_pkg: $(SETUP) base64_pkg hxtfilter_pkg syb_pkg
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrews echo "of HAIFA package found"; else \
6e1f755f19ef244422e1efa4551fe23775e1a38cMark Andrews @echo 'File : Maintainer' > $@
435a7cd2293dfa9264678508762ab9acb8d41e50Mark Andrews @echo " done"
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał Kępień###############################
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał Kępień### count lines of code
031bc55634f443c7c70fbf44c6ac6d8abe72f22bEvan Hunt###############################
031bc55634f443c7c70fbf44c6ac6d8abe72f22bEvan Hunt### Documentation via haddock
a64daf673deff2358a91bee26bbf2bf874f47c6eMark Andrews# generate haddock documentation with links to sources
a64daf673deff2358a91bee26bbf2bf874f47c6eMark Andrews# the interface treatment is stolen from uni/mk/suffix.mk
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień cp -r -L ../uni/www docs/www || mkdir docs/www
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień HINTERFACES0=`find -L docs/www -name '*.haddock' \
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień $(HADDOCK) -o docs -h -v -s ../%F $$HINTERFACES \
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień -t 'Hets - the Heterogeneous Tool Set' \
e02fa56849131911e9554133b17a5325b37d0828Michał Kępień# sources are not copied here
b81b178ab919bdbd92021cfc7e6e8d971cd38e83Mark Andrews###############################
b81b178ab919bdbd92021cfc7e6e8d971cd38e83Mark Andrews### release management
bf216589c1a81e4431653a145b252b6ce367d7cdMark AndrewsderivedSources: $(derived_sources) $(hspp_sources)
7dbeb5e7f067585abfb12fac314a0d2a8f0dd040Evan Hunt (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
37f6466aa327a5b444e41c8cb57ab5caacfe6279Evan Hunt GenerateRules.hs -o ../genRules && strip ../genRules)
36babd3e630f507843c423207cbbbd4758d7cffaTinderbox User# "-package hssource" for ghc-5.04.2
4162d3b36d1a3c25724c7e37ce839f67b2352bbbMark Andrews $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt svn co https://svn-agbkb.informatik.uni-bremen.de/Hets/$(REV) Hets
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt if [ -d ../programatica ] ; then \
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt ln -s ../../programatica/tools programatica/tools ; fi
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt (cd Hets; $(MAKE) derivedSources; $(MAKE) clean; \
11c4e6d8fcc9bc148543c1ee632315e096d2bcf2Michał Kępień find . -name .svn -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
fe6d2fd8338d6f6ac4c79bea9a8daad903460040Evan Hunt cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
05a456499af940762d6658366abafb220c5053ccMark Andrews ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark Andrewspack/install-%.jar: pack/install-%.xml pack/UserInputSpec-%.xml hets.in hets
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark Andrews ## TODO: add more dependencies and use hets-opt
e3efc855f9f0acc9b14bb8e9c833e0fa209068b6Mark Andrews# compile $< -b . -k web -o $@
e3efc855f9f0acc9b14bb8e9c833e0fa209068b6Mark Andrews###################################
e56c0854589d936f911e0aac2f2bf53cbc8a6af7Michał Kępieńutils/genItCorrections: $(GENITCORRECTIONS_deps)
6727802528c27484e0d36d70f0b936022d3226e3Michał Kępieńpretty/LaTeX_maps.hs: utils/words.pl utils/genItCorrections \
4d41be5f9e86c11a6f00e2b005cfc5abae2c1ab3Mark Andrews pretty/words.input pretty/fonts.input pretty/width-table.tex.templ
4d41be5f9e86c11a6f00e2b005cfc5abae2c1ab3Mark Andrews @echo -n "Generating pretty/LaTeX_maps.hs ... "
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews @(cd pretty >/dev/null; $(PERL) ../utils/words.pl > words.pl.log)
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews @(cd pretty >/dev/null; ../utils/genItCorrections \
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews gen_it_characters gen_it_words >> LaTeX_maps.hs)
42ae02626d05921ca7508ae6f9c48ea699596bc6Mark Andrews @echo "ready"
6b56350522d18f10edbf2d3778cd0fea74e4f3d2Mark Andrews @echo "please copy the file manually to Common"
42ae02626d05921ca7508ae6f9c48ea699596bc6Mark Andrews#############################
41caed6e2d7e9caace30e6c59f199ab6bd438f01Mark Andrews### ATC DrIFT-rule generation
16f43564c6875e2bedd346c18c494933ad51e4faMukund SivaramanCASL/ATC_CASL.der.hs: $(CASL_files) $(GENRULES)
16f43564c6875e2bedd346c18c494933ad51e4faMukund Sivaraman $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
28ea558bc80f75e46d77ea0533232bb9d4e644f7Mark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(DL_files)
8ed6c49f1a7f06d3ed39bee7731ff91d8dfd8dc7Mark AndrewsRelationalScheme/ATC_RelationalScheme.der.hs: $(RS_files) $(GENRULES)
8ed6c49f1a7f06d3ed39bee7731ff91d8dfd8dc7Mark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(RS_files)
565535d1820c63c64ec3c89e1f4815c326aed7aeEvan HuntPropositional/ATC_Propositional.der.hs: $(Propositional_files) $(GENRULES)
6045abbc9a0d7d449a13b6fbfbf32d419b6bee96Mark Andrews $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Propositional_files)
f7d148398ca4511551c737e655b15f7d0d59a783Mark AndrewsHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
f7d148398ca4511551c737e655b15f7d0d59a783Mark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(HasCASL_files)
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark AndrewsIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark AndrewsModal/ATC_Modal.der.hs: $(Modal_files) $(GENRULES)
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Modal_files)
398834f7559617bdfd6c10ba555609a2f306e3d4Mark AndrewsConstraintCASL/ATC_ConstraintCASL.der.hs: $(ConstraintCASL_files) $(GENRULES)
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ConstraintCASL_files)
28061f80b698171892e81c0856bc722190947998Evan HuntCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
28061f80b698171892e81c0856bc722190947998Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
a785bf2c39c6f223a93c27bbff81591b38095577Mark AndrewsCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) $(GENRULES)
a785bf2c39c6f223a93c27bbff81591b38095577Mark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(COL_files)
d315545e6db6792692fe2dcb788ac6717a33b75fEvan HuntCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
d315545e6db6792692fe2dcb788ac6717a33b75fEvan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
d315545e6db6792692fe2dcb788ac6717a33b75fEvan HuntSoftFOL/ATC_SoftFOL.der.hs: $(SoftFOL_files) $(GENRULES)
00f131293520b70728cd48840e09953fa45a745bMark Andrews $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SoftFOL_files)
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews $(GENRULECALL) -i OWL.ReadWrite -o $@ $(OWL_files)
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews $(GENRULECALL) -x VSE.As.FoldRec -i CASL.ATC_CASL -o $@ $(VSE_files)
42c1acfa478aacfbda2d298cf74a137de2df4b87Michał Kępień $(RM) $(generated_rule_files) $(gendrifted_files) $(hspp_sources) \
214b53880b6d77359f60feccb91bd2589059300aEvan Hunt###############
3a58e1fefb0a9fd5dab11f271a320c6b90473f76Mukund Sivaraman### removes all *.o, *.hi and *.p_o files in all subdirectories
7c67b8c2b076971e6a9f8b0db932201366f13d47Mark Andrews find . -name \*.o -o -name \*.hi -o -name \*.p_o | xargs $(RM)
7c67b8c2b076971e6a9f8b0db932201366f13d47Mark Andrews### remove binaries
387f5e872d40426acbc739d2e9b2bb37c123dd56Mark Andrews### additionally removes the library files
032d2134a4c1808696688db9bf6f20253e5d05b5Mark Andrews### clean user packages
823ccd1f02802966395d58c916e9f988320fd6eeEvan Hunt $(HCPKG) unregister Shellac-compatline --user || exit 0
823ccd1f02802966395d58c916e9f988320fd6eeEvan Hunt $(HCPKG) unregister Shellac-readline --user || exit 0
ace5680c122ef239e64eec1120f13f5a7f087d79Mark Andrews### additionally removes generated files not in the CVS tree
59d940391ce90963cd3f4b22201b3fca2ffda22aMark Andrews $(RM) Modal/GeneratePatterns.inline.hs utils/appendHaskellPreludeString
59d940391ce90963cd3f4b22201b3fca2ffda22aMark Andrews $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
6b432e11497f905a6b6f048df3e8a01ce8abbb1eMark Andrews $(RM) utils/genItCorrections pretty/LaTeX_maps.hs pretty/words.pl.log
cb9345c996de9d9c990009f14fc83fbbe9c5e3e6Mark Andrews $(RM) -r $(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
cb9345c996de9d9c990009f14fc83fbbe9c5e3e6Mark Andrews####################################################################
c935952ede45595a821cfed7f73b57f3b239ca2bMark Andrews### test targets
c935952ede45595a821cfed7f73b57f3b239ca2bMark Andrews####################################################################
9604a49da0130534f2f4aaa0cbfa78b5f589196fMark Andrews### interactive
da5b569ddb9b8bf84242f3085d18e215ec490fdaMark Andrews### christian's target
da5b569ddb9b8bf84242f3085d18e215ec490fdaMark Andrews### CASL parser
c83a3061551c86bd661839be935de061f7322f5cEvan Hunt### Annos parser
ac9072210cea5283e554f1787876b647a08fda96Mark Andrews### CASL parser
512765ba1e3f0b29e2c1ae4b0138838c6422f2bdEvan Hunt### HasCASL parser
27a262bc4d38c7a8230677ac2685ec7a4f509f70Mark Andrews### Haskell analysis
3b38e4b8344cb3bb28f2b116d2e39f8371ef8e34Mukund Sivaraman### Haskell to Isabelle-HOLCF translation
3b38e4b8344cb3bb28f2b116d2e39f8371ef8e34Mukund SivaramanHaskell/h2hf: Haskell/h2hf.hs Haskell/*.hs Isabelle/*.hs Common/*.hs \
3b38e4b8344cb3bb28f2b116d2e39f8371ef8e34Mukund Sivaraman $(HC) -O --make -o $@ $< $(HC_FLAGS) $(PFE_FLAGS)
0d24df5c0b2f9546f403113df8ac4457223bc92fEvan Hunt### HasCASL to Haskell translation
7c1c9b4dcd9efa507cdb58d3d83e99ab4836096dMark Andrews### test program to check the known provers
9689922a0d936b04feb418fbaf4c1420f745ea58Mark Andrews### run tests in other directories
9689922a0d936b04feb418fbaf4c1420f745ea58Mark Andrews for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
02989eceeff85cd6c5dd31848a12674f74bba7cfEvan Hunt####################################################################
02989eceeff85cd6c5dd31848a12674f74bba7cfEvan Hunt## Preparing the version of Hets
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt LANG=C $(PERL) utils/build_version.pl version_nr \
8b9c4592ed718c4187971f1104381faf538bf4f7Evan Hunt## two hardcoded dependencies for a correct generation of Version.hs
8b9c4592ed718c4187971f1104381faf538bf4f7Evan HuntDriver/Options.hs Driver/WriteFn.hs Driver/ReadFn.hs: Driver/Version.hs
9a8b2b3ab35fbbdf03acba32dade90ad91f75742Mukund Sivaraman## two dependencies for avoidence of circular prerequisites
9a8b2b3ab35fbbdf03acba32dade90ad91f75742Mukund SivaramanCASL_DEPENDENT_BINARIES= hets CASL/capa CASL/fromKif \
9a8b2b3ab35fbbdf03acba32dade90ad91f75742Mukund Sivaraman Common/annos Common/test_parser Comorphisms/test/showKP \
eeb16584fbd3564136cb4c950fc5e1b54690de68Mukund Sivaraman CspCASL/print_csp HasCASL/hacapa Haskell/h2h Haskell/h2hf \
eeb16584fbd3564136cb4c950fc5e1b54690de68Mukund Sivaraman Haskell/hana Haskell/wrap Isabelle/isa Syntax/hetpa
eeb16584fbd3564136cb4c950fc5e1b54690de68Mukund Sivaraman$(CASL_DEPENDENT_BINARIES): $(sources) $(derived_sources)
eeb16584fbd3564136cb4c950fc5e1b54690de68Mukund Sivaraman# CASL_DL/Logic.hs: CASL_DL/PredefinedSign.hs
eeb16584fbd3564136cb4c950fc5e1b54690de68Mukund Sivaraman####################################################################
9540b42695c15fdd5f01b4c663e21936e6c38c82Mukund Sivaraman## rules for DrIFT
fec9247b8f1ab52e999643ae03f0550387ec359fMukund Sivaraman echo "{-# OPTIONS -w #-}" > $@
527163f0e5e8639bcceb7fe52387285042f5b24cEvan Hunt ($(DRIFT_ENV); export DERIVEPATH; $(DRIFT) $< > $@)
62a6147e51fd1ccb9ec1c1b6c97b6e9b9ef1f002Evan Hunt## rules for inlineAxioms
3195754154292f0651c195433607696a259a98e2Evan Hunt## rule for cpp and haddock
911576956388270fe2401fbf9236d8879d2795e9Evan Hunt -DUNI_PACKAGE -DCASLEXTENSIONS -DPROGRAMATICA -optP -P $<
fd0d60b3a0139c040fedb0bb765fd9667831412eMark Andrews## compiling rules for object and interface files
1bce43adcc11d21afaf645cbe466553aabc725b2Mark Andrews## compiling rules for dependencies
403e7b451207fe6514a5d641562713b1af233b9cEvan Hunt## generate the inline file for the predefined CASL_DL sign
403e7b451207fe6514a5d641562713b1af233b9cEvan Hunt CASL_DL/PredefinedSign.inline.hs.in utils/appendHaskellPreludeString \
7fcbbd6fa9ed199cf6947bb6b204da5438211faaMark Andrews utils/appendHaskellPreludeString CASL_DL/PredDatatypes.het \
8c31a25f3ff5d6783c7add7c887e52f7031d173dMark Andrews echo " )" >> $@
8bcd80824c51c802c2927236b012cd526f569b04Mark Andrews# Warning: Don't change the order of the depencies!!
3be4330b77e6de0c6aa7cca74c1ae17fc661ac32Tinderbox UserCASL_DL/PredDatatypes.het: utils/transformLibAsBasicSpec.pl \
559cbe04e73cf601784a371e09554c20407a6c7bEvan Hunt## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
559cbe04e73cf601784a371e09554c20407a6c7bEvan Hunt# uses intransparently utils/outlineAxioms
559cbe04e73cf601784a371e09554c20407a6c7bEvan HuntModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in \
fc8c8966c906b305cb8b416a8f23f21abf103b7fEvan Hunt# or `date +%F`
07b7a3eadeda94eddd50977c9582dae2f955b638Evan Hunt sed "s/^\(HETS_VERSION =\).*/\1$(HETS_VERSION)/" Makefile.installer \
85a26f938eac3e147a48f671f6a6b5ee9cd1767dEvan Hunt @echo " -> make"