Makefile revision 40a2368e1fa061488d0be6886368ab1c8391b97f
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# hetcats/Makefile
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# $Header$
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# Year: 2004
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# This Makefile will compile the new hetcats system and provides also
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# targets for test programs during implementation phases.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!! Note: This makefile is written for GNU make !!!
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# (gmake on solaris ; make on linux)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
d8c71aacc9f1c8cd40a8ad8dcdad9be8854b849fChristian Maeder####################################################################
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder## Some varibles, which control the compilation
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederINCLUDE_PATH = ghc:hetcats
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichCLEAN_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
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder## set ghc imports properly for your system
a737caf82de97c1907027c03e4b4509eb492b4b8Christian MaederLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
a737caf82de97c1907027c03e4b4509eb492b4b8Christian MaederDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder# override on commandline for other architectures
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichDRIFT_deps = utils/DrIFT-src/*hs
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
a737caf82de97c1907027c03e4b4509eb492b4b8Christian MaederINLINEAXIOMS_deps = utils/InlineAxioms/*hs
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian MaederHC = ghc
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian MaederPERL = perl
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till MossakowskiHAPPY = happy
df29370ae8d8b41587957f6bcdcb43a3f1927e47Christian MaederDRIFT = $(DRIFT_ENV) utils/DrIFT
bd54a9917cd87169b8e40bcc5616c537fed85815Christian MaederINLINEAXIOMS = utils/outlineAxioms
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichHADDOCK = haddock
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichCPPP = cpp
8c7a54ad8bf776a530ecf907a373d42415cf4faeChristian Maeder
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till MossakowskiHC_FLAGS = -Wall -fglasgow-exts -fallow-overlapping-instances
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# -ddump-minimal-imports
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# flags also come in via ../uni/uni-package.conf
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# but added it here in case of compilation without uni
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederHC_INCLUDE = -i$(INCLUDE_PATH)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder -package uni-server -DUNI_PACKAGE
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder### Profiling (only for debugging)
e8db9a65830cf71504e33c6f441a67b4d184a3caChristian Maeder### Attention every module must be compiled with profiling or the linker
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder### cannot link the various .o files properly. So after switching on
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder### Profiling, do an 'gmake real_clean; gmake'
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder### and comment out HC_PACKAGE variable definition above.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder### Comment in the following line for switching on profiling.
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#HC_PROF = -prof -auto-all
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian MaederHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus LuettichHC_OPTS = $(HCI_OPTS) $(HC_PROF)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus LuettichDRIFT_OPTS = +RTS -K10m -RTS
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder
4cb215739e9ab13447fa21162482ebe485b47455Christian Maeder### list of directories to run checks in
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian MaederTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder####################################################################
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian Maeder## sources for hetcats (semi - manually produced with a perl script)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maederifneq ($(MAKECMDGOALS),clean)
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maederifneq ($(MAKECMDGOALS),bin_clean)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederifneq ($(MAKECMDGOALS),d_clean)
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maederifneq ($(MAKECMDGOALS),real_clean)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederifneq ($(MAKECMDGOALS),distclean)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederifneq ($(MAKECMDGOALS),genRules)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),utils/genRules)
0206ab93ef846e4e0885996d052b9b73b9dc66b0Christian Maederifneq ($(MAKECMDGOALS),hets-opt)
f13d1e86e58da53680e78043e8df182eed867efbChristian Maederifneq ($(MAKECMDGOALS),hets-optimized)
cdd280437686b1e2e25e3761d4adf3d4a0a2d11cKlaus Luettichifneq ($(MAKECMDGOALS),derivedSources)
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maederifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederifneq ($(MAKECMDGOALS),release)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederifneq ($(MAKECMDGOALS),check)
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maederifneq ($(MAKECMDGOALS),apache_doc)
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowskiifneq ($(MAKECMDGOALS),clean_genRules)
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettichifneq ($(MAKECMDGOALS),atctest2)
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettichifneq ($(MAKECMDGOALS),hetana)
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettichinclude sources_hetcats.mk
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederendif
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederendif
8cacad2a09782249243b80985f28e9387019fe40Christian Maederendif
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederendif
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maederendif
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederendif
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maederendif
47b0e9f3cb008cb7997f4e3bae26e4d62dcc887aChristian Maederendif
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maederendif
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederendif
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maederendif
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederendif
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederendif
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederendif
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederendif
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(gendrifted_files)
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder
776a1a086df734581431e6edb4343ed4c8d34d55Christian Maedergenrule_header_files = $(wildcard ATC/*.header.hs)
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maedergenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder Common/AS_Annotation.der.hs \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder CASL/Sublogic.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder HasCASL/Sublogic.hs \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder Modal/AS_Modal.hs Modal/ModalSign.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder COL/AS_COL.hs COL/COLSign.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder Static/DevGraph.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Haskell/Hatchet/AnnotatedHsSyn.hs \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder Haskell/Hatchet/MultiModuleBasics.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Haskell/Hatchet/HsSyn.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder Haskell/Hatchet/Representation.hs\
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
ad4889ebb40efae8595b0969dd6ba1162d52bac3Christian Maeder Haskell/Hatchet/Env.hs \
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder Isabelle/IsaSign.hs
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maedergendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder ATC/AS_Structured.hs ATC/AS_Architecture.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder ATC/DevGraph.hs \
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder ATC/IsaSign.hs
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maedergenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
88318aafc287e92931dceffbb943d58a9310001dChristian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maedergen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederhappy_files = Haskell/Hatchet/HsParser.hs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder# this variable holds the modules that should be documented
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder# the imported parsec library is not included!
363939beade943a02b31004cea09dec34fa8a6d9Christian Maedercpp_sources = ./Isabelle/IsaProve.hs ./Isabelle/Logic_Isabelle.hs \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder ./Proofs/Proofs.hs hets.hs ./CASL/CCC/FreeTypes.hs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder ./Comorphisms/HasCASL2IsabelleHOL.hs
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maederdoc_sources = $(filter-out $(cpp_sources) ,$(sources)) \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(patsubst %.hs, %.hspp, $(cpp_sources))
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder####################################################################
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder### targets
0be0db405c49906bd7057255069bf6df53395ac9Klaus Luettich
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder clean_genRules genRules
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder#.PRECIOUS: sources_hetcats.mk
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maederall: hets
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maederhets: $(sources)
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederhets-opt: hetcats/Version.hs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(MAKE) distclean
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(MAKE) derivedSources
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(MAKE) real_clean
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(MAKE) hets-optimized
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederhets-optimized:
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder strip hets
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederhets-old: $(objects)
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder $(RM) $@
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(HC) -o hets $(HC_OPTS) $(objects)
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
89f7631cbfbd1bb99fc152b434bd362a7799d295Christian Maederhets.cgi: $(sources) GUI/hets_cgi.hs
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS) -O
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maederhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder $(RM) hetcats-make sources_hetcats.mk
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### TAGS files for (x)emacs
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich# load them with "M-x" "visit-tags-table" from
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# "HetCATS/hetcats/hetcats.TAGS"
6b6773cf587b74259178641d811746a235faf056Christian Maeder# use "M-." to search for a tag
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!Beware this is somewhat instable, because it uses an absolute path!!
2c619a4dfdc1df27573eba98e81ed1ace906941dChristian Maederhetcats.TAGS: $(sources)
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(sources); mv TAGS $@; mv tags hetcats.tags
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### count lines of code
d272062059eea4d7479e1c6e8517469f02f61287Christian Maedercount: $(sources)
7c5c311d67e187280877c45bd89dcba9038bc0a3Christian Maeder wc -l $(sources)
7c5c311d67e187280877c45bd89dcba9038bc0a3Christian Maeder###############################
7c5c311d67e187280877c45bd89dcba9038bc0a3Christian Maeder### Documentation via haddock
7c5c311d67e187280877c45bd89dcba9038bc0a3Christian Maederdoc: docs/index.html
7c5c311d67e187280877c45bd89dcba9038bc0a3Christian Maeder
7c5c311d67e187280877c45bd89dcba9038bc0a3Christian Maeder# index for prelude is missing
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederdocs/index.html: $(doc_sources)
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder $(HADDOCK) $(doc_sources) -o docs -h \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder -i docs/base.haddock \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder -t 'hets -- a heterogenous Specification (CASL) tool set'
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederapache_doc:
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(RM) docs/*.*
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder cvs up -d
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(MAKE) hets-opt
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(MAKE) doc
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maeder $(MAKE) post_doc4apache
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
010c56c4cf12dd7977ca36efe85219b91e265ee3Christian Maederpost_doc4apache:
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus Luettich $(PERL) utils/post_process_docs.pl docs \
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski 'Common.Lib.Map.html:Common.Lib._Map.html'
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder cp docs/*.* a-docs/
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder###############################
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder### release management
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian MaederderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files) Modal/ModalSystems.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederutils/DrIFT: $(DRIFT_deps)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder strip ../DrIFT)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maederutils/genRules: $(GENERATERULES_deps)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder (cd utils/GenerateRules; \
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder strip ../genRules)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(HC_OPTS) -o $(INLINEAXIOMS)
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder strip $(INLINEAXIOMS)
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maederrelease:
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(RM) -r HetCATS
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(RM) -r uni
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder ln -s ../uni uni
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(RM) clean.*; mv Makefile Makefile.orig; \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder mv ReleaseMakefile Makefile)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder tar cvf HetCATS.tar HetCATS
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederinstall-hets:
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder chmod g+w hets
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder cp -p version_nr $(INSTALLDIR)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder (cd $(INSTALLDIR); $(RM) hets; \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederinstall: hets-opt install-hets
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maeder
6fe9628743562678acf97d6730ebcfee5e9e50c2Christian Maeder#############################
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder### ATC DrIFT-rule generation
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaedergenRules: $(generated_rule_files) utils/genRules
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(MAKE) clean_genRules
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(foreach file,$(atc_files),$(gen_atc_files))
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder utils/genRules -r $(rule) -o CASL $(casl_files)
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus Luettich utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus Luettich utils/genRules -r $(rule) -o Modal $(modal_files)
e96a0bf4040fd789339958c01f145c5057d26db6René Wagner utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
e96a0bf4040fd789339958c01f145c5057d26db6René Wagner utils/genRules -r $(rule) -o COL $(col_files)
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder $(haskell_files)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederrule = ShATermConvertible
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maedergen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
b9b960bc75e34658e70c4a0231dbc6a6e7373f2dChristian Maeder else \
18a4d5cb6828f080db9c5f9551785c5151027271Christian Maeder utils/genRules -r $(rule) -o ATC $(file); \
0be0db405c49906bd7057255069bf6df53395ac9Klaus Luettich fi ;
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/% Haskell/% ,$(genrule_files))
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowskicasl_files := $(filter CASL/% ,$(genrule_files))
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maederhascasl_files := $(filter HasCASL/% ,$(genrule_files))
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maedermodal_files := $(filter Modal/% ,$(genrule_files))
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowskicocasl_files := $(filter CoCASL/% ,$(genrule_files))
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maedercol_files := $(filter COL/% ,$(genrule_files))
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maedercspcasl_files := $(filter CspCASL/% ,$(genrule_files))
c9acb8681bcc512245b4f0d1a9f2b189c60e10d4Christian Maederhaskell_files := $(filter Haskell/%,$(genrule_files))
38352346eb1a67ba0f4eab8ad6f718528cf0cde0Christian Maeder
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maederclean_genRules:
63e50b4c36074d5fb9de872c4007b688b4bce534Christian Maeder $(RM) $(generated_rule_files)
63e50b4c36074d5fb9de872c4007b688b4bce534Christian Maeder
bd54a9917cd87169b8e40bcc5616c537fed85815Christian Maeder###############
11b55e6fbbc397b9fa41a7d61be53c6f4f027824Christian Maeder### clean up
11b55e6fbbc397b9fa41a7d61be53c6f4f027824Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder### removes *.hi and *.o in all include directories
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederclean: bin_clean
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder### remove binaries
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederbin_clean:
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) hets
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) test_parser
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) CASL/capa
6bf24e5eb644064ad650eb3fd9774483fccbf601Christian Maeder $(RM) HasCASL/hacapa
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) Haskell/hapa
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) Haskell/hana
ffd3a0c7339cc3637f022c38e66a7aa9f0cf10d3Rainer Grabbe $(RM) Haskell/wrap
e8db9a65830cf71504e33c6f441a67b4d184a3caChristian Maeder $(RM) Syntax/hetpa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) Static/hetana
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(RM) Static/hetana
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(RM) GUI/hetdg
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder $(RM) hetpa
6bf24e5eb644064ad650eb3fd9774483fccbf601Christian Maeder $(RM) hetana
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(RM) hetdg
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke $(RM) atctest2
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) atctest
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke $(RM) Common/annos
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke### additonally removes *.d (dependency files) in every include directory
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### also delete *.d.bak (dependency file backups)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederd_clean: clean
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich (cd $$p ; $(RM) *.d *.d.bak) ; done
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder### remove files also in own libraries
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederlib_clean: clean
1f63599faaa311cd024d6413f82bff8caae8de24Christian Maeder for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder (cd $$p ; $(RM) *.hi *.d *.o) ; done
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
7c99e334446bb97120e30e967baeeddfdd1278deKlaus Luettich### additionally removes the files that define the sources-variable
4017ebc0f692820736d796af3110c3b3018c108aChristian Maederreal_clean: bin_clean lib_clean
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder $(RM) hetcats-make sources_hetcats.mk
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder### additionally removes files not in CVS tree
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederdistclean: real_clean clean_genRules d_clean
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder $(RM) hetcats/Version.hs
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder $(RM) $(drifted_file) $(inline_axiom_files)
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# $(RM) $(happy_files)
0c355dd0b739631ee472f9a656e266be27fa4e64Christian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder####################################################################
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder### test targets
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder### a parser to test annotation parser and Id parsers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedertest_parser: Common/test_parser
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus LuettichCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich $(RM) $@
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich### interactive
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettichghci:
5ea9168eddbfbfe2282ed46dfe107a8962d6727bChristian Maeder $(HC)i $(HCI_OPTS)
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich
5c69cef4668bbd959d721668313a779126014d1eKlaus Luettich### christian's target
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich### CASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedercapa: CASL/capa
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder### HasCASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhacapa: HasCASL/hacapa
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich $(RM) $@
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich### Haskell parser
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettichhapa: Haskell/hapa
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus LuettichHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich $(RM) $@
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich### Haskell analysis
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhana: Haskell/hana
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich
b905126bab9454b89041f92b3c50bb9efc85e427Klaus LuettichHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs $(happy_files)
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich $(RM) $@
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder### HetCASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetpa: Syntax/hetpa.hs Syntax/*.hs
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(RM) $@
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder### HetCASL parser
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maederhetana: Static/hetana.hs Static/*.hs
68aab98a58d1460c77a1573a86c32a891756a420Christian Maeder $(RM) $@
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder### ATC test system
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maederatctest: ATC/ATCTest.hs ATC/*.hs
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(RM) $@
3a7788e09dd23b364a46c9488cbd1522369113dbChristian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
ef67402074be14deb95e4ff564737d5593144130Klaus Luettichatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(RM) $@
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
462d9dc583444aab82732e14a75610684d2dc7e9Christian Maeder
c9e197862d9d8ef2585270dd08f5194b3aed4a9dKlaus Luettich### ATerm.Lib test system
e7e1ab2ac3f1fded8611bb92ae00e8f3b8c693fbKlaus Luettichatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich $(RM) $@
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
a80c28bb8b7a23ccdf7e08d0fe216fc19cc97273Klaus Luettich
d784803f9c752667b4fcf7393d698002bedf3f89Klaus Luettich### HetCASL with dev graph
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettichhetdg: GUI/hetdg.hs $(drifted_files) *.hs
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich $(RM) $@
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder
462d9dc583444aab82732e14a75610684d2dc7e9Christian Maeder
5d39c60274aaa76506292d2d9e885fccd27e1eabChristian Maeder### run tests in other directories
5d39c60274aaa76506292d2d9e885fccd27e1eabChristian Maedercheck: hetcats
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder####################################################################
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder## Preparing the version of HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederhetcats/Version.hs: hetcats/Version.in version_nr
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich## two hardcoded dependencies for a correct generation of Version.hs
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederhets.hs: hetcats/Version.hs
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder####################################################################
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich## rules for DrIFT
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder%.hs: %.ly
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(HAPPY) $<
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder%.hs: %.der.hs utils/DrIFT
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(DRIFT) $(DRIFT_OPTS) $< > $@
43bb71dfe7ec405f563864d57c1cacdaa8ce9a80Christian Maeder
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder## rules for inlineAxioms
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder%.hs: %.inline.hs $(INLINEAXIOMS)
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski $(INLINEAXIOMS) $< > $@
aa6c527682224a4e1434f80eae8bc2ef67fb6ca6Christian Maeder
aa6c527682224a4e1434f80eae8bc2ef67fb6ca6Christian Maeder## rule for cpp and haddock
37951dbd8e5f2418a07f072d9bf551d0c3a1eafcChristian Maeder%.hspp: %.hs
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder## compiling rules for object and interface files
aa6c527682224a4e1434f80eae8bc2ef67fb6ca6Christian Maeder%.o %.hi: %.hs
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(HC) -c $< $(HC_OPTS)
c22d75ec3ea1306219d1c09a5b3e8ff04f753ad6Christian Maeder
9c3edf2b283c09d33b2820696886d1ed32fcadc8Christian Maeder%.o %.hi: %.lhs
c22d75ec3ea1306219d1c09a5b3e8ff04f753ad6Christian Maeder $(HC) -c $< $(HC_OPTS)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
68b77966b2cf7bf2e340bf0fb6b9efc3e6a00467Christian Maeder## compiling rules for dependencies
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder%.d : %.hs
5bb7eeaca10ea76595229375f907a5a388b7c882Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
5bb7eeaca10ea76595229375f907a5a388b7c882Christian Maeder
5bb7eeaca10ea76595229375f907a5a388b7c882Christian Maeder%.d : %.lhs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
5bb7eeaca10ea76595229375f907a5a388b7c882Christian Maeder
94d3aa05411444596b44ede4531f05dd7ac20fdfChristian Maeder## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl $(INLINEAXIOMS)
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder $(PERL) utils/genTransMFormFunc.pl $< $@
ddc9315cc0b1f5dd3d8f99a77f1c75064db33b48Christian Maeder
ddc9315cc0b1f5dd3d8f99a77f1c75064db33b48Christian Maeder
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder####################################################################
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder## Setting a global search path (for dependency files)
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maederifneq ($(MAKECMDGOALS),clean)
8410667510a76409aca9bb24ff0eda0420088274Christian Maederifneq ($(MAKECMDGOALS),real_clean)
8410667510a76409aca9bb24ff0eda0420088274Christian Maederifneq ($(MAKECMDGOALS),d_clean)
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maederifneq ($(MAKECMDGOALS),real_clean)
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettichifneq ($(MAKECMDGOALS),distclean)
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettichifneq ($(MAKECMDGOALS),genRules)
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettichifneq ($(MAKECMDGOALS),utils/genRules)
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettichifneq ($(MAKECMDGOALS),derivedSources)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichifneq ($(MAKECMDGOALS),release)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichifneq ($(MAKECMDGOALS),clean_genRules)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichifeq ($(MAKECMDGOALS),hets-old)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich## include every .d file in INCLUDE_PATH
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich-include $(objects:.o=.d)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettichendif
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichendif
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettichendif
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettichendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder