rules revision dbe752ee940baae7f9f231f29c62284bb0f90a25
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk# hetcats/Makefile
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# $Header$
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# Year: 2004
a72d295699de360a41b762e0f80fb357af8517a8Phill Cunnington
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# This Makefile will compile the new hetcats system and provides also
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# targets for test programs during implementation phases.
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# !!! Note: This makefile is written for GNU make !!!
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# (gmake on solaris ; make on linux)
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major####################################################################
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major## Some varibles, which control the compilation
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorINCLUDE_PATH = ghc:hetcats
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorCLEAN_PATH = utils/DrIFT-src:utils/GenerateRules:utils/InlineAxioms:Common:Logic:CASL:CASL/CCC:Syntax:Static:GUI:HasCASL:Haskell:Modal:CoCASL:COL:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:Isabelle:$(INCLUDE_PATH):Haskell/Hatchet
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major## set ghc imports properly for your system
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# override on commandline for other architectures
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
1f48f8236de7de97be1c6b9d06bef50b379c8801jenkinsDRIFT_deps = utils/DrIFT-src/*hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkINLINEAXIOMS_deps = utils/InlineAxioms/*hs
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkHC = ghc
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkPERL = perl
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkHAPPY = happy
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkDRIFT = $(DRIFT_ENV) utils/DrIFT
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkINLINEAXIOMS = utils/outlineAxioms
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkHADDOCK = haddock
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkCPPP = cpp
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkHC_FLAGS = -Wall -fglasgow-exts -fallow-overlapping-instances
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# -ddump-minimal-imports
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# flags also come in via ../uni/uni-package.conf
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# but added it here in case of compilation without uni
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkHC_INCLUDE = -i$(INCLUDE_PATH)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk -package uni-server -DUNI_PACKAGE
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk### Profiling (only for debugging)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk### Attention every module must be compiled with profiling or the linker
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### cannot link the various .o files properly. So after switching on
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### Profiling, do an 'gmake real_clean; gmake'
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### and comment out HC_PACKAGE variable definition above.
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### Comment in the following line for switching on profiling.
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunnington#HC_PROF = -prof -auto-all
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkHC_OPTS = $(HCI_OPTS) $(HC_PROF)
247203cf5bb5bc7e81871318633899d2c44416b0Mark CraigDRIFT_OPTS = +RTS -K10m -RTS
a622f6b14edb724c3cdbc8b5836a109d4ac80086Peter Major
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### list of directories to run checks in
5ec701c9f8ccc403ee6fd3e41239df7dcd9faddeBruno LavitTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk####################################################################
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk## sources for hetcats (semi - manually produced with a perl script)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),bin_clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),d_clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),real_clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),distclean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),genRules)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),utils/genRules)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),hets-opt)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),hets-optimized)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),derivedSources)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),release)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),check)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),apache_doc)
01f354c3c43b0b35898db65b63b85bf806ba19b3Mark Craigifneq ($(MAKECMDGOALS),clean_genRules)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),atctest2)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),hetana)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkinclude sources_hetcats.mk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkendif
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
40b03a530836fb4b75141456a5ad991d7130d91djeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
be89639c90fff4c1315290b5dc0e5bdeaabc6b64Peter Major Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
40b03a530836fb4b75141456a5ad991d7130d91djeff.schenk Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(gendrifted_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Majorgenrule_header_files = $(wildcard ATC/*.header.hs)
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major
40b03a530836fb4b75141456a5ad991d7130d91djeff.schenkgenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk Common/AS_Annotation.der.hs \
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
40b03a530836fb4b75141456a5ad991d7130d91djeff.schenk Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk CASL/Sublogic.hs \
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
d4e5488c1f3ab2bdfb96101cf7a9294c5c70e54eMark de Reeper HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
66f6c6680ec1673ff6f1094a9e2b74967dd6bfb7jeff.schenk HasCASL/Sublogic.hs \
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunnington Modal/AS_Modal.hs Modal/ModalSign.hs \
a0e65fdaa1ba8bc5e1029449a643b62da3687defNeil Madden CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunnington COL/AS_COL.hs COL/COLSign.hs \
6e6fe68688a7db640b579ded20b5fef1cbd05126Phill Cunnington CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs \
498b47517d2861e0dfb987e04505120067785a8cPhil Ostler Static/DevGraph.hs \
bcca58b64ccdda9e7b71f71945b7dffd6d2ca8d1Brian Bailey Haskell/Hatchet/AnnotatedHsSyn.hs \
6e6fe68688a7db640b579ded20b5fef1cbd05126Phill Cunnington Haskell/Hatchet/MultiModuleBasics.hs \
f85f661c3b0b2d2161517cbe70a90aaa4362b8b9Andrew Forrest Haskell/Hatchet/HsSyn.hs \
18d931079251c0d1089187eff63bc9ae35acd749Phill Cunnington Haskell/Hatchet/Representation.hs\
1922e28668326b76d078f1653276fd228d1981b9Phill Cunnington Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
0fb4093da08d574d3d1b661d4425dfbac8e02aabJames Phillpotts Haskell/Hatchet/Env.hs \
0701f265e9184ff9b1231d191d007322fc133bdbjeff.schenk Isabelle/IsaSign.hs
573a609d9f2a893765e5df5542ea8f1ce6125c54Jason Lemay
9b064c65a05249dcf24ef43f0c485dae99f3711ePhill Cunningtongendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
3172211e5a3f25bf006e07d2fe8bd32ac036b9caPeter Major ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
f707077d6f1472991574608d272513c4cd38727fDirk Hogan ATC/AS_Structured.hs ATC/AS_Architecture.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper ATC/DevGraph.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper ATC/IsaSign.hs
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reepergenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeperinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reepergen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
9b064c65a05249dcf24ef43f0c485dae99f3711ePhill Cunningtonhappy_files = Haskell/Hatchet/HsParser.hs
f56a278c148b90f6c2a675e0c1fa8686ca5abed4Robert Wapshott
c44bbf5d2025d672efe11a37ea6e9c867e78b691Neil Madden# this variable holds the modules that should be documented
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper# the imported parsec library is not included!
024fd4c1fab17ad66496e7e72e1c31d8d8ecc6efBrian Baileycpp_sources = ./Isabelle/Logic_Isabelle.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper ./Proofs/Proofs.hs hets.hs ./CASL/CCC/FreeTypes.hs
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeperdoc_sources = $(filter-out $(cpp_sources) ,$(sources)) \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(patsubst %.hs, %.hspp, $(cpp_sources))
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper# some modules from uni for haddock
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper# if uni/server is included also HaXml sources are needed
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeperuni_sources = $(wildcard ../uni/davinci/haddock/*.hs) \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(wildcard ../uni/graphs/haddock/*.hs) \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper ../uni/htk/toplevel/HTk.hs \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(wildcard ../uni/htk/haddock/*/*.hs) \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(wildcard ../uni/events/haddock/*.hs) \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(wildcard ../uni/reactor/haddock/*.hs) \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(wildcard ../uni/util/haddock/*.hs) \
971de91bce73bb05574a64c4304daf9f60e2b5b8Neil Madden $(wildcard ../uni/posixutil/haddock/*.hs)
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper####################################################################
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper### targets
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper clean_genRules genRules
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper#.PRECIOUS: sources_hetcats.mk
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeperall: hets
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeperhets: $(sources)
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeperhets-opt: hetcats/Version.hs
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(MAKE) distclean
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(MAKE) derivedSources
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(MAKE) real_clean
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper $(MAKE) hets-optimized
fbb37289e2100511fbb9c5a5667903af04c3e434Mark de Reeper
c423fd5d4f121413c5e72c134412b6ce5daa0dd9Jaco Joostehets-optimized:
c423fd5d4f121413c5e72c134412b6ce5daa0dd9Jaco Jooste $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
3c3d1dc7ea7a6bcfbf70f639d6ffb438bd6fc7d5Neil Madden strip hets
40b03a530836fb4b75141456a5ad991d7130d91djeff.schenk
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Majorhets-old: $(objects)
247203cf5bb5bc7e81871318633899d2c44416b0Mark Craig $(RM) $@
f80a167afc639a5f307f70cceca83afe62b2c70bPeter Major $(HC) -o hets $(HC_OPTS) $(objects)
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Maddenhets.cgi: $(sources) GUI/hets_cgi.hs
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS) -O
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Maddenhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) hetcats-make sources_hetcats.mk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk###############################
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk### TAGS files for (x)emacs
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# load them with "M-x" "visit-tags-table" from
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# "HetCATS/hetcats/hetcats.TAGS"
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# use "M-." to search for a tag
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# !!Beware this is somewhat instable, because it uses an absolute path!!
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkhetcats.TAGS: $(sources)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk $(sources); mv TAGS $@; mv tags hetcats.tags
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk###############################
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk### count lines of code
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkcount: $(sources)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk wc -l $(sources)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk###############################
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk### Documentation via haddock
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkdoc: docs/index.html
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
f136a2a859728f0e788f7cd005d6144b6b0139a2Peter Major# generate haddock documentation with links to sources
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenkdocs/index.html: $(doc_sources)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk $(HADDOCK) $(doc_sources) $(uni_sources) -o docs -h -v \
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk -i docs/base.haddock -i docs/parsec.haddock -s ../ \
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk -t 'hets -- a heterogenous Specification (CASL) tool set'
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk# sources are not copied here
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Majorapache_doc:
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major $(RM) docs/*.*
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major cvs up -d
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major $(MAKE) hets-opt
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major $(MAKE) doc
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major $(MAKE) post_doc4apache
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Majorpost_doc4apache:
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major $(PERL) utils/post_process_docs.pl docs \
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major 'Common.Lib.Map.html:Common.Lib._Map.html'
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major cp docs/*.* a-docs/
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington###############################
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington### release management
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill CunningtonderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files) Modal/ModalSystems.hs
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunningtonutils/DrIFT: $(DRIFT_deps)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington strip ../DrIFT)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunningtonutils/genRules: $(GENERATERULES_deps)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington (cd utils/GenerateRules; \
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington strip ../genRules)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington $(HC_OPTS) -o $(INLINEAXIOMS)
725ea03dc2bbc656d209dc7b143c795be153cd10Peter Major strip $(INLINEAXIOMS)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk
16d0ef277ee8c0b63a22677bbcf87a53bdd62e65Neil Maddenrelease:
16d0ef277ee8c0b63a22677bbcf87a53bdd62e65Neil Madden $(RM) -r HetCATS
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
16d0ef277ee8c0b63a22677bbcf87a53bdd62e65Neil Madden $(RM) -r uni
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden ln -s ../uni uni
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden $(RM) clean.*; mv Makefile Makefile.orig; \
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden mv ReleaseMakefile Makefile)
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden tar cvf HetCATS.tar HetCATS
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Maddeninstall-hets:
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden chmod g+w hets
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden cp -p version_nr $(INSTALLDIR)
1cfd64a79fab3fd25cb92a0d463c8b986caee88fNeil Madden (cd $(INSTALLDIR); $(RM) hets; \
16d0ef277ee8c0b63a22677bbcf87a53bdd62e65Neil Madden ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunningtoninstall: hets-opt install-hets
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington#############################
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington### ATC DrIFT-rule generation
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill CunningtongenRules: $(generated_rule_files) utils/genRules
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington$(generated_rule_files): $(genrule_files) utils/genRules $(genrule_header_files)
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington $(MAKE) clean_genRules
3e96abd39343cc5e8f4bf8ff7429409658f0d484Phill Cunnington $(foreach file,$(atc_files),$(gen_atc_files))
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk utils/genRules -r $(rule) -o CASL $(casl_files)
2feee3bd4482cbe7e4a8cf1a228bf17723b13934jeff.schenk utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk utils/genRules -r $(rule) -o Modal $(modal_files)
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenk utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk utils/genRules -r $(rule) -o COL $(col_files)
d72b59ef0fcc0226a5a655ad967e4c24729afa3ePhill Cunnington utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
617b034302efb4a2ad6c7c02083c15679a3b710cPeter Major $(haskell_files)
133bed8ec2ccc857a62d6301f67c3ef3d36aa333Peter Major
89503929c8983c48e2049c77284b52e79ad37c32jeff.schenkrule = ShATermConvertible
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkgen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
1d03ac3e808c2c653316d01713105e209914fc81Neil Madden else \
1d03ac3e808c2c653316d01713105e209914fc81Neil Madden utils/genRules -r $(rule) -o ATC $(file); \
1d03ac3e808c2c653316d01713105e209914fc81Neil Madden fi ;
13cf991efe018d84db08f3aaecf99bc62d97ecbejeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/% Haskell/% ,$(genrule_files))
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkcasl_files := $(filter CASL/% ,$(genrule_files))
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenkhascasl_files := $(filter HasCASL/% ,$(genrule_files))
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenkmodal_files := $(filter Modal/% ,$(genrule_files))
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenkcocasl_files := $(filter CoCASL/% ,$(genrule_files))
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenkcol_files := $(filter COL/% ,$(genrule_files))
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenkcspcasl_files := $(filter CspCASL/% ,$(genrule_files))
d41212f2bd058e5d3d82771d9bbdb94481982f2bjeff.schenkhaskell_files := $(filter Haskell/%,$(genrule_files))
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkclean_genRules:
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) $(generated_rule_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk###############
c0202e5a338212ae386c672821f6dc4931c50f45James Phillpotts### clean up
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3a1076834ccd4b3ecf4fac754b7ba662d4251020Allan Foster### removes *.hi and *.o in all include directories
3a1076834ccd4b3ecf4fac754b7ba662d4251020Allan Fosterclean: bin_clean
e8721886dbfd32e88cc7077cbee4b6bb1b44b443Peter Major for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
e8721886dbfd32e88cc7077cbee4b6bb1b44b443Peter Major (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### remove binaries
a35224ef1ee8c02d389ffeeb676b4de432294fb6Phill Cunningtonbin_clean:
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) hets
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major $(RM) test_parser
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major $(RM) CASL/capa
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major $(RM) HasCASL/hacapa
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) Haskell/hapa
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) Haskell/hana
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) Haskell/wrap
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) Syntax/hetpa
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) Static/hetana
84c335df5b56662ff61ec440ad718e29fca8460ajeff.schenk $(RM) Static/hetana
84c335df5b56662ff61ec440ad718e29fca8460ajeff.schenk $(RM) GUI/hetdg
7bc2a743f1c860eaeaa2a23d8981311d720d5004Phill Cunnington $(RM) hetpa
f58c87ece2202b8f85310d8885c7e39a7f435c09Jason Lemay $(RM) hetana
a093731116a8c24d49b903df7602cf586e499b45Phill Cunnington $(RM) hetdg
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) atctest2
25e37495f2591ee8f2c057f2644ed5570b4c078dPeter Major $(RM) atctest
25e37495f2591ee8f2c057f2644ed5570b4c078dPeter Major $(RM) Common/annos
25e37495f2591ee8f2c057f2644ed5570b4c078dPeter Major
64d3fa08513695d9a3c20bdd22593aa9d0d900b4Alin Brici### additonally removes *.d (dependency files) in every include directory
89092dc10fe08b037266c0b4efb94b221f6fffb3Jake Feasel### also delete *.d.bak (dependency file backups)
25e37495f2591ee8f2c057f2644ed5570b4c078dPeter Majord_clean: clean
e8721886dbfd32e88cc7077cbee4b6bb1b44b443Peter Major for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
89503929c8983c48e2049c77284b52e79ad37c32jeff.schenk (cd $$p ; $(RM) *.d *.d.bak) ; done
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### remove files also in own libraries
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenklib_clean: clean
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk (cd $$p ; $(RM) *.hi *.d *.o) ; done
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### additionally removes the files that define the sources-variable
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkreal_clean: bin_clean lib_clean
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) hetcats-make sources_hetcats.mk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
ee24b491b9c8127b749e705bbef662b2ed8874dbjeff.schenk### additionally removes files not in CVS tree
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkdistclean: real_clean clean_genRules d_clean
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) hetcats/Version.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) $(drifted_file) $(inline_axiom_files)
bd563314e425c4bf7675643269f2b4633ad39f42Allan Foster $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
bd563314e425c4bf7675643269f2b4633ad39f42Allan Foster# $(RM) $(happy_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen####################################################################
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen### test targets
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen####################################################################
386650a8957e131311273ee84a4a4113ad5e3fe2Peter Major
1563dad27ad07914e8f2ab1de04925eed4e188a4Peter Major### a parser to test annotation parser and Id parsers
421876caa0de41cedd6b9a4fdbbfb5b466ae1028Dirk Hogantest_parser: Common/test_parser
421876caa0de41cedd6b9a4fdbbfb5b466ae1028Dirk Hogan
73c26b2cdf320b53fe8467cc81228e04e3c540c0Phill CunningtonCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
f56a278c148b90f6c2a675e0c1fa8686ca5abed4Robert Wapshott $(RM) $@
1b5cb8422c825dbdc6d7669e74f285cede6ab71cJames Phillpotts $(HC) --make -o $@ $< $(HC_OPTS)
bee2440354b4bc8796e1de0b6cbd60e1f68deba0Phill Cunnington
a482d94cc9392203bc183f592f9accd23d6ded01Jaco Jooste### interactive
aa3a2aee90d1c61946a08c839d9838be7658b453Craig McDonnellghci:
9401b2513f39074de0be9ae452108d0508a6d59fAndrew Forrest $(HC)i $(HCI_OPTS)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### christian's target
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk### CASL parser
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkcapa: CASL/capa
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk $(RM) $@
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk### HasCASL parser
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkhacapa: HasCASL/hacapa
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk $(RM) $@
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk### Haskell parser
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkhapa: Haskell/hapa
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk $(RM) $@
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk### Haskell analysis
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkhana: Haskell/hana
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenk
6ee60ad4ab4c8f9e97de533a60c32f7e5c61912bjeff.schenkHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs $(happy_files)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk### HetCASL parser
dcdf356506a5bb07a2547d1bf881adb560258d73Peter Majorhetpa: Syntax/hetpa.hs Syntax/*.hs
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk $(RM) $@
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk### HetCASL parser
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenkhetana: Static/hetana.hs Static/*.hs
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk $(RM) $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk
dcdf356506a5bb07a2547d1bf881adb560258d73Peter Major### ATC test system
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenkatctest: ATC/ATCTest.hs ATC/*.hs
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk $(RM) $@
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenkatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
79943d71bcf8d4933e74f29a1b0e87f8898508cbPeter Major $(RM) $@
79943d71bcf8d4933e74f29a1b0e87f8898508cbPeter Major $(HC) --make -o $@ $< $(HC_OPTS)
79943d71bcf8d4933e74f29a1b0e87f8898508cbPeter Major
b61df94db8e71c225d3c3d9870894e4f6744ec69jeff.schenk### ATerm.Lib test system
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) --make -o $@ $< $(HC_OPTS)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### HetCASL with dev graph
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkhetdg: GUI/hetdg.hs $(drifted_files) *.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(RM) $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk### run tests in other directories
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkcheck: hetcats
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk####################################################################
2251181c0efbc59bb60c175973f890345271518cPeter Major## Preparing the version of HetCATS
2251181c0efbc59bb60c175973f890345271518cPeter Majorhetcats/Version.hs: hetcats/Version.in version_nr
2251181c0efbc59bb60c175973f890345271518cPeter Major $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk## two hardcoded dependencies for a correct generation of Version.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkhets.hs: hetcats/Version.hs
2251181c0efbc59bb60c175973f890345271518cPeter Major####################################################################
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk## rules for DrIFT
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington%.hs: %.ly
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington $(HAPPY) $<
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington%.hs: %.der.hs utils/DrIFT
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington $(DRIFT) $(DRIFT_OPTS) $< > $@
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington## rules for inlineAxioms
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington%.hs: %.inline.hs $(INLINEAXIOMS)
9f3a7ab4a46ef847ea71ae3c876ab40aceb3051bPhill Cunnington $(INLINEAXIOMS) $< > $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk## rule for cpp and haddock
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk%.hspp: %.hs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk## compiling rules for object and interface files
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk%.o %.hi: %.hs
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major $(HC) -c $< $(HC_OPTS)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk%.o %.hi: %.lhs
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(HC) -c $< $(HC_OPTS)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major## compiling rules for dependencies
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk%.d : %.hs
247203cf5bb5bc7e81871318633899d2c44416b0Mark Craig $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
247203cf5bb5bc7e81871318633899d2c44416b0Mark Craig
247203cf5bb5bc7e81871318633899d2c44416b0Mark Craig%.d : %.lhs
247203cf5bb5bc7e81871318633899d2c44416b0Mark Craig $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
247203cf5bb5bc7e81871318633899d2c44416b0Mark Craig
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl $(INLINEAXIOMS)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk $(PERL) utils/genTransMFormFunc.pl $< $@
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenk
bf48db3deadd0c664202d879926139b7df9d94f1Peter Major
bf48db3deadd0c664202d879926139b7df9d94f1Peter Major####################################################################
bf48db3deadd0c664202d879926139b7df9d94f1Peter Major## Setting a global search path (for dependency files)
64d3fa08513695d9a3c20bdd22593aa9d0d900b4Alin Brici
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),real_clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),d_clean)
3133cf1b294fb4042826d58b24e4a2d0216d0349jeff.schenkifneq ($(MAKECMDGOALS),real_clean)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifneq ($(MAKECMDGOALS),distclean)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifneq ($(MAKECMDGOALS),genRules)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifneq ($(MAKECMDGOALS),utils/genRules)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifneq ($(MAKECMDGOALS),derivedSources)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifneq ($(MAKECMDGOALS),release)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifneq ($(MAKECMDGOALS),clean_genRules)
e0133707b772e954c237a41cf483853ddcf01f2aPhill Cunningtonifeq ($(MAKECMDGOALS),hets-old)
79943d71bcf8d4933e74f29a1b0e87f8898508cbPeter Major## include every .d file in INCLUDE_PATH
aa3a2aee90d1c61946a08c839d9838be7658b453Craig McDonnell-include $(objects:.o=.d)
aa3a2aee90d1c61946a08c839d9838be7658b453Craig McDonnellendif
aa3a2aee90d1c61946a08c839d9838be7658b453Craig McDonnell
aa3a2aee90d1c61946a08c839d9838be7658b453Craig McDonnellsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
aa3a2aee90d1c61946a08c839d9838be7658b453Craig McDonnell $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellendif
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellendif
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellendif
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellendif
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellendif
7cbae22b7560eefcf086863923459880aa87f014Jaco Joosteendif
7cbae22b7560eefcf086863923459880aa87f014Jaco Joosteendif
7cbae22b7560eefcf086863923459880aa87f014Jaco Joosteendif
7cbae22b7560eefcf086863923459880aa87f014Jaco Joosteendif
7cbae22b7560eefcf086863923459880aa87f014Jaco Joosteendif
2f1e6ca26b108531af5cde6de8c04d4fca992be2Phill Cunnington