Makefile revision fdef3358918491badb0e29e42b5d3b5a01950716
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# This Makefile will compile the new hetcats system and provides also
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# targets for test programs during implementation phases.
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart Poettering# !!! Note: This makefile is written for GNU make !!!
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek# (gmake on solaris ; make on linux)
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek####################################################################
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek## Some varibles, which control the compilation
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart PoetteringCOMMONLIB_PATH = Common/Lib:Common/ATerm:fgl/Data/Graph:fgl/Data/Graph/Inductive:fgl/Data/Graph/Inductive/Aux:fgl/Data/Graph/Inductive/Monad:fgl/Data/Graph/Inductive/Query
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart PoetteringCLEAN_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:Taxonomy:$(PFE_PATHS)
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek## set ghc imports properly for your system
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-SzmekLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-SzmekDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
f85857df75cfedbc0d10b8ca2400188dc8f4c22eLennart Poettering# the 'replacing spaces' example was taken from the (GNU) Make info manual
e7b4d43ec3d5eb0099a3978f98a46f3c15443b23Lennart Poettering# override on commandline for other architectures
58f55364fa00a6a4706df2c4a01c6967f432e531Lennart PoetteringINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-SzmekGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-SzmekINLINEAXIOMS_deps = utils/InlineAxioms/*hs $(drifted_files)
6ce02c2a3a2aa888c3e074ae235d94808a165f9aLennart PoetteringHC_FLAGS = -Wall -fglasgow-exts -fno-monomorphism-restriction \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering -fallow-overlapping-instances -fallow-undecidable-instances
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering# -ddump-minimal-imports
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering# flags also come in via ../uni/uni-package.conf
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering# but added it here in case of compilation without uni
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringUNI_PACKAGE_CONF := $(wildcard ../uni/uni-package.conf)
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart PoetteringHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering# some modules from uni for haddock
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering# if uni/server is included also HaXml sources are needed
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poetteringuni_sources = $(wildcard ../uni/davinci/haddock/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/reactor/haddock/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/posixutil/haddock/*.hs)
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart PoetteringPFE_TOOLDIR := $(wildcard ../programatica/tools)
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart PoetteringPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering base/transforms base/transforms/Deriving hs2html pfe property base \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering property/pfe property/syntax property/AST property/transforms \
c05482281c32bd408808b14c5fb03e706e65602dLennart Poettering property/TI property/defs property/parse2 property/parse2/Parser \
c05482281c32bd408808b14c5fb03e706e65602dLennart PoetteringPFE_PATH = $(addprefix -i$(PFE_TOOLDIR)/, $(PFE_DIRS))
2aeed6760e9759d95418bdb2e80d0032ffcb768eLennart Poettering# add PFE_PATHS to DERIVEPATH if needed
2aeed6760e9759d95418bdb2e80d0032ffcb768eLennart Poettering# but name clashes currently prevent ATC generation in a single file
2aeed6760e9759d95418bdb2e80d0032ffcb768eLennart PoetteringPFE_PATHS = $(subst $(space),:,$(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS)))
e5f774df567952786e6ded933f2a34c430a33b23Lennart Poetteringpfe_sources = $(wildcard $(subst :,/*hs , $(PFE_PATHS)))
e5f774df567952786e6ded933f2a34c430a33b23Lennart PoetteringPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
e5f774df567952786e6ded933f2a34c430a33b23Lennart Poettering#-fallow-undecidable-instances -fno-monomorphism-restriction
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering### Profiling (only for debugging)
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering### Attention every module must be compiled with profiling or the linker
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering### cannot link the various .o files properly. So after switching on
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering### Profiling, do an 'gmake real_clean; gmake'
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering### and comment out HC_PACKAGE variable definition above.
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering### Comment in the following line for switching on profiling.
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering#HC_PROF = -prof -auto-all
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringHCI_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS)
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering### list of directories to run checks in
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering####################################################################
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering## sources for hetcats (semi - manually produced with a perl script)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart PoetteringSOURCE_PATHS = $(COMMON_LIB_PATH):$(CLEAN_PATH)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poetteringsources = $(wildcard $(subst :,/*hs , $(SOURCE_PATHS))/*hs)
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poetteringobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poetteringdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poettering Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
dbdee28bfadd6d8bd93cb34c85ce1fc325dd8120Lennart Poettering Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poetteringgenrule_header_files = $(wildcard ATC/*.header.hs)
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poetteringatc_files := Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poetteringatc_der_files = $(foreach file, $(atc_files), \
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering ATC/$(basename $(basename $(notdir $(file)))).der.hs)
cc98b3025eeb89addb76a27390cb2baca4eab8b9Torstein HusebøCASL_files := CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
a47e6701bfc45519a4e038daa52e9236e932f59aLennart PoetteringHasCASL_files := HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
bd69054b0987b40a0df87d40772893f6f8a078daLennart PoetteringModal_files := Modal/AS_Modal.hs Modal/ModalSign.hs
bd69054b0987b40a0df87d40772893f6f8a078daLennart PoetteringCoCASL_files := CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringCspCASL_files := CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringlogics := CASL HasCASL Modal CoCASL COL CspCASL
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poetteringgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
358ba19e5e18304258f053e30e6120a3b6adf322Lennart Poetteringgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
358ba19e5e18304258f053e30e6120a3b6adf322Lennart Poetteringinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs \
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering Comorphisms/Modal2CASL.hs # Comorphisms/CASL2TopSort.hs
5b728e6ba17c39e0787ad81b96a5582f4390f091Lennart Poetteringgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poetteringderived_sources = $(drifted_files) $(happy_files) hetcats/Version.hs \
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poettering $(inline_axiom_files) Modal/ModalSystems.hs
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poettering# sources that have {-# OPTIONS -cpp #-}
98cd2651988619bf606f0b27825440c4638a7e0bLennart Poetteringcpp_sources = ./Isabelle/Logic_Isabelle.hs \
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poettering ./Proofs/Proofs.hs hets.hs ./CASL/CCC/FreeTypes.hs \
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poettering ./Comorphisms/LogicList.hs ./Comorphisms/LogicGraph.hs
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering# this variable holds the modules that should be documented
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poetteringdoc_sources = $(filter-out $(cpp_sources), $(filter-out $(pfe_sources), \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering $(sources))) $(patsubst %.hs, %.hspp, $(cpp_sources))
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poetteringtax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poetteringtax_objects = $(patsubst %.hs,%.o,$(tax_sources))
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering####################################################################
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering.PHONY : all hets-opt hets-optimized clean d_clean real_clean bin_clean \
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering lib_clean distclean check capa hacapa clean_genRules genRules \
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering taxonomy hets.cgi count doc apache_doc post_doc4apache \
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering derivedSources install_hets install release
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
c2d5b3c94d0c082ef29597fb230f8b88b124bab8Lennart Poettering ghc --make -package-conf /home/luettich/ghc-pkg/package.conf \
264b8070715d2d19344c4991ace21147d998f56dLennart Poettering -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_INCLUDE) \
7e27f3121e5a10629302b5221eb21345f832724aLennart Poetteringtaxonomy: Taxonomy/taxonomyTool.hs $(tax_sources)
f81e67f79fa856aa2ecffad4d014772ce981745cLennart Poettering $(HC) --make -o Taxonomy/taxonomyTool $< -ifgl $(HC_OPTS)
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poettering###############################
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poettering### TAGS files for (x)emacs
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart Poettering# load them with "M-x" "visit-tags-table" from
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering# use "M-." to search for a tag
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering# !!Beware this is somewhat instable, because it uses an absolute path!!
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poettering /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering $(sources); mv TAGS $@; mv tags hetcats.tags
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering###############################
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering### count lines of code
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering###############################
25e773eeb4f853804e1bf0dbd9a184f23e9b2a97Kay Sievers### Documentation via haddock
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poettering# generate haddock documentation with links to sources
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering $(HADDOCK) $(doc_sources) $(uni_sources) -o docs -h -v \
706d97503df83d141d241b645d2c920d691b3d62Lennart Poettering -i docs/base.haddock -i docs/parsec.haddock -s ../ \
706d97503df83d141d241b645d2c920d691b3d62Lennart Poettering -t 'hets -- a heterogenous Specification (CASL) tool set'
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poettering# sources are not copied here
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering $(PERL) utils/post_process_docs.pl docs \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering 'Common.Lib.Map.html:Common.Lib._Map.html'
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering###############################
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering### release management
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poettering (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
d61bb44a89fde3042c7c15ea4975239f7dcb0cb0Lennart Poettering GenerateRules.hs -o ../genRules && strip ../genRules)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering $(RM) clean.*; mv Makefile Makefile.orig; \
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmek ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart Poettering#############################
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering### ATC DrIFT-rule generation
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poettering$(atc_der_files): $(atc_files) $(genrule_header_files) utils/genRules
b6b63571ae3eca1741d54172922961af972b8f20Lennart Poettering $(foreach file,$(atc_files),$(gen_atc_files))
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringCASL/ATC_CASL.der.hs: $(CASL_files) utils/genRules
e2a69298819b58f008be61d314f8ab95ccaec427Lennart PoetteringHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) utils/genRules
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart Poettering utils/genRules -r $(rule) -o HasCASL $(HasCASL_files)
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart PoetteringModal/ATC_Modal.der.hs: $(Modal_files) utils/genRules
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering utils/genRules -r $(rule) -o Modal $(Modal_files)
3c779fa59d1825d7db2a9516669d34ded7916913Lennart PoetteringCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) utils/genRules
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering utils/genRules -r $(rule) -o CoCASL $(CoCASL_files)
3de03738fc970496d2d3da668c72767a48ccc41bLennart PoetteringCOL/ATC_COL.der.hs: $(COL_files) utils/genRules
3de03738fc970496d2d3da668c72767a48ccc41bLennart Poettering utils/genRules -r $(rule) -o COL $(COL_files)
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart PoetteringCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) utils/genRules
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering utils/genRules -r $(rule) -o CspCASL $(CspCASL_files)
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; \
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering else utils/genRules -r $(rule) -o ATC $(file); fi ;
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering $(RM) $(generated_rule_files) $(gendrifted_files)
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering###############
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering### removes *.hi and *.o in all include directories
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering### remove binaries
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering### additonally removes *.d (dependency files) in every include directory
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering### also delete *.d.bak (dependency file backups)
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering### remove files also in own libraries
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### additionally removes the files that define the sources-variable
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### additionally removes files not in CVS tree
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringdistclean: real_clean clean_genRules d_clean
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) $(drifted_file) $(inline_axiom_files)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering# $(RM) $(happy_files)
ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602Lennart Poettering####################################################################
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering### test targets
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering####################################################################
718db96199eb307751264e4163555662c9a389faLennart Poettering### a parser to test annotation parser and Id parsers
718db96199eb307751264e4163555662c9a389faLennart PoetteringCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
94676f3e9352cbf1f72e0a512ee0d2ed83ff676dLennart Poettering### interactive
7f79cd7109a60810140a045cc725291fc5515264Lennart Poettering### christian's target
0aafd43d235982510d1c40564079f7bcec0c7c19Lennart Poettering### CASL parser
df5f6971e6e15b4632884916c71daa076c8bae96Lennart PoetteringCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71Zbigniew Jędrzejewski-Szmek### HasCASL parser
18d4e7c26e7806ac363d19989df7144d5058ce41Lennart PoetteringHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering### Haskell parser
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart PoetteringHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
7212c6083a5577eabc96c35c9db4c19c113cae93Lennart Poettering### Haskell analysis
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs \
ab9716c2489f9141ed13ec22dbb216b3e6fbd6b5Lennart Poettering### HetCASL parser
2ecfc64e59b5e4e96bed6f68bd36b612ef77a146Lennart Poettering### HetCASL parser
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering### ATC test system
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs \
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poetteringatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs \
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering### HetCASL with dev graph
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering### run tests in other directories
b454b11220e87add6d0f011695c7912b009c853dLennart Poettering for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart Poettering####################################################################
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmek## Preparing the version of HetCATS
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmekhetcats/Version.hs: hetcats/Version.in version_nr
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmek $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering## two hardcoded dependencies for a correct generation of Version.hs
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardthetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering####################################################################
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering## rules for DrIFT
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering## rules for inlineAxioms
e5ec62c56963d997edaffa904af5dc45dac23988Lennart Poettering## rule for cpp and haddock
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt## compiling rules for object and interface files
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering## compiling rules for dependencies
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart Poettering $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay SieversModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in \
e41814846c19a48f4490169d82e359e005c4db45Lennart Poettering utils/genTransMFormFunc.pl $(INLINEAXIOMS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering# hetcats-make is created as side-effect of hets or hets-optimized
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poetteringsources_hetcats.mk: hetcats-make utils/create_sources.pl