Makefile revision 383aa66e5142365fe9b1f88b18c1da5b27cc8c04
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 FinchCLEAN_PATH = . hxt/Data hxt/Text/XML/HXT/DOM hxt/Text/XML/HXT/Parser \
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews utils utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews Common/Lib Common/ATerm Logic CASL CASL/CCC CASL/CompositionTable \
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews Syntax Static GUI HasCASL Haskell Modal CoCASL COL \
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews CspCASL ATC ToHaskell Proofs Comorphisms Isabelle Driver \
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews# the 'replacing spaces' example was taken from the (GNU) Make info manual
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews## set ghc imports properly for your system
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt# import directories for ghc-5.04.2
5c78f1f50e53d8e2ed51a187efc2c9a0f43b4b1bMark AndrewsGHC5 = $(GHC_IMPORTS)/base:$(GHC_IMPORTS)/haskell98
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews DERIVEPATH=.:hxt:$(GHC_IMPORTS):$(GHC5):$(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) Common/Utils.hs
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan HuntINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews Common/Lib/Pretty.hs Common/Keywords.hs Common/Lib/Set.hs \
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews Common/Lib/Map.hs Common/Lib/Rel.hs Common/Lib/State.hs Common/Id.hs \
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs CASL/ShowMixfix.hs \
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews CASL/Utils.hs Common/Lexer.hs Common/Token.hs Common/Anno_Parser.hs \
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews Common/GlobalAnnotations.hs Common/PrettyPrint.hs Common/Partial.hs \
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews Common/Print_AS_Annotation.hs Common/PPUtils.hs CASL/LiteralFuns.hs \
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews CASL/Print_AS_Basic.hs Common/AnnoState.hs CASL/Formula.hs \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt CASL/OpItem.hs CASL/SortItem.hs CASL/Inject.hs Common/Result.hs \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt Common/ConvertLiteral.hs Common/Earley.hs CASL/MixfixParser.hs \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt CASL/Parse_AS_Basic.hs CASL/Sign.hs CASL/Overload.hs \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt CASL/StaticAna.hs Modal/AS_Modal.hs Modal/Parse_AS.hs \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund SivaramanGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews# remove -fno-warn-orphans for older ghcs and add -ifgl
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews $(HC_WARN) -fglasgow-exts -fno-monomorphism-restriction \
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews -fallow-overlapping-instances -fallow-undecidable-instances
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt# -ddump-minimal-imports
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt# flags also come in via ../uni/uni-package.conf
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt# but added it here in case of compilation without uni
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupontlogics = CASL HasCASL Isabelle Modal CoCASL COL CspCASL CASL_DL SPASS OWL_DL
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis DupontTESTTARGETS += test_parser hetpa hetana Test.o wrap isa \
e526027287b849f0b6ab6e069156697cbafa22c1Michał KępieńUNI_PACKAGE_CONF = $(wildcard ../uni/uni-package.conf)
929329d2d66a7e1083c70a9c918381935bf12799Mukund SivaramanHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
7e1a62eea2e4ba9d6c3fc718e679b965fa514f69Mark Andrews# some modules from uni for haddock
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrews# if uni/server is included also HaXml sources are needed
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrewsuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrewsuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt### list of directories to run checks in
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan HuntPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews base/transforms base/transforms/Deriving property \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews property/syntax property/AST property/transforms \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews property/TI property/defs property/parse2 property/parse2/Parser
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark AndrewsPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrewspfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
c3237dec879f82855403ff7e3ba87b298172efd5Mark AndrewsPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrewshappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews echo "{-# OPTIONS -w #-}" > $@
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrews -i$(LEX_DIR) -i$(LEX_DIR)Gen -i$(LEX_DIR)Spec \
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrewsderived_sources += Haskell/PreludeString.hs $(LEX_DIR)/HsLex.hs \
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark AndrewsAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews## rule for appendHaskellPreludeString
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark AndrewsHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
124cc0660c7eff8021c2422fb47441e9ca08b3f9Tinderbox UserAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
677f507de7c546c187c1505c48bc7b440545485cMark Andrews#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
677f507de7c546c187c1505c48bc7b440545485cMark Andrews#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
bf459d24a117ae2c54c37016430b41cd6d73491cMark AndrewsOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
677f507de7c546c187c1505c48bc7b440545485cMark Andrews base/parse2/SourceNames base/syntax/SyntaxRec \
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt## rule for ATC generation
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan HuntHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępieńhs_der_files += Haskell/TiATC.hs Haskell/TiDecorateATC.hs Haskell/TiPropATC.hs
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews### Profiling (only for debugging)
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews### Attention every module must be compiled with profiling or the linker
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews### cannot link the various .o files properly. So after switching on
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews### Profiling, do an 'gmake real_clean; gmake'
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews### Comment in the following line for switching on profiling.
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień#HC_PROF = -prof -auto-all -fignore-asserts
a38f07c73790170842e4523b4a474d01ca0dede1Michał KępieńHC_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS) $(HC_PROF) \
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews####################################################################
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews## sources for hets
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępieńnon_sources = Common/LaTeX_maps.svmono.hs CspCASL/Main.hs \
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień Common/CaslLanguage.hs ./Test.hs Static/LogicStructured.hs
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępieńsources = hets.hs $(filter-out $(non_sources), \
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień $(wildcard $(addsuffix /[A-Z]*hs, $(SOURCE_PATHS))))
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępieńdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs CASL_DL/AS_CASL_DL.hs\
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrewsatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews Logic/Prover.hs #Common/Id.hs Common/Result.hs OWL_DL/AS.hs
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews ATC/$(basename $(basename $(notdir $(file)))).der.hs)
14d8a144779b54b103d2da741a2242bf5f9052f7Mark AndrewsATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
70e041bea19b6ad9522b89c2299ad315a2deaafdMark AndrewsATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
67247b4a8304bac790648a351a95b8b0f4c512a6Mark AndrewsATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrews $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Grothendieck -o $@ $<
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał KępieńATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
a55438eda32ecebf43ead45b216662b7923a465fMark AndrewsATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan HuntATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews $(GENRULECALL) -x ProverTemplate -i ATC.AS_Annotation -o $@ $<
f8362536c647625e602c8450a778a2b7ba90c9f4Mark AndrewsCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
24231e53a5c3079431f84dcddfee1e761fec7329Mark AndrewsHasCASL_files = HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał KępieńModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał KępieńCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs CoCASL/Sublogic.hs
eb11b39981689e4a20fbe95e533577eacab992b4Mukund SivaramanCspCASL_files = CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał KępieńCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs
01967d183990e44752fe61f193dab9c04c3afd9cEvan Huntatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrewsgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrewsgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
7c442d7fe06bc95432af7513764e5cc85e133648Evan Huntinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2CFOL.hs \
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs \
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępieńgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępieńderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrews $(inline_axiom_files) Modal/ModalSystems.hs $(hs_der_files) \
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrews# sources that have {-# OPTIONS -cpp #-}
5f103158280fb2e814db305f917aa42040221623Mark Andrews Common/Lib/Set.hs Common/Lib/Map.hs ATC/Set.hs\
5f103158280fb2e814db305f917aa42040221623Mark Andrews SPASS/Logic_SPASS.hs GUI/Utils.hs Driver/WriteFn.hs \
e5715e1fe12e5ad17522bd41c31e637c869d27b7Evan Hunt Comorphisms/LogicList.hs Comorphisms/LogicGraph.hs \
e5715e1fe12e5ad17522bd41c31e637c869d27b7Evan Hunt Comorphisms/KnownProvers.hs hets.hs $(happy_files)
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt# unused, remove when header files are gone
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrewsnondoc_sources = $(wildcard utils/DrIFT-src/*.hs) \
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hspp \
50433a667cf0ed3ac7807768b745b0d870ff8c8bMark Andrews Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
3c12bec945ee71a38c5ba6f624abd12e2da7eea5Mark Andrews hxt/HXT.hs hxt/Net.hs $(patsubst %.hs, %.der.hs, $(drifted_files))
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrewshspp_sources = $(patsubst %.hs, %.hspp, $(cpp_sources))
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews# this variable holds the modules that should be documented
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępieńdoc_sources = $(filter-out $(nondoc_sources), $(sources) $(hspp_sources))
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępieńtax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunttax_objects = $(patsubst %.hs, %.o, $(tax_sources))
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt####################################################################
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt.PHONY : all hets-opt hets-optimized clean o_clean real_clean bin_clean \
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt distclean check capa hacapa wrap isa h2h h2hf clean_genRules genRules \
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt derivedSources install_hets install release cgi patch ghci
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień ghc --make GUI/hets_cgi.hs -o $@ $(HC_INCLUDE) \
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień###############################
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień### TAGS files for (x)emacs
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Hunt# load them with "M-x" "visit-tags-table" from
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Hunt# use "M-." to search for a tag
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews# !!Beware this is somewhat instable, because it uses an absolute path!!
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt @echo 'File : Maintainer' > $@
21d58795b10a13fa7ac306f7146bdcb58b2e5165Mark Andrews 'foreach my $$f (@ARGV) { open I, "<$$f"; \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt print "$$f :"; while (<I>) \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt { if(m,^\s*Maintainer\s*:\s*(.*)$$,o) { \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt print " $$1" ; last} }; print "\n"; close I; }' \
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt @echo " done"
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt###############################
ad1317338af79edad878c9c3e4361798503310baMark Andrews### count lines of code
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt###############################
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt### Documentation via haddock
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt# generate haddock documentation with links to sources
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt# the interface treatment is stolen from uni/mk/suffix.mk
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman cp -r ../uni/www docs/www || mkdir docs/www
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman HINTERFACES0=`find docs/www -name '*.haddock' \
d72952cf254b71c44e5e956a306016a5be9b9c38Mark Andrews $(HADDOCK) -o docs -h -v -s ../%F $$HINTERFACES \
d72952cf254b71c44e5e956a306016a5be9b9c38Mark Andrews -t 'Hets - the Heterogeneous Tool Set' \
6b183c64a3281491f8232959a5ece303b4499706Mark Andrews# sources are not copied here
f896f7c8be894a737998b97008a1389e72972fcfMukund Sivaraman $(PERL) utils/post_process_docs.pl a-docs \
027a4a5b5d806290146ce4989d34be2c8a664e8cMukund Sivaraman $(PERL) utils/post_process_docs.pl a-docs \
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman###############################
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman### release management
b5252fcde512405a68dd4becfe683d9763bd0feaMukund SivaramanderivedSources: $(derived_sources) $(hspp_sources)
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
b351a5864727a390e06d787e522b141ca760590fMichał Kępień $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
b351a5864727a390e06d787e522b141ca760590fMichał Kępień GenerateRules.hs -o ../genRules && strip ../genRules)
b351a5864727a390e06d787e522b141ca760590fMichał Kępień# "hssource" for ghc-5.04.2
b351a5864727a390e06d787e522b141ca760590fMichał Kępień $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
b815731d05220f932315eb33a97c6dc888c6a026Tinderbox User if [ -d ../uni ] ; then ln -s ../uni uni ; fi
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt if [ -d ../programatica ] ; then \
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews ln -s ../../programatica/tools programatica/tools ; fi
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews (cd HetCATS; $(MAKE) derivedSources; $(MAKE) clean; \
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrews cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Hunt ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt#############################
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt### ATC DrIFT-rule generation
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark AndrewsHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępień $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(HasCASL_files)
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał KępieńIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępień $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Isabelle_files)
b301c4293c082fcce4ec26218e6fad346976eb9eMark AndrewsModal/ATC_Modal.der.hs: $(Modal_files) $(GENRULES)
b301c4293c082fcce4ec26218e6fad346976eb9eMark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Modal_files)
5c4e0c7800b5c7783e7f8b9ce80a6f8dc47f8856Mark AndrewsCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
5c4e0c7800b5c7783e7f8b9ce80a6f8dc47f8856Mark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
6e1f755f19ef244422e1efa4551fe23775e1a38cMark AndrewsCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) $(GENRULES)
6e1f755f19ef244422e1efa4551fe23775e1a38cMark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
435a7cd2293dfa9264678508762ab9acb8d41e50Mark Andrews $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(COL_files)
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał KępieńCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał Kępień $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
031bc55634f443c7c70fbf44c6ac6d8abe72f22bEvan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SPASS_files)
a64daf673deff2358a91bee26bbf2bf874f47c6eMark AndrewsOWL_DL/ATC_OWL_DL.der.hs: $(OWL_DL_files) $(GENRULES)
a64daf673deff2358a91bee26bbf2bf874f47c6eMark Andrews $(GENRULECALL) -i ATC.AS_Annotation -i OWL_DL.ReadWrite \
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień $(RM) $(generated_rule_files) $(gendrifted_files) $(hspp_sources) \
f20ff8b74d21fa3e3f071544f6fd060d015cf27eMichał Kępień###############
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień### removes *.hi and *.o in all include directories
abcea74291c37abf68be4e06997c59e5494f06adMark Andrews### remove binaries
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman### additionally removes the library files
37f6466aa327a5b444e41c8cb57ab5caacfe6279Evan Hunt### additionally removes generated files not in the CVS tree
4162d3b36d1a3c25724c7e37ce839f67b2352bbbMark Andrews####################################################################
4162d3b36d1a3c25724c7e37ce839f67b2352bbbMark Andrews### test targets
ce6f0c122140647b5652c0d4de523c994fcfea08Michał Kępień####################################################################
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt### a parser to test annotation parser and Id parsers
f72f5879424ce4081893b306b8c31f29fe9205e0Evan HuntCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt### interactive
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont### christian's target
11c4e6d8fcc9bc148543c1ee632315e096d2bcf2Michał Kępień### CASL parser
59122481b2aa65de4518677c6949f03711d2553aEvan Hunt### HasCASL parser
fe6d2fd8338d6f6ac4c79bea9a8daad903460040Evan HuntHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
05a456499af940762d6658366abafb220c5053ccMark Andrews### Haskell wrapper parser
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark AndrewsHaskell/wrap: Haskell/wrap.hs Common/*.hs Haskell/Wrapper.hs
e3efc855f9f0acc9b14bb8e9c833e0fa209068b6Mark Andrews### Isar parser
e56c0854589d936f911e0aac2f2bf53cbc8a6af7Michał KępieńIsabelle/isa: Isabelle/isa.hs Common/*.hs Isabelle/*.hs
6727802528c27484e0d36d70f0b936022d3226e3Michał Kępień### Haskell analysis
6727802528c27484e0d36d70f0b936022d3226e3Michał KępieńHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/PreludeString.hs
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews### Haskell to Isabelle-HOLCF translation
42ae02626d05921ca7508ae6f9c48ea699596bc6Mark AndrewsToHaskell/h2hf: ToHaskell/h2hf.hs ToHaskell/*.hs Haskell/*.hs \
41caed6e2d7e9caace30e6c59f199ab6bd438f01Mark Andrews### HasCASL to Haskell translation
16f43564c6875e2bedd346c18c494933ad51e4faMukund SivaramanToHaskell/h2h: ToHaskell/h2h.hs ToHaskell/*.hs Haskell/*.hs HasCASL/*.hs
72b322cde0e51c4c87df0c9e3226deac95dfb4ceMark Andrews### HetCASL parser
8ed6c49f1a7f06d3ed39bee7731ff91d8dfd8dc7Mark Andrews### HetCASL parser
6045abbc9a0d7d449a13b6fbfbf32d419b6bee96Mark Andrews### ATC test system
f7d148398ca4511551c737e655b15f7d0d59a783Mark Andrewsatctest2: ATC/ATCTest2.hs Common/SimpPretty.hs Common/ATerm/*.hs \
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark Andrews### ATerm.Lib test system
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrewsatermlibtest: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs \
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrewshatermdiff: Common/ATerm/ATermDiffMain.hs Common/SimpPretty.hs \
a785bf2c39c6f223a93c27bbff81591b38095577Mark Andrews### OWL_DL test target
a785bf2c39c6f223a93c27bbff81591b38095577Mark AndrewsOWL_DL/readAStest: OWL_DL/ToHaskellAS.hs Common/ATerm/*.hs \
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt### HetCASL with dev graph
00f131293520b70728cd48840e09953fa45a745bMark AndrewsTaxonomy/taxonomyTool: Taxonomy/taxonomyTool.hs $(tax_sources)
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews### run tests in other directories
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
42c1acfa478aacfbda2d298cf74a137de2df4b87Michał Kępień####################################################################
42c1acfa478aacfbda2d298cf74a137de2df4b87Michał Kępień## Preparing the version of HetCATS
214b53880b6d77359f60feccb91bd2589059300aEvan Hunt $(PERL) utils/build_version.pl version_nr < Driver/Version.in > $@
dd5375de0a7a515ee4fb2fd217e9577259d38c07Mark Andrews## two hardcoded dependencies for a correct generation of Version.hs
3a58e1fefb0a9fd5dab11f271a320c6b90473f76Mukund SivaramanDriver/Options.hs Driver/WriteFn.hs Driver/ReadFn.hs: Driver/Version.hs
3a58e1fefb0a9fd5dab11f271a320c6b90473f76Mukund Sivaraman####################################################################
7c67b8c2b076971e6a9f8b0db932201366f13d47Mark Andrews## rules for DrIFT
c28e44f3f8bc46c6bf1c15cc06af0c42fcd7e924Evan Hunt echo "{-# OPTIONS -w #-}" > $@
541ce84ff2f0c54340da8b3e04c5686ed82420e1Mark Andrews ($(DRIFT_ENV); export DERIVEPATH; $(DRIFT) $< > $@)
032d2134a4c1808696688db9bf6f20253e5d05b5Mark Andrews## rules for inlineAxioms
823ccd1f02802966395d58c916e9f988320fd6eeEvan Hunt## rule for cpp and haddock
b6fa637fc8c92f42a21e6f97259598968717af3dEvan Hunt## compiling rules for object and interface files
59d940391ce90963cd3f4b22201b3fca2ffda22aMark Andrews## compiling rules for dependencies
c935952ede45595a821cfed7f73b57f3b239ca2bMark Andrews## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
c935952ede45595a821cfed7f73b57f3b239ca2bMark Andrews# uses intransparently utils/outlineAxioms