Makefile revision 38352346eb1a67ba0f4eab8ad6f718528cf0cde0
fa9e4066f08beec538e775443c5be79dd423fcabahrens# Makefile
fa9e4066f08beec538e775443c5be79dd423fcabahrens# $Header$
fa9e4066f08beec538e775443c5be79dd423fcabahrens# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005
fa9e4066f08beec538e775443c5be79dd423fcabahrens# Year: 2004
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock# This Makefile will compile the new hets system and provides also
fa9e4066f08beec538e775443c5be79dd423fcabahrens# targets for test programs during implementation phases.
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens# !!! Note: This makefile is written for GNU make !!!
fa9e4066f08beec538e775443c5be79dd423fcabahrens# (gmake on solaris)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensall: hets
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens## Some varibles, which control the compilation
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensINCLUDE_PATH = fgl hxt
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMMONLIB_PATH = Common/Lib Common/ATerm fgl/Data/Graph \
fa9e4066f08beec538e775443c5be79dd423fcabahrens fgl/Data/Graph/Inductive fgl/Data/Graph/Inductive/Internal \
fa9e4066f08beec538e775443c5be79dd423fcabahrens fgl/Data/Graph/Inductive/Monad fgl/Data/Graph/Inductive/Query
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLEAN_PATH = . utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
c99e4bdccfb4ac4da569c64a43baaf908d726329Chris Kirby Logic CASL CASL/CCC Syntax Static GUI HasCASL Haskell Modal CoCASL COL \
94dd93aee32d1616436eb51fb7b58094b9a8d3e8George Wilson CspCASL ATC ToHaskell Proofs Comorphisms Isabelle Driver $(INCLUDE_PATH) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Haskell/Hatchet Hatchet Taxonomy CASL_DL SPASS $(PFE_PATHS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens# the 'replacing spaces' example was taken from the (GNU) Make info manual
c9431fa1e59a88c2f0abf611f25b97af964449e5ahlempty =
fa9e4066f08beec538e775443c5be79dd423fcabahrensspace = $(empty) $(empty)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## set ghc imports properly for your system
c9431fa1e59a88c2f0abf611f25b97af964449e5ahlGHC_IMPORTS = `$(HC) --print-libdir`/imports
c9431fa1e59a88c2f0abf611f25b97af964449e5ahlDRIFT_ENV = \
fa9e4066f08beec538e775443c5be79dd423fcabahrens DERIVEPATH=.:ghc:$(GHC_IMPORTS):$(subst $(space),:,$(PFE_PATHS))
c9431fa1e59a88c2f0abf611f25b97af964449e5ahl
fa9e4066f08beec538e775443c5be79dd423fcabahrens# override on commandline for other architectures
c9431fa1e59a88c2f0abf611f25b97af964449e5ahlINSTALLDIR = \
c9431fa1e59a88c2f0abf611f25b97af964449e5ahl /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
95173954d2b811ceb583a9012c3b16e1d0dd6438ek
5679c89fcd2facbb4334df8870d3d7a4d2b11673jvDRIFT_deps = utils/DrIFT-src/*hs
5ad820458efd0fdb914baff9c1447c22b819fa23ndGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps) Common/Utils.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrensINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/Lib/Pretty.hs Common/Keywords.hs Common/Lib/Set.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/Lib/Map.hs Common/Lib/Rel.hs Common/Lib/State.hs Common/Id.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs CASL/ShowMixfix.hs \
feef89cf5f5fee792c1a396bb0e48070935cf65aVictor Latushkin CASL/Utils.hs Common/Lexer.hs Common/Token.hs Common/Anno_Parser.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/GlobalAnnotations.hs Common/PrettyPrint.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/Print_AS_Annotation.hs Common/PPUtils.hs CASL/LiteralFuns.hs \
5679c89fcd2facbb4334df8870d3d7a4d2b11673jv CASL/Print_AS_Basic.hs Common/AnnoState.hs CASL/Formula.hs \
283b84606b6fc326692c03273de1774e8c122f9aGeorge.Wilson CASL/OpItem.hs CASL/SortItem.hs CASL/Inject.hs Common/Result.hs \
94dd93aee32d1616436eb51fb7b58094b9a8d3e8George Wilson Common/ConvertLiteral.hs Common/Earley.hs CASL/MixfixParser.hs \
95173954d2b811ceb583a9012c3b16e1d0dd6438ek CASL/Parse_AS_Basic.hs CASL/Sign.hs CASL/Overload.hs \
95173954d2b811ceb583a9012c3b16e1d0dd6438ek CASL/StaticAna.hs Modal/AS_Modal.hs Modal/Parse_AS.hs \
95173954d2b811ceb583a9012c3b16e1d0dd6438ek Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
95173954d2b811ceb583a9012c3b16e1d0dd6438ek
fa9e4066f08beec538e775443c5be79dd423fcabahrensHC = ghc
35a5a3587fd94b666239c157d3722745250ccbd7Jonathan AdamsPERL = perl
35a5a3587fd94b666239c157d3722745250ccbd7Jonathan AdamsHAPPY = happy -sgca
35a5a3587fd94b666239c157d3722745250ccbd7Jonathan AdamsDRIFT = utils/DrIFT
fa9e4066f08beec538e775443c5be79dd423fcabahrensINLINEAXIOMS = utils/outlineAxioms
fa9e4066f08beec538e775443c5be79dd423fcabahrensHADDOCK = haddock
fa9e4066f08beec538e775443c5be79dd423fcabahrensCPPP = cpp
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHC_WARN = -Wall
fa9e4066f08beec538e775443c5be79dd423fcabahrensHC_FLAGS = $(HC_WARN) -fglasgow-exts -fno-monomorphism-restriction \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -fallow-overlapping-instances -fallow-undecidable-instances
fa9e4066f08beec538e775443c5be79dd423fcabahrens# -ddump-minimal-imports
fa9e4066f08beec538e775443c5be79dd423fcabahrens# flags also come in via ../uni/uni-package.conf
fa9e4066f08beec538e775443c5be79dd423fcabahrens# but added it here in case of compilation without uni
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHC_INCLUDE = $(addprefix -i, $(INCLUDE_PATH))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenslogics = CASL HasCASL Isabelle Modal CoCASL COL CspCASL Hatchet CASL_DL SPASS
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensUNI_PACKAGE_CONF = $(wildcard ../uni/uni-package.conf)
fa9e4066f08beec538e775443c5be79dd423fcabahrensifneq ($(strip $(UNI_PACKAGE_CONF)),)
44cb6abc89aa591c23f5e58296c6d2a29302344abmcHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc -package uni-server -DUNI_PACKAGE
44cb6abc89aa591c23f5e58296c6d2a29302344abmc
44cb6abc89aa591c23f5e58296c6d2a29302344abmc# some modules from uni for haddock
44cb6abc89aa591c23f5e58296c6d2a29302344abmc# if uni/server is included also HaXml sources are needed
44cb6abc89aa591c23f5e58296c6d2a29302344abmcuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc ../uni/reactor ../uni/util ../uni/posixutil
44cb6abc89aa591c23f5e58296c6d2a29302344abmc
44cb6abc89aa591c23f5e58296c6d2a29302344abmcuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc $(wildcard ../uni/htk/haddock/*/*.hs)
44cb6abc89aa591c23f5e58296c6d2a29302344abmcendif
44cb6abc89aa591c23f5e58296c6d2a29302344abmc
44cb6abc89aa591c23f5e58296c6d2a29302344abmc### list of directories to run checks in
44cb6abc89aa591c23f5e58296c6d2a29302344abmcTESTDIRS += Common CASL HasCASL Haskell/Hatchet/examples
44cb6abc89aa591c23f5e58296c6d2a29302344abmc
44cb6abc89aa591c23f5e58296c6d2a29302344abmcPFE_TOOLDIR = $(wildcard ../programatica/tools)
44cb6abc89aa591c23f5e58296c6d2a29302344abmcifneq ($(strip $(PFE_TOOLDIR)),)
44cb6abc89aa591c23f5e58296c6d2a29302344abmcPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc base/transforms base/transforms/Deriving property \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc property/syntax property/AST property/transforms \
44cb6abc89aa591c23f5e58296c6d2a29302344abmc property/TI property/defs property/parse2 property/parse2/Parser
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
fa9e4066f08beec538e775443c5be79dd423fcabahrenspfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
fa9e4066f08beec538e775443c5be79dd423fcabahrensPFE_PATH = $(addprefix -i, $(PFE_PATHS))
fa9e4066f08beec538e775443c5be79dd423fcabahrensPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
fa9e4066f08beec538e775443c5be79dd423fcabahrenshappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensLEX_DIR = $(PFE_TOOLDIR)/base/parse2/Lexer
fa9e4066f08beec538e775443c5be79dd423fcabahrens
c25056de36a33f2a76f79dcf64593f731d258013gw$(LEX_DIR)/HsLex.hs: $(LEX_DIR)Gen/HsLexerGen
fa9e4066f08beec538e775443c5be79dd423fcabahrens $< > $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(LEX_DIR)/HsTokens.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -O -package data \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -i$(PFE_TOOLDIR)/base/tests/HbcLibraries \
c25056de36a33f2a76f79dcf64593f731d258013gw -i$(PFE_TOOLDIR)/base/lib \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -i$(LEX_DIR) -i$(LEX_DIR)Gen -i$(LEX_DIR)Spec \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $@.hs -o $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
c25056de36a33f2a76f79dcf64593f731d258013gwlogics += Haskell
fa9e4066f08beec538e775443c5be79dd423fcabahrensderived_sources += Haskell/PreludeString.hs $(LEX_DIR)/HsLex.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(LEX_DIR)Gen/HsLexerGen
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Haskell/ProgramaticaPrelude.hs
c25056de36a33f2a76f79dcf64593f731d258013gw
fa9e4066f08beec538e775443c5be79dd423fcabahrens## rule for appendHaskellPreludeString
fa9e4066f08beec538e775443c5be79dd423fcabahrensHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
5ad820458efd0fdb914baff9c1447c22b819fa23nd $(APPENDPRELUDESTRING)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(APPENDPRELUDESTRING) < $< > $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
fa9e4066f08beec538e775443c5be79dd423fcabahrens HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
fa9e4066f08beec538e775443c5be79dd423fcabahrens HsModule HsName HsLiteral HsIdent
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
c25056de36a33f2a76f79dcf64593f731d258013gw base/defs/UniqueNames base/Modules/TypedIds base/TI/TiKinds \
fa9e4066f08beec538e775443c5be79dd423fcabahrens base/parse2/SourceNames base/syntax/SyntaxRec \
fa9e4066f08beec538e775443c5be79dd423fcabahrens property/syntax/PropSyntaxStruct
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHaskell_files = $(addsuffix .hs, \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## rule for ATC generation
fa9e4066f08beec538e775443c5be79dd423fcabahrensHaskell/ATC_Haskell.der.hs: $(Haskell_files) ATC/Haskell.header.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(Haskell_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
c25056de36a33f2a76f79dcf64593f731d258013gwTESTDIRS += ToHaskell
fa9e4066f08beec538e775443c5be79dd423fcabahrensendif
fa9e4066f08beec538e775443c5be79dd423fcabahrens
5ad820458efd0fdb914baff9c1447c22b819fa23ndhappy_files += Haskell/Hatchet/HsParser.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Profiling (only for debugging)
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Attention every module must be compiled with profiling or the linker
fa9e4066f08beec538e775443c5be79dd423fcabahrens### cannot link the various .o files properly. So after switching on
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Profiling, do an 'gmake real_clean; gmake'
c25056de36a33f2a76f79dcf64593f731d258013gw### and comment out HC_PACKAGE variable definition above.
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Comment in the following line for switching on profiling.
fa9e4066f08beec538e775443c5be79dd423fcabahrens#HC_PROF = -prof -auto-all
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHCI_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS)
fa9e4066f08beec538e775443c5be79dd423fcabahrensHC_OPTS = $(HCI_OPTS) $(HC_PROF) -DHATCHET -DCASLEXTENSIONS
fa9e4066f08beec538e775443c5be79dd423fcabahrensDRIFT_OPTS = +RTS -K10m -RTS
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens## sources for hets
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensnon_sources = Common/LaTeX_maps.svmono.hs CspCASL/Main.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Static/LogicStructured.hs Common/CaslLanguage.hs ./Test.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensSOURCE_PATHS = $(COMMONLIB_PATH) $(CLEAN_PATH)
c25056de36a33f2a76f79dcf64593f731d258013gw
fa9e4066f08beec538e775443c5be79dd423fcabahrenssources = hets.hs $(filter-out $(non_sources), \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(wildcard $(addsuffix /[A-Z]*hs, $(SOURCE_PATHS))))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens#endif
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensobjects = $(sources:%.hs=%.o)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
c25056de36a33f2a76f79dcf64593f731d258013gwdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens HasCASL/As.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs CASL_DL/AS_CASL_DL.hs\
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(gendrifted_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensgenrule_header_files = $(wildcard ATC/*.header.hs)
c25056de36a33f2a76f79dcf64593f731d258013gw
fa9e4066f08beec538e775443c5be79dd423fcabahrensatc_files = Common/AS_Annotation.der.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Static/DevGraph.hs Logic/Prover.hs Proofs/Proofs.hs
745cd3c5371d020efae7a911c58c526aa1fd0dbamaybee
fa9e4066f08beec538e775443c5be79dd423fcabahrensatc_der_files = $(foreach file, $(atc_files), \
745cd3c5371d020efae7a911c58c526aa1fd0dbamaybee ATC/$(basename $(basename $(notdir $(file)))).der.hs)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens CASL/AS_Basic_CASL.der.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHasCASL_files = HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens HasCASL/Sublogic.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
c25056de36a33f2a76f79dcf64593f731d258013gwIsabelle_files = Isabelle/IsaSign.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrensCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
745cd3c5371d020efae7a911c58c526aa1fd0dbamaybeeCOL_files = COL/AS_COL.hs COL/COLSign.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrensCspCASL_files = CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHatchet_files = Haskell/Hatchet/AnnotatedHsSyn.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Haskell/Hatchet/MultiModuleBasics.hs Haskell/Hatchet/HsSyn.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Haskell/Hatchet/Representation.hs Haskell/Hatchet/Class.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Haskell/Hatchet/KindInference.hs Haskell/Hatchet/Env.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Hatchet/HatParser.hs
c25056de36a33f2a76f79dcf64593f731d258013gw
fa9e4066f08beec538e775443c5be79dd423fcabahrensCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensSPASS_files = SPASS/Sign.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(inline_axiom_files) Modal/ModalSystems.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens# sources that have {-# OPTIONS -cpp #-}
c25056de36a33f2a76f79dcf64593f731d258013gwcpp_sources = Haskell/Hatchet/FiniteMaps.hs Common/DynamicUtils.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/Lib/Set.hs Common/Lib/Map.hs ATC/Set.hs\
fa9e4066f08beec538e775443c5be79dd423fcabahrens Isabelle/Logic_Isabelle.hs Isabelle/CreateTheories.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens SPASS/Logic_SPASS.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Proofs/Proofs.hs hets.hs CASL/CCC/FreeTypes.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Comorphisms/LogicList.hs Comorphisms/LogicGraph.hs $(happy_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensnondoc_sources = $(wildcard utils/DrIFT-src/*.hs) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(wildcard utils/DrIFT-src/*.lhs) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(wildcard utils/GenerateRules/*.hs) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(wildcard utils/InlineAxioms/*.hs) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(genrule_header_files) $(generated_rule_files) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Modal/GeneratePatterns.inline.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
5ad820458efd0fdb914baff9c1447c22b819fa23nd hxt/HXT.hs hxt/Net.hs $(patsubst %.hs, %.der.hs, $(drifted_files))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens# this variable holds the modules that should be documented
fa9e4066f08beec538e775443c5be79dd423fcabahrensdoc_sources = $(filter-out $(nondoc_sources), $(sources)) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(patsubst %.hs, %.hspp, $(cpp_sources)) $(uni_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
5ad820458efd0fdb914baff9c1447c22b819fa23ndtax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenstax_objects = $(patsubst %.hs, %.o, $(tax_sources))
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### targets
fa9e4066f08beec538e775443c5be79dd423fcabahrens
5ad820458efd0fdb914baff9c1447c22b819fa23nd.PHONY : all hets-opt hets-optimized clean d_clean real_clean bin_clean \
5ad820458efd0fdb914baff9c1447c22b819fa23nd lib_clean distclean check capa hacapa h2h clean_genRules genRules \
fa9e4066f08beec538e775443c5be79dd423fcabahrens taxonomy count doc apache_doc post_doc4apache \
fa9e4066f08beec538e775443c5be79dd423fcabahrens derivedSources install_hets install release
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenshets: $(sources) $(derived_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ hets.hs $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenshets-opt:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) distclean
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) derivedSources
d3d50737e566cade9a08d73d2af95105ac7cd960Rafael Vanoni $(MAKE) real_clean
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) hets-optimized
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenshets-optimized: $(derived_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -O -o hets hets.hs $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens strip hets
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenshets-old: $(objects)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) -o hets $(HC_OPTS) $(objects)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenshets.cgi: $(sources) GUI/hets_cgi.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens ghc --make -package-conf /home/luettich/ghc-pkg/package.conf \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_INCLUDE) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC_FLAGS) -O
fa9e4066f08beec538e775443c5be79dd423fcabahrens strip hets.cgi
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenstaxonomy: Taxonomy/taxonomyTool.hs $(tax_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o Taxonomy/taxonomyTool $< -ifgl $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens###############################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### TAGS files for (x)emacs
fa9e4066f08beec538e775443c5be79dd423fcabahrens# load them with "M-x" "visit-tags-table" from
fa9e4066f08beec538e775443c5be79dd423fcabahrens# "HetCATS/hetcats.TAGS"
fa9e4066f08beec538e775443c5be79dd423fcabahrens# use "M-." to search for a tag
fa9e4066f08beec538e775443c5be79dd423fcabahrens# !!Beware this is somewhat instable, because it uses an absolute path!!
5ad820458efd0fdb914baff9c1447c22b819fa23ndhetcats.TAGS: $(sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(sources); mv TAGS $@; mv tags hetcats.tags
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens###############################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### count lines of code
5ad820458efd0fdb914baff9c1447c22b819fa23ndcount: $(sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens wc -l $(sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens###############################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Documentation via haddock
fa9e4066f08beec538e775443c5be79dd423fcabahrensdoc: docs/index.html
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens# generate haddock documentation with links to sources
fa9e4066f08beec538e775443c5be79dd423fcabahrensdocs/index.html: $(doc_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HADDOCK) $(doc_sources) -o docs -h -v \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -i docs/base.haddock -i docs/parsec.haddock -s ../ \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -t 'Hets - the Heterogeneous Tool Set' \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -p Hets-Haddock-Prologue.txt
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens# sources are not copied here
fa9e4066f08beec538e775443c5be79dd423fcabahrensapache_doc:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) docs/*.*
fa9e4066f08beec538e775443c5be79dd423fcabahrens cvs up -d ; echo "CVS exited with: " $$?
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) hets-opt
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) doc
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) post_doc4apache
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) o_clean
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(MAKE) hets.cgi
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenspost_doc4apache:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(PERL) utils/post_process_docs.pl docs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens 'Common.Lib.Map.html:Common.Lib._Map.html'
fa9e4066f08beec538e775443c5be79dd423fcabahrens cp docs/*.* a-docs/
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens###############################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### release management
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensderivedSources: $(derived_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensutils/DrIFT: $(DRIFT_deps)
fa9e4066f08beec538e775443c5be79dd423fcabahrens (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
fa9e4066f08beec538e775443c5be79dd423fcabahrens strip ../DrIFT)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensutils/genRules: $(GENERATERULES_deps)
fa9e4066f08beec538e775443c5be79dd423fcabahrens (cd utils/GenerateRules; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens GenerateRules.hs -o ../genRules && strip ../genRules)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
fa9e4066f08beec538e775443c5be79dd423fcabahrens -i../.. -o $(INLINEAXIOMS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens strip $(INLINEAXIOMS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensrelease:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) -r HetCATS
fa9e4066f08beec538e775443c5be79dd423fcabahrens cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
fa9e4066f08beec538e775443c5be79dd423fcabahrens co -P HetCATS
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) -r uni
fa9e4066f08beec538e775443c5be79dd423fcabahrens if [ -d ../uni ] ; then ln -s ../uni uni ; fi
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) -r programatica
fa9e4066f08beec538e775443c5be79dd423fcabahrens if [ -d ../programatica ] ; then \
fa9e4066f08beec538e775443c5be79dd423fcabahrens mkdir programatica; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens ln -s ../../programatica/tools programatica/tools ; fi
fa9e4066f08beec538e775443c5be79dd423fcabahrens (cd HetCATS; $(MAKE) derivedSources; $(MAKE) real_clean; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens cp Makefile Makefile.orig; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens cp ReleaseMakefile Makefile; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens ./clean.sh; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) clean.*)
fa9e4066f08beec538e775443c5be79dd423fcabahrens tar cvf HetCATS.tar HetCATS
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensinstall-hets:
fa9e4066f08beec538e775443c5be79dd423fcabahrens chmod g+w hets
fa9e4066f08beec538e775443c5be79dd423fcabahrens cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
fa9e4066f08beec538e775443c5be79dd423fcabahrens cp -p version_nr $(INSTALLDIR)
fa9e4066f08beec538e775443c5be79dd423fcabahrens (cd $(INSTALLDIR); $(RM) hets; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensinstall: hets-opt install-hets
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens#############################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### ATC DrIFT-rule generation
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensgenRules: $(generated_rule_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensgen_atc_files = \
fa9e4066f08beec538e775443c5be79dd423fcabahrens if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; \
fa9e4066f08beec538e775443c5be79dd423fcabahrens then utils/genRules -r $(rule) -o ATC -h \
fa9e4066f08beec538e775443c5be79dd423fcabahrens ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
fa9e4066f08beec538e775443c5be79dd423fcabahrens else utils/genRules -r $(rule) -o ATC $(file); fi ;
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens$(atc_der_files): $(atc_files) $(genrule_header_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(foreach file, $(atc_files), $(gen_atc_files))
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
fa9e4066f08beec538e775443c5be79dd423fcabahrensCASL/ATC_CASL.der.hs: $(CASL_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o CASL $(CASL_files)
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
fa9e4066f08beec538e775443c5be79dd423fcabahrensHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o HasCASL $(HasCASL_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o Isabelle $(Isabelle_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensModal/ATC_Modal.der.hs: $(Modal_files) utils/genRules
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw utils/genRules -r $(rule) -o Modal $(Modal_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o CASL_DL $(CASL_DL_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o CoCASL $(CoCASL_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOL/ATC_COL.der.hs: $(COL_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o COL $(COL_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o CspCASL $(CspCASL_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHatchet/ATC_Hatchet.der.hs: $(Hatchet_files) ATC/Hatchet.header.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o Hatchet -h ATC/Hatchet.header.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(Hatchet_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensSPASS/ATC_SPASS.der.hs: $(SPASS_files) utils/genRules
fa9e4066f08beec538e775443c5be79dd423fcabahrens utils/genRules -r $(rule) -o SPASS $(SPASS_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
ad135b5d644628e791c3188a6ecbd9c257961ef8Christopher Sidenrule = ShATermConvertible
ad135b5d644628e791c3188a6ecbd9c257961ef8Christopher Siden
ad135b5d644628e791c3188a6ecbd9c257961ef8Christopher Sidenclean_genRules:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) $(generated_rule_files) $(gendrifted_files)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens###############
fa9e4066f08beec538e775443c5be79dd423fcabahrens### clean up
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensclean: bin_clean o_clean
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### removes *.hi and *.o in all include directories
fa9e4066f08beec538e775443c5be79dd423fcabahrenso_clean:
fa9e4066f08beec538e775443c5be79dd423fcabahrens for p in $(CLEAN_PATH) ; do \
fa9e4066f08beec538e775443c5be79dd423fcabahrens (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### remove binaries
fa9e4066f08beec538e775443c5be79dd423fcabahrensbin_clean:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) hets
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) test_parser
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) CASL/capa
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) HasCASL/hacapa
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) Haskell/hapa
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) Haskell/hana
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) Haskell/wrap
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) ToHaskell/h2h
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) Syntax/hetpa
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) Static/hetana
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) GUI/hetdg
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) hetpa
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) hetana
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) hetdg
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) atctest2
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) atctest
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) Common/annos
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) Haskell/Hatchet/hatch
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) ToHaskell/translateAna
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson $(RM) Taxonomy/taxonomyTool
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson### additonally removes *.d (dependency files) in every include directory
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson### also delete *.d.bak (dependency file backups)
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilsond_clean: clean
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson for p in $(CLEAN_PATH) ; do \
095bcd6622e3b3520eb3b71039a3be5cfab25b74George Wilson (cd $$p ; $(RM) *.d *.d.bak) ; done
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### remove files also in own libraries
fa9e4066f08beec538e775443c5be79dd423fcabahrenslib_clean:
fa9e4066f08beec538e775443c5be79dd423fcabahrens for p in $(COMMONLIB_PATH) ; do \
fa9e4066f08beec538e775443c5be79dd423fcabahrens (cd $$p ; $(RM) *.hi *.d *.o) ; done
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### additionally removes the files that define the sources-variable
fa9e4066f08beec538e775443c5be79dd423fcabahrensreal_clean: bin_clean lib_clean clean
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### additionally removes files not in CVS tree
fa9e4066f08beec538e775443c5be79dd423fcabahrensdistclean: real_clean clean_genRules d_clean
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) $(derived_sources)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens### test targets
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### a parser to test annotation parser and Id parsers
fa9e4066f08beec538e775443c5be79dd423fcabahrenstest_parser: Common/test_parser
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### interactive
fa9e4066f08beec538e775443c5be79dd423fcabahrensghci:
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC)i $(HCI_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### christian's target
fa9e4066f08beec538e775443c5be79dd423fcabahrens### CASL parser
fa9e4066f08beec538e775443c5be79dd423fcabahrenscapa: CASL/capa
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### HasCASL parser
fa9e4066f08beec538e775443c5be79dd423fcabahrenshacapa: HasCASL/hacapa
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Haskell analysis
fa9e4066f08beec538e775443c5be79dd423fcabahrenshana: Haskell/hana
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/PreludeString.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### Haskell to Isabelle-HOLCF translation
fa9e4066f08beec538e775443c5be79dd423fcabahrensh2hf: ToHaskell/h2hf
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensToHaskell/h2hf: ToHaskell/h2hf.hs ToHaskell/*.hs Haskell/*.hs HasCASL/*.hs Isabelle/*.hs Common/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### HasCASL to Haskell translation
fa9e4066f08beec538e775443c5be79dd423fcabahrensh2h: ToHaskell/h2h
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensToHaskell/h2h: ToHaskell/h2h.hs ToHaskell/*.hs Haskell/*.hs HasCASL/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### HetCASL parser
fa9e4066f08beec538e775443c5be79dd423fcabahrenshetpa: Syntax/hetpa.hs Syntax/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### HetCASL parser
fa9e4066f08beec538e775443c5be79dd423fcabahrenshetana: Static/hetana.hs Static/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### ATC test system
fa9e4066f08beec538e775443c5be79dd423fcabahrensatctest: ATC/ATCTest.hs ATC/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensatctest2: ATC/ATCTest2.hs Common/SimpPretty.hs Common/ATerm/*.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/Lib/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### ATerm.Lib test system
fa9e4066f08beec538e775443c5be79dd423fcabahrensatermlibtest: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/ATerm/*.hs Common/Lib/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS) $(EXTRA_HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrenshatermdiff: Common/ATerm/ATermDiffMain.hs Common/SimpPretty.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/ATerm/*.hs Common/Lib/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS) $(EXTRA_HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### OWL_DL test target
fa9e4066f08beec538e775443c5be79dd423fcabahrensOWL_DL/readAStest: OWL_DL/ToHaskellAS.hs Common/ATerm/*.hs \
fa9e4066f08beec538e775443c5be79dd423fcabahrens Common/Lib/*.hs OWL_DL/*.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS) $(EXTRA_HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### HetCASL with dev graph
fa9e4066f08beec538e775443c5be79dd423fcabahrenshetdg: GUI/hetdg.hs $(drifted_files) *.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens### run tests in other directories
fa9e4066f08beec538e775443c5be79dd423fcabahrenscheck:
fa9e4066f08beec538e775443c5be79dd423fcabahrens for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens## Preparing the version of HetCATS
fa9e4066f08beec538e775443c5be79dd423fcabahrensDriver/Version.hs: Driver/Version.in version_nr
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(PERL) utils/build_version.pl version_nr < Driver/Version.in > $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## two hardcoded dependencies for a correct generation of Version.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrensDriver/Options.hs Driver/WriteFn.hs Driver/ReadFn.hs: Driver/Version.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrenshets.hs: Driver/Version.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens####################################################################
fa9e4066f08beec538e775443c5be79dd423fcabahrens## rules for DrIFT
fa9e4066f08beec538e775443c5be79dd423fcabahrens.SUFFIXES:
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens%: %.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) --make -o $@ $<
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.hs: %.ly
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HAPPY) $<
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.hs: %.y
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HAPPY) -o $@ $<
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.hs: %.der.hs utils/DrIFT
fa9e4066f08beec538e775443c5be79dd423fcabahrens ($(DRIFT_ENV); export DERIVEPATH; $(DRIFT) $(DRIFT_OPTS) $< > $@)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## rules for inlineAxioms
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.hs: %.inline.hs $(INLINEAXIOMS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(INLINEAXIOMS) $< > $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## rule for cpp and haddock
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.hspp: %.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## compiling rules for object and interface files
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.o %.hi: %.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) -c $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.o %.hi: %.lhs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) -c $< $(HC_OPTS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## compiling rules for dependencies
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.d : %.hs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens%.d : %.lhs
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrens## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
fa9e4066f08beec538e775443c5be79dd423fcabahrensModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in \
0125049cd6136d1d2ca9e982382a915b6d7916ceahrens utils/genTransMFormFunc.pl $(INLINEAXIOMS)
fa9e4066f08beec538e775443c5be79dd423fcabahrens $(PERL) utils/genTransMFormFunc.pl $< $@
fa9e4066f08beec538e775443c5be79dd423fcabahrens