Makefile revision 42b12fba6830ada5057949f825fc27edf5574e5f
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005
1676b20a55b53c04a6a4cbbc453863ca975f2491cwebb# Year: 2004
1676b20a55b53c04a6a4cbbc453863ca975f2491cwebb# This Makefile will compile the new hets system and provides also
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# targets for test programs during implementation phases.
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# !!! Note: This makefile is written for GNU make !!!
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# (gmake on solaris)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb####################################################################
1676b20a55b53c04a6a4cbbc453863ca975f2491cwebb## Some varibles, which control the compilation
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebbHAIFA_PATHS = Network Network/Server Org Org/W3 Org/W3/N2001 \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Org/Xmlsoap Org/Xmlsoap/Schemas Org/Xmlsoap/Schemas/Soap \
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb Text Text/XML Text/XML/HXT Text/XML/Schema Text/XML/Schema/TypeMapper \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb utils utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Common/Lib Common/ATerm Logic CASL CASL/CCC CASL/CompositionTable \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Syntax Static GUI HasCASL Haskell Modal CoCASL COL ConstraintCASL \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Taxonomy CASL_DL SPASS OWL_DL OMDoc PGIP Propositional
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# the 'replacing spaces' example was taken from the (GNU) Make info manual
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## set ghc imports properly for your system
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# import directories for ghc-5.04.2
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb DERIVEPATH=.:$(GHC_IMPORTS):$(GHC5):$(subst $(space),:,$(PFE_PATHS))
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# override on commandline for other architectures
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu Modal/Parse_AS.hs Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquSETUPPREFIX = --prefix=$(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu ../$(SETUP) build; ../$(SETUP) haddock; ../$(SETUP) install --user
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# remove -fno-warn-orphans for older ghcs and add -ifgl
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(HC_WARN) -fglasgow-exts -fno-monomorphism-restriction -fcontext-stack60 \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb -fallow-overlapping-instances -fallow-undecidable-instances
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# -ddump-minimal-imports
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb# flags also come in via ../uni/uni-package.conf
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# but added it here in case of compilation without uni
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebblogics = CASL HasCASL Isabelle Modal CoCASL COL CspCASL CASL_DL SPASS \
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebbTESTTARGETFILES += CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Common/ATerm/ATermDiffMain.hs Common/annos.hs Common/test_parser.hs \
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb SPASS/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb SPASS/tests/soapTest.hs SPASS/tests/soapTest.hs SPASS/tests/CMDL_tests.hs
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# some modules from uni for haddock
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# if uni/server is included also HaXml sources are needed
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquTESTTARGETFILES += OWL_DL/ToHaskellAS.hs Taxonomy/taxonomyTool.hs
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### list of directories to run checks in
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquhs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb property/TI property/defs property/parse2 property/parse2/Parser
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqupfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbhappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbprogramatica_pkg: $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "of programatica package found"; else \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu cp -f utils/programatica.cabal ../programatica/tools; \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "{-# OPTIONS -w #-}" > $@
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquderived_sources += Haskell/PreludeString.hs $(LEX_DIR)/HsLex.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbutils/appendHaskellPreludeString: utils/appendHaskellPreludeString.hs
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## rule for appendHaskellPreludeString
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## rule for ATC generation
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### Profiling (only for debugging)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### Attention every module must be compiled with profiling or the linker
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### cannot link the various .o files properly. So after switching on
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### Profiling, do an 'gmake real_clean; gmake'
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### Comment in the following line for switching on profiling.
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu#HC_PROF = -prof -auto-all -fignore-asserts
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbHC_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS) $(HC_PROF) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb####################################################################
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu## sources for hets
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbnon_sources = Common/LaTeX_maps.svmono.hs Common/CaslLanguage.hs ./Test.hs \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqudrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs CASL_DL/AS_CASL_DL.hs\
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Logic/Prover.hs #Common/Id.hs Common/Result.hs OWL_DL/AS.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Grothendieck -o $@ $<
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbHasCASL_files = Common/Prec.hs HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbPropositional_files = Propositional/Sign.hs Propositional/Morphism.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Propositional/AS_BASIC_Propositional.hs Propositional/Symbol.hs
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquConstraintCASL_files = ConstraintCASL/AS_ConstraintCASL.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbCspCASL_files = CspCASL/AS_CspCASL.hs CspCASL/AS_CspCASL_Process.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu Comorphisms/CASL2SubCFOL.hs CASL_DL/PredefinedSign.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(inline_axiom_files) Modal/ModalSystems.hs $(hs_der_files) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb OWL_DL/ReadWrite.hs ConstraintCASL/AS_ConstraintCASL.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# sources that have {-# OPTIONS -cpp #-}
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu Isabelle/CreateTheories.hs CASL/CompositionTable/CompositionTable.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# unused, remove when header files are gone
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hspp \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbhspp_sources = $(patsubst %.hs, %.hspp, $(cpp_sources))
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# this variable holds the modules that should be documented
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbdoc_sources = $(filter-out $(nondoc_sources), $(sources) $(hspp_sources))
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqutax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb####################################################################
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu.PHONY : all hets-opt hets-optimized clean o_clean clean_pretty \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb real_clean bin_clean package_clean distclean packages \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb http_pkg syb_pkg shellac_pkg shread_pkg hxt_pkg haifa_pkg \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb check capa hacapa h2h h2hf showKP clean_genRules genRules \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbpackages: http_pkg syb_pkg shellac_pkg shread_pkg hxt_pkg haifa_pkg \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu echo "of HTTP package found"; else \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "of syb-generics package found"; else \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "of shellac package found"; else \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "of shellac-readline package found"; else \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu echo "of hxt package found"; else \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "of HAIFA package found"; else \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu (cd haifa-lite; ../$(SETUP) configure $(SETUPPREFIX); \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu @echo 'File : Maintainer' > $@
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu 'foreach my $$f (@ARGV) { open I, "<$$f"; \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu print "$$f :"; while (<I>) \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu { if(m,^\s*Maintainer\s*:\s*(.*)$$,o) { \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu print " $$1" ; last} }; print "\n"; close I; }' \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu @echo " done"
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu###############################
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### count lines of code
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu###############################
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### Documentation via haddock
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# generate haddock documentation with links to sources
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# the interface treatment is stolen from uni/mk/suffix.mk
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb -t 'Hets - the Heterogeneous Tool Set' \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# sources are not copied here
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb###############################
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### release management
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# "-package hssource" for ghc-5.04.2
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb -i../.. -o $(INLINEAXIOMS)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# set this variable from the command line to i,e. RELEASETAG='-r release-0-60'
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb if [ -d ../programatica ] ; then \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb ln -s ../../programatica/tools programatica/tools ; fi
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbpack/install-%.jar: pack/install-%.xml pack/UserInputSpec-%.xml hets.in hets
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu ## TODO: add more dependencies and use hets-opt
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# compile $< -b . -k web -o $@
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu###################################
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### Common/LaTeX_maps.hs generation
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbpretty/LaTeX_maps.hs: utils/words.pl utils/genItCorrections \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu pretty/words.input pretty/fonts.input pretty/width-table.tex.templ
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo -n "Generating pretty/LaTeX_maps.hs ... "
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @(cd pretty >/dev/null; $(PERL) ../utils/words.pl > words.pl.log)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo "ready"
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo "please copy the file manually to Common"
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu#############################
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### ATC DrIFT-rule generation
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquPropositional/ATC_Propositional.der.hs: $(Propositional_files) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(HasCASL_files)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Isabelle_files)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquConstraintCASL/ATC_ConstraintCASL.der.hs: $(ConstraintCASL_files) $(GENRULES)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ConstraintCASL_files)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SPASS_files)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(GENRULECALL) -i ATC.AS_Annotation -i OWL_DL.ReadWrite \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(RM) $(generated_rule_files) $(gendrifted_files) $(hspp_sources) \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb###############
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### clean up
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### removes *.hi and *.o in all include directories
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### remove binaries
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### additionally removes the library files
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### clean user packages
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb $(RM) -r $(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### additionally removes generated files not in the CVS tree
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(RM) Modal/GeneratePatterns.inline.hs utils/appendHaskellPreludeString
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb $(RM) utils/genItCorrections pretty/LaTeX_maps.hs pretty/words.pl.log
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb####################################################################
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### test targets
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb####################################################################
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### interactive
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### christian's target
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### CASL parser
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### Annos parser
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb### CASL parser
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### HasCASL parser
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### Haskell analysis
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### Haskell to Isabelle-HOLCF translation
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquHaskell/h2hf: Haskell/h2hf.hs Haskell/*.hs Isabelle/*.hs Common/*.hs \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### HasCASL to Haskell translation
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb### test program to check the known provers
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu### run tests in other directories
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu####################################################################
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## Preparing the version of HetCATS
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu $(PERL) utils/build_version.pl version_nr < Driver/Version.in > $@
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## two hardcoded dependencies for a correct generation of Version.hs
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarquDriver/Options.hs Driver/WriteFn.hs Driver/ReadFn.hs: Driver/Version.hs
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## two dependencies for avoidence of circular prerequisites
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb Common/annos Common/test_parser Comorphisms/test/showKP \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb CspCASL/print_csp HasCASL/hacapa Haskell/h2h Haskell/h2hf \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu$(CASL_DEPENDENT_BINARIES): $(sources) $(derived_sources)
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb####################################################################
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## rules for DrIFT
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo "{-# OPTIONS -w #-}" > $@
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb## rules for inlineAxioms
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu## rule for cpp and haddock
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb -DUNI_PACKAGE -DCASLEXTENSIONS -DPROGRAMATICA -optP -P $<
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## compiling rules for object and interface files
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu## compiling rules for dependencies
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb## generate the inline file for the predefined CASL_DL sign
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu# Warning: Don't change the order of the depencies!!
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebb CASL_DL/PredefinedSign.inline.hs.in utils/appendHaskellPreludeString \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb utils/appendHaskellPreludeString CASL_DL/PredDatatypes.het \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb echo " )" >> $@
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebbCASL_DL/PredDatatypes.het: utils/transformLibAsBasicSpec.pl \
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb# uses intransparently utils/outlineAxioms
6b8112f310d1c9bae8b0b9f2fb1aa85bfedc2457cwebbModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in \
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @if [ -d $(INSTALLER_DIR) ] ; then \
1676b20a55b53c04a6a4cbbc453863ca975f2491cwebb @sed "s/^\(HETS_VERSION=\).*/\1`cat version_nr`/" Makefile.installer > Makefile.inst ;\
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb cp utils/getDailyHets-installer.sh $(INSTALLER_DIR)\getDailyHets.sh
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo =========================================================================
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo If you have not logged in \'cvs.haskell.org\' and \'cvs-agbkb.informatik.uni-bremen.de\'
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu @echo "then please first login:"
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo " cvs -d :pserver:anoncvs@cvs.haskell.org:/cvs login"
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo " the password is cvn "
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo " cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository login "
ac2de0b006739c10b0ab8917e9c470200c06ee2dcmarqu @echo " the password is "
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo =========================================================================
a33ac0418e3968dbc79f5ba81cbb91d10b1ea7d5cwebb @echo " -> make"