Makefile revision 08e5741dd8b6bf9b7419e89298e384e18bc57f64
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# hetcats/Makefile
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# $Header$
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater# Year: 2004
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater# This Makefile will compile the new hetcats system and provides also
46da3117812814a29432a8d9a9ccf8acdbfdadceAutomatic Updater# targets for test programs during implementation phases.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater
cd0aa2d941d1438fabb5337f1f38c49478edf71dAutomatic Updater# !!! Note: This makefile is written for GNU make !!!
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater# (gmake on solaris ; make on linux)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews####################################################################
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater## Some varibles, which control the compilation
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterINCLUDE_PATH = ghc:hetcats
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic UpdaterCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm:fgl/Data/Graph:fgl/Data/Graph/Inductive:fgl/Data/Graph/Inductive/Aux:fgl/Data/Graph/Inductive/Monad:fgl/Data/Graph/Inductive/Query
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic UpdaterCLEAN_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
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater## set ghc imports properly for your system
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic UpdaterLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# override on commandline for other architectures
831f79c4310a7d38fc3475ccfff531b2b2535641Automatic UpdaterINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterDRIFT_deps = utils/DrIFT-src/*hs
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterINLINEAXIOMS_deps = utils/InlineAxioms/*hs
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterHC = ghc
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterPERL = perl
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonHAPPY = happy
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterDRIFT = $(DRIFT_ENV) utils/DrIFT
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterINLINEAXIOMS = utils/outlineAxioms
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterHADDOCK = haddock
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntCPPP = cpp
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterHC_FLAGS = -Wall -fglasgow-exts -fallow-overlapping-instances
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# -ddump-minimal-imports
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# flags also come in via ../uni/uni-package.conf
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# but added it here in case of compilation without uni
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntHC_INCLUDE = -i$(INCLUDE_PATH)
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic UpdaterHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater -package uni-server -DUNI_PACKAGE
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater### Profiling (only for debugging)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater### Attention every module must be compiled with profiling or the linker
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater### cannot link the various .o files properly. So after switching on
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater### Profiling, do an 'gmake real_clean; gmake'
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater### and comment out HC_PACKAGE variable definition above.
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater### Comment in the following line for switching on profiling.
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater#HC_PROF = -prof -auto-all
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterHC_OPTS = $(HCI_OPTS) $(HC_PROF)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterDRIFT_OPTS = +RTS -K10m -RTS
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews### list of directories to run checks in
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark AndrewsTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews####################################################################
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater## sources for hetcats (semi - manually produced with a perl script)
8e9f3b69914ee02a80b87c97b1f8093edb3e9ae0Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifneq ($(MAKECMDGOALS),clean)
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updaterifneq ($(MAKECMDGOALS),bin_clean)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifneq ($(MAKECMDGOALS),d_clean)
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updaterifneq ($(MAKECMDGOALS),real_clean)
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updaterifneq ($(MAKECMDGOALS),distclean)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifneq ($(MAKECMDGOALS),genRules)
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updaterifneq ($(MAKECMDGOALS),utils/genRules)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifneq ($(MAKECMDGOALS),hets-opt)
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updaterifneq ($(MAKECMDGOALS),hets-optimized)
693c4232dfdffaff672197d4b9fea944c64cf80aAutomatic Updaterifneq ($(MAKECMDGOALS),derivedSources)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifneq ($(MAKECMDGOALS),release)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifneq ($(MAKECMDGOALS),check)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifneq ($(MAKECMDGOALS),apache_doc)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifneq ($(MAKECMDGOALS),clean_genRules)
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrewsifneq ($(MAKECMDGOALS),atctest2)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifneq ($(MAKECMDGOALS),hetana)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifneq ($(MAKECMDGOALS),taxonomy)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterinclude sources_hetcats.mk
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterendif
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterendif
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsendif
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updaterendif
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updaterendif
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsendif
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontendif
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterendif
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updaterendif
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontendif
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsendif
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterendif
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updaterendif
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsendif
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsendif
08e3b6797706a13054bad749dea04e94b514b8e7Automatic Updater
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(gendrifted_files)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updatergenrule_header_files = $(wildcard ATC/*.header.hs)
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsgenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater Common/AS_Annotation.der.hs \
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater CASL/Sublogic.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater HasCASL/Sublogic.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Modal/AS_Modal.hs Modal/ModalSign.hs \
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater COL/AS_COL.hs COL/COLSign.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Static/DevGraph.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Haskell/Hatchet/AnnotatedHsSyn.hs \
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews Haskell/Hatchet/MultiModuleBasics.hs \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Haskell/Hatchet/HsSyn.hs \
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater Haskell/Hatchet/Representation.hs\
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater Haskell/Hatchet/Env.hs \
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater Isabelle/IsaSign.hs
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updatergendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson ATC/AS_Structured.hs ATC/AS_Architecture.hs \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater ATC/DevGraph.hs \
4104e236f71eb5108fcfda6711878a97f6f4a8e7Automatic Updater CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater ATC/IsaSign.hs
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updatergenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updaterinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updatergen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterhappy_files = Haskell/Hatchet/HsParser.hs
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# this variable holds the modules that should be documented
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# the imported parsec library is not included!
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updatercpp_sources = ./Isabelle/Logic_Isabelle.hs \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater ./Proofs/Proofs.hs hets.hs ./CASL/CCC/FreeTypes.hs
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater
e628576d3b3d91c8954679077f4c208f1e43b433Automatic Updaterdoc_sources = $(filter-out $(cpp_sources) ,$(sources)) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(patsubst %.hs, %.hspp, $(cpp_sources))
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater# some modules from uni for haddock
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# if uni/server is included also HaXml sources are needed
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updateruni_sources = $(wildcard ../uni/davinci/haddock/*.hs) \
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater $(wildcard ../uni/graphs/haddock/*.hs) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ../uni/htk/toplevel/HTk.hs \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(wildcard ../uni/htk/haddock/*/*.hs) \
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater $(wildcard ../uni/events/haddock/*.hs) \
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater $(wildcard ../uni/reactor/haddock/*.hs) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(wildcard ../uni/util/haddock/*.hs) \
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater $(wildcard ../uni/posixutil/haddock/*.hs)
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatertax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatertax_objects = $(patsubst %.hs,%.o,$(tax_sources))
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater####################################################################
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater### targets
f7a71eef29bcbf892270460269c79664f600cffdAutomatic Updater
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater clean_genRules genRules
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater#.PRECIOUS: sources_hetcats.mk
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterall: hets
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
bbb069be941f649228760edcc241122933c066d2Automatic Updaterhets: $(sources)
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewshets-opt: hetcats/Version.hs
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(MAKE) distclean
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater $(MAKE) derivedSources
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(MAKE) real_clean
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(MAKE) hets-optimized
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewshets-optimized:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater strip hets
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
f7c88d61cc1ad2435b0b7cfaedfc9d5248c0be25Automatic Updaterhets-old: $(objects)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(RM) $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(HC) -o hets $(HC_OPTS) $(objects)
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updaterhets.cgi: $(sources) GUI/hets_cgi.hs
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS) -O
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
f7a71eef29bcbf892270460269c79664f600cffdAutomatic Updaterhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater $(RM) hetcats-make sources_hetcats.mk
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updatertaxonomy: Taxonomy/taxonomyTool.hs $(tax_sources)
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater $(HC) --make -o Taxonomy/taxonomyTool $< -ifgl $(HC_OPTS)
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater###############################
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater### TAGS files for (x)emacs
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# load them with "M-x" "visit-tags-table" from
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater# "HetCATS/hetcats/hetcats.TAGS"
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater# use "M-." to search for a tag
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# !!Beware this is somewhat instable, because it uses an absolute path!!
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updaterhetcats.TAGS: $(sources)
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater $(sources); mv TAGS $@; mv tags hetcats.tags
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic Updater###############################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### count lines of code
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updatercount: $(sources)
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews wc -l $(sources)
572cb2c1c931f6bc6a4a019c103ae88239b0eb96Automatic Updater###############################
7858b0168b866c0c2878fc4ea31fb5e581c1a6a9Automatic Updater### Documentation via haddock
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdoc: docs/index.html
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# generate haddock documentation with links to sources
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updaterdocs/index.html: $(doc_sources)
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic Updater $(HADDOCK) $(doc_sources) $(uni_sources) -o docs -h -v \
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater -i docs/base.haddock -i docs/parsec.haddock -s ../ \
8292deab031e7599cd7622aa7675fbe139ca6095Mark Andrews -t 'hets -- a heterogenous Specification (CASL) tool set'
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews# sources are not copied here
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrewsapache_doc:
ca35524ce2b57e6f1b261d23565d1288a355d12fAutomatic Updater $(RM) docs/*.*
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews cvs up -d
b109432c3a939bff66a463be86c371bd88efe3aaAutomatic Updater $(MAKE) hets-opt
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater $(MAKE) doc
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(MAKE) post_doc4apache
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrewspost_doc4apache:
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater $(PERL) utils/post_process_docs.pl docs \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews 'Common.Lib.Map.html:Common.Lib._Map.html'
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews cp docs/*.* a-docs/
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrews
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater###############################
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews### release management
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic UpdaterderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files) Modal/ModalSystems.hs
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterutils/DrIFT: $(DRIFT_deps)
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater strip ../DrIFT)
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterutils/genRules: $(GENERATERULES_deps)
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater (cd utils/GenerateRules; \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater strip ../genRules)
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater $(HC_OPTS) -o $(INLINEAXIOMS)
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater strip $(INLINEAXIOMS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updaterrelease:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(RM) -r HetCATS
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews $(RM) -r uni
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ln -s ../uni uni
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
06f5acb11f1c32228d93eefd1eb841dbfb1c7f4dAutomatic Updater $(RM) clean.*; mv Makefile Makefile.orig; \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater mv ReleaseMakefile Makefile)
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater tar cvf HetCATS.tar HetCATS
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssoninstall-hets:
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater chmod g+w hets
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews cp -p version_nr $(INSTALLDIR)
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews (cd $(INSTALLDIR); $(RM) hets; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updaterinstall: hets-opt install-hets
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater#############################
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater### ATC DrIFT-rule generation
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdatergenRules: $(generated_rule_files) utils/genRules
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater$(generated_rule_files): $(genrule_files) utils/genRules $(genrule_header_files)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(MAKE) clean_genRules
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(foreach file,$(atc_files),$(gen_atc_files))
b1265b5a06df36d490d4bdf54284fb133a1f5a84Automatic Updater utils/genRules -r $(rule) -o CASL $(casl_files)
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o Modal $(modal_files)
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o COL $(col_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(haskell_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonrule = ShATermConvertible
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtongen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington else \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o ATC $(file); \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi ;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/% Haskell/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncasl_files := $(filter CASL/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhascasl_files := $(filter HasCASL/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonmodal_files := $(filter Modal/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncocasl_files := $(filter CoCASL/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncol_files := $(filter COL/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncspcasl_files := $(filter CspCASL/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhaskell_files := $(filter Haskell/%,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonclean_genRules:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $(generated_rule_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington###############
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### clean up
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### removes *.hi and *.o in all include directories
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonclean: bin_clean
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### remove binaries
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonbin_clean:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hets
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) test_parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) CASL/capa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) HasCASL/hacapa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Haskell/hapa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Haskell/hana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Haskell/wrap
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Syntax/hetpa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Static/hetana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) GUI/hetdg
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetpa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetdg
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) atctest2
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) atctest
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater $(RM) Common/annos
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(RM) Haskell/Hatchet/hatch
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(RM) ToHaskell/translateAna
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(RM) Taxonomy/taxonomyTool
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater### additonally removes *.d (dependency files) in every include directory
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater### also delete *.d.bak (dependency file backups)
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterd_clean: clean
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater (cd $$p ; $(RM) *.d *.d.bak) ; done
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater### remove files also in own libraries
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterlib_clean:
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater (cd $$p ; $(RM) *.hi *.d *.o) ; done
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater### additionally removes the files that define the sources-variable
0d3490f93bb980fde704055e74c1b508987a5fe4Mark Andrewsreal_clean: bin_clean lib_clean clean
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington $(RM) hetcats-make sources_hetcats.mk
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington### additionally removes files not in CVS tree
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtondistclean: real_clean clean_genRules d_clean
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews $(RM) hetcats/Version.hs
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews $(RM) $(drifted_file) $(inline_axiom_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews# $(RM) $(happy_files)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews####################################################################
348040cb2675f1c3711672dadfc29f5ddfd2bb23Automatic Updater### test targets
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington####################################################################
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic Updater### a parser to test annotation parser and Id parsers
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_parser: Common/test_parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater $(HC) --make -o $@ $< $(HC_OPTS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater### interactive
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterghci:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(HC)i $(HCI_OPTS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater### christian's target
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater### CASL parser
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updatercapa: CASL/capa
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
c01dec514a81ecf8c17ca3ef8c3ba95e437295ebAutomatic Updater $(RM) $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(HC) --make -o $@ $< $(HC_OPTS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater### HasCASL parser
3de6db3208d51de1e138b63b9670430c03f99694Automatic Updaterhacapa: HasCASL/hacapa
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(HC) --make -o $@ $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### Haskell parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhapa: Haskell/hapa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### Haskell analysis
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhana: Haskell/hana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs $(happy_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### HetCASL parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhetpa: Syntax/hetpa.hs Syntax/*.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### HetCASL parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhetana: Static/hetana.hs Static/*.hs
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater $(RM) $@
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(HC) --make -o $@ $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater### ATC test system
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updateratctest: ATC/ATCTest.hs ATC/*.hs
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(RM) $@
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(HC) --make -o $@ $< $(HC_OPTS)
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews### ATerm.Lib test system
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### HetCASL with dev graph
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhetdg: GUI/hetdg.hs $(drifted_files) *.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### run tests in other directories
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncheck: hetcats
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington####################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington## Preparing the version of HetCATS
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrewshetcats/Version.hs: hetcats/Version.in version_nr
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington## two hardcoded dependencies for a correct generation of Version.hs
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhets.hs: hetcats/Version.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington####################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington## rules for DrIFT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington%.hs: %.ly
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HAPPY) $<
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington%.hs: %.der.hs utils/DrIFT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(DRIFT) $(DRIFT_OPTS) $< > $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater## rules for inlineAxioms
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington%.hs: %.inline.hs $(INLINEAXIOMS)
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(INLINEAXIOMS) $< > $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater## rule for cpp and haddock
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater%.hspp: %.hs
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater## compiling rules for object and interface files
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater%.o %.hi: %.hs
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(HC) -c $< $(HC_OPTS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington%.o %.hi: %.lhs
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(HC) -c $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews## compiling rules for dependencies
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington%.d : %.hs
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews%.d : %.lhs
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark AndrewsModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl $(INLINEAXIOMS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(PERL) utils/genTransMFormFunc.pl $< $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington####################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington## Setting a global search path (for dependency files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),bin_clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),lib_clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),d_clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),real_clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),distclean)
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterifneq ($(MAKECMDGOALS),genRules)
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updaterifneq ($(MAKECMDGOALS),utils/genRules)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),derivedSources)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterifneq ($(MAKECMDGOALS),release)
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updaterifneq ($(MAKECMDGOALS),clean_genRules)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterifeq ($(MAKECMDGOALS),hets-old)
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater## include every .d file in INCLUDE_PATH
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater-include $(objects:.o=.d)
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updaterendif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatersources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updaterendif
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updaterendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonendif
b4cebdb6ccde66a8f3e397a1b90b0cf788519d69Automatic Updaterendif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterendif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonendif
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updaterendif
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updaterendif
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updaterendif
47ff70af9e842bf0f69d209433995216f560fe4aAutomatic Updaterendif
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater