Makefile revision fdef3358918491badb0e29e42b5d3b5a01950716
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart Poettering# hetcats/Makefile
c343be283b7152554bac0c02493a4e1759c163f7Kay Sievers# $Header$
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Year: 2004
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# This Makefile will compile the new hetcats system and provides also
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# targets for test programs during implementation phases.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers
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####################################################################
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek## Some varibles, which control the compilation
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek
3f85ef0f05ffc51e19f86fb83a1c51e8e3cd6817Harald HoyerINCLUDE_PATH = ghc:hetcats:fgl
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)
afea8d3853d0f76b3845729ff00e75d281f43a1bZbigniew Jędrzejewski-Szmek
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}'
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f85857df75cfedbc0d10b8ca2400188dc8f4c22eLennart Poettering# the 'replacing spaces' example was taken from the (GNU) Make info manual
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringempty:=
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poetteringspace:= $(empty) $(empty)
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers
e7b4d43ec3d5eb0099a3978f98a46f3c15443b23Lennart Poettering# override on commandline for other architectures
58f55364fa00a6a4706df2c4a01c6967f432e531Lennart PoetteringINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
58f55364fa00a6a4706df2c4a01c6967f432e531Lennart Poettering
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-SzmekDRIFT_deps = utils/DrIFT-src/*hs
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-SzmekGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-SzmekINLINEAXIOMS_deps = utils/InlineAxioms/*hs $(drifted_files)
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-SzmekHC = ghc
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringPERL = perl
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringHAPPY = happy
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringDRIFT = $(DRIFT_ENV) utils/DrIFT
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringINLINEAXIOMS = utils/outlineAxioms
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringHADDOCK = haddock
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringCPPP = cpp
6ce02c2a3a2aa888c3e074ae235d94808a165f9aLennart Poettering
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 Poettering
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringHC_INCLUDE = -i$(INCLUDE_PATH)
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringUNI_PACKAGE_CONF := $(wildcard ../uni/uni-package.conf)
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poetteringifneq ($(strip $(UNI_PACKAGE_CONF)),)
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart PoetteringHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering -package uni-server -DUNI_PACKAGE
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering
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/graphs/haddock/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering ../uni/htk/toplevel/HTk.hs \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/htk/haddock/*/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/events/haddock/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/reactor/haddock/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/util/haddock/*.hs) \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(wildcard ../uni/posixutil/haddock/*.hs)
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poetteringendif
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart PoetteringPFE_TOOLDIR := $(wildcard ../programatica/tools)
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poetteringifneq ($(strip $(PFE_TOOLDIR)),)
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 Poettering hs2stratego hs2stratego/AST
c05482281c32bd408808b14c5fb03e706e65602dLennart PoetteringPFE_PATH = $(addprefix -i$(PFE_TOOLDIR)/, $(PFE_DIRS))
2aeed6760e9759d95418bdb2e80d0032ffcb768eLennart Poettering
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
e0ec8950935ce587935e299c22232fbf4a2664c9Lennart Poetteringendif
e0ec8950935ce587935e299c22232fbf4a2664c9Lennart Poettering
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering
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 Poettering
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringHCI_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS)
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringHC_OPTS = $(HCI_OPTS) $(HC_PROF)
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringDRIFT_OPTS = +RTS -K10m -RTS
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering### list of directories to run checks in
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart PoetteringTESTDIRS = Common CASL HasCASL
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering####################################################################
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering## sources for hetcats (semi - manually produced with a perl script)
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart PoetteringGHCMAKE_OUTPUT = $(wildcard hetcats-make)
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poetteringifneq ($(strip $(GHCMAKE_OUTPUT)),)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poetteringinclude sources_hetcats.mk
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poetteringelse
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart PoetteringSOURCE_PATHS = $(COMMON_LIB_PATH):$(CLEAN_PATH)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poetteringsources = $(wildcard $(subst :,/*hs , $(SOURCE_PATHS))/*hs)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poetteringendif
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poetteringobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering
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 \
dbdee28bfadd6d8bd93cb34c85ce1fc325dd8120Lennart Poettering $(gendrifted_files)
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poetteringgenrule_header_files = $(wildcard ATC/*.header.hs)
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poetteringatc_files := Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering Common/AS_Annotation.der.hs \
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering Static/DevGraph.hs \
02c74033ed65e7825d1b87ee051820c9fbfa0f50Lennart Poettering Proofs/Proofs.hs \
02c74033ed65e7825d1b87ee051820c9fbfa0f50Lennart Poettering Isabelle/IsaSign.hs
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poettering
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poetteringatc_der_files = $(foreach file, $(atc_files), \
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering ATC/$(basename $(basename $(notdir $(file)))).der.hs)
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering
cc98b3025eeb89addb76a27390cb2baca4eab8b9Torstein HusebøCASL_files := CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
a47e6701bfc45519a4e038daa52e9236e932f59aLennart Poettering CASL/AS_Basic_CASL.der.hs
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering
a47e6701bfc45519a4e038daa52e9236e932f59aLennart PoetteringHasCASL_files := HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
92ff080be100aff15f292e2631921131c610afe7Lennart Poettering HasCASL/Sublogic.hs \
b80c66ba9836456de5260e4a1b696ba25561f613Lennart Poettering
bd69054b0987b40a0df87d40772893f6f8a078daLennart PoetteringModal_files := Modal/AS_Modal.hs Modal/ModalSign.hs
bd69054b0987b40a0df87d40772893f6f8a078daLennart PoetteringCoCASL_files := CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringCOL_files := COL/AS_COL.hs COL/COLSign.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringCspCASL_files := CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringlogics := CASL HasCASL Modal CoCASL COL CspCASL
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poetteringgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
358ba19e5e18304258f053e30e6120a3b6adf322Lennart Poettering
358ba19e5e18304258f053e30e6120a3b6adf322Lennart Poetteringgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
91f4347ef7bde17418b365ed3a97a752fe65bd50Lennart Poettering
358ba19e5e18304258f053e30e6120a3b6adf322Lennart Poetteringinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs \
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering Comorphisms/Modal2CASL.hs # Comorphisms/CASL2TopSort.hs
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering
5b728e6ba17c39e0787ad81b96a5582f4390f091Lennart Poetteringgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
5b728e6ba17c39e0787ad81b96a5582f4390f091Lennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringhappy_files =
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poetteringderived_sources = $(drifted_files) $(happy_files) hetcats/Version.hs \
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poettering $(inline_axiom_files) Modal/ModalSystems.hs
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poettering
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
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))
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering
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))
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering####################################################################
f131770b1465fbf423881f16ba85523a05f846feVeres Lajos### targets
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
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering#.PRECIOUS: sources_hetcats.mk
41114e81b562bcee52be1ef94c684ace2362ca54Lennart Poettering
41114e81b562bcee52be1ef94c684ace2362ca54Lennart Poetteringall: hets
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poetteringhets: $(sources) $(derived_sources)
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poetteringhets-opt:
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(MAKE) distclean
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(MAKE) derivedSources
a195cbad3796dfda3d1016e4819c612c859e3c7bLennart Poettering $(MAKE) real_clean
a195cbad3796dfda3d1016e4819c612c859e3c7bLennart Poettering $(MAKE) hets-optimized
8514b67754c5ff7fa628929b3d27131010c21842Lennart Poettering
8514b67754c5ff7fa628929b3d27131010c21842Lennart Poetteringhets-optimized: $(derived_sources)
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering strip hets
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poetteringhets-old: $(objects)
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering $(RM) $@
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering $(HC) -o hets $(HC_OPTS) $(objects)
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poetteringhets.cgi: $(sources) GUI/hets_cgi.hs
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) \
264b8070715d2d19344c4991ace21147d998f56dLennart Poettering $(HC_FLAGS) -O
7e27f3121e5a10629302b5221eb21345f832724aLennart Poettering
7e27f3121e5a10629302b5221eb21345f832724aLennart Poetteringtaxonomy: Taxonomy/taxonomyTool.hs $(tax_sources)
f81e67f79fa856aa2ecffad4d014772ce981745cLennart Poettering $(HC) --make -o Taxonomy/taxonomyTool $< -ifgl $(HC_OPTS)
f81e67f79fa856aa2ecffad4d014772ce981745cLennart Poettering
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poettering###############################
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poettering### TAGS files for (x)emacs
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart Poettering# load them with "M-x" "visit-tags-table" from
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart Poettering# "HetCATS/hetcats/hetcats.TAGS"
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering# use "M-." to search for a tag
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering# !!Beware this is somewhat instable, because it uses an absolute path!!
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poetteringhetcats.TAGS: $(sources)
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###############################
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering### count lines of code
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringcount: $(sources)
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering wc -l $(sources)
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering###############################
25e773eeb4f853804e1bf0dbd9a184f23e9b2a97Kay Sievers### Documentation via haddock
b857e042d621ffb98a652f33850b431fafbece43Lennart Poetteringdoc: docs/index.html
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poettering
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poettering# generate haddock documentation with links to sources
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poetteringdocs/index.html: $(doc_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
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poettering# sources are not copied here
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poetteringapache_doc:
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering $(RM) docs/*.*
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering cvs up -d
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering $(MAKE) hets-opt
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek $(MAKE) doc
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek $(MAKE) post_doc4apache
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek $(MAKE) hets.cgi
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek
202aea456dfb279cd34da7bfd1880f6ac0fd849fLennart Poetteringpost_doc4apache:
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering $(PERL) utils/post_process_docs.pl docs \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering 'Common.Lib.Map.html:Common.Lib._Map.html'
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering cp docs/*.* a-docs/
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering###############################
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering### release management
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering
14a32924c9b46817c92ae11c1147a59dcb62012bLennart PoetteringderivedSources: $(derived_sources)
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poetteringutils/DrIFT: $(DRIFT_deps)
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poettering (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poettering strip ../DrIFT)
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poetteringutils/genRules: $(GENERATERULES_deps)
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering (cd utils/GenerateRules; \
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poettering $(HC) --make '-i../..:../DrIFT-src' \
d61bb44a89fde3042c7c15ea4975239f7dcb0cb0Lennart Poettering GenerateRules.hs -o ../genRules && strip ../genRules)
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering $(HC_OPTS) -o $(INLINEAXIOMS)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering strip $(INLINEAXIOMS)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringrelease:
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering $(RM) -r HetCATS
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering co HetCATS
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering $(RM) -r uni
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering ln -s ../uni uni
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; \
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen mv ReleaseMakefile Makefile)
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen tar cvf HetCATS.tar HetCATS
823f4a91ebd8942a2c1ff31050dc55eaa60f6ffcLukas Nykryn
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poetteringinstall-hets:
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering chmod g+w hets
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering cp -p version_nr $(INSTALLDIR)
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering (cd $(INSTALLDIR); $(RM) hets; \
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmek ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmek
151226ab4bf276d60d51864330a99f886b923697Zbigniew Jędrzejewski-Szmekinstall: hets-opt install-hets
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart Poettering
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart Poettering#############################
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering### ATC DrIFT-rule generation
0f47ed0a052c0da743404f23ac3532aaabd23655Lennart Poettering
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart PoetteringgenRules: $(generated_rule_files)
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poettering
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poettering$(atc_der_files): $(atc_files) $(genrule_header_files) utils/genRules
b6b63571ae3eca1741d54172922961af972b8f20Lennart Poettering $(foreach file,$(atc_files),$(gen_atc_files))
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringCASL/ATC_CASL.der.hs: $(CASL_files) utils/genRules
3f77a1b19f5a8ce33566f7f6e28e94c08ea30841Kay Sievers utils/genRules -r $(rule) -o CASL $(CASL_files)
e2a69298819b58f008be61d314f8ab95ccaec427Lennart Poettering
e2a69298819b58f008be61d314f8ab95ccaec427Lennart PoetteringHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) utils/genRules
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart Poettering utils/genRules -r $(rule) -o HasCASL $(HasCASL_files)
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart Poettering
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart PoetteringModal/ATC_Modal.der.hs: $(Modal_files) utils/genRules
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering utils/genRules -r $(rule) -o Modal $(Modal_files)
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering
3c779fa59d1825d7db2a9516669d34ded7916913Lennart PoetteringCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) utils/genRules
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering utils/genRules -r $(rule) -o CoCASL $(CoCASL_files)
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering
3de03738fc970496d2d3da668c72767a48ccc41bLennart PoetteringCOL/ATC_COL.der.hs: $(COL_files) utils/genRules
3de03738fc970496d2d3da668c72767a48ccc41bLennart Poettering utils/genRules -r $(rule) -o COL $(COL_files)
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart Poettering
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart PoetteringCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) utils/genRules
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering utils/genRules -r $(rule) -o CspCASL $(CspCASL_files)
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poetteringrule:= ShATermConvertible
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poettering
e107ed185ef08945102834234a05ec51bb438685Lennart Poetteringgen_atc_files = \
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; \
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers then utils/genRules -r $(rule) -o ATC -h \
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering else utils/genRules -r $(rule) -o ATC $(file); fi ;
f598ac3e28b729dd0b1d0a881df3e16465687a2bLennart Poettering
11fb37f16ed99c1603c9d770b60ce4953b96a58dLennart Poetteringclean_genRules:
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering $(RM) $(generated_rule_files) $(gendrifted_files)
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering###############
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering### clean up
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering### removes *.hi and *.o in all include directories
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poetteringclean: bin_clean
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering### remove binaries
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poetteringbin_clean:
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering $(RM) hets
650264033f2f98f6319513958d94d59078654af8Lennart Poettering $(RM) test_parser
650264033f2f98f6319513958d94d59078654af8Lennart Poettering $(RM) CASL/capa
650264033f2f98f6319513958d94d59078654af8Lennart Poettering $(RM) HasCASL/hacapa
f8901862b2b030921b3d5aba4157044ceab16451Lennart Poettering $(RM) Haskell/hapa
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering $(RM) Haskell/hana
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering $(RM) Haskell/wrap
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering $(RM) Syntax/hetpa
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering $(RM) Static/hetana
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering $(RM) GUI/hetdg
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering $(RM) hetpa
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering $(RM) hetana
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering $(RM) hetdg
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering $(RM) atctest2
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(RM) atctest
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(RM) Common/annos
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(RM) Haskell/Hatchet/hatch
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(RM) ToHaskell/translateAna
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(RM) Taxonomy/taxonomyTool
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering### additonally removes *.d (dependency files) in every include directory
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering### also delete *.d.bak (dependency file backups)
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poetteringd_clean: clean
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering (cd $$p ; $(RM) *.d *.d.bak) ; done
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering### remove files also in own libraries
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poetteringlib_clean:
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering (cd $$p ; $(RM) *.hi *.d *.o) ; done
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### additionally removes the files that define the sources-variable
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringreal_clean: bin_clean lib_clean clean
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) hetcats-make sources_hetcats.mk
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### additionally removes files not in CVS tree
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringdistclean: real_clean clean_genRules d_clean
0bee65f0622c4faa8ac8ae771cc0c8a936dfa284Lennart Poettering $(RM) hetcats/Version.hs
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) $(drifted_file) $(inline_axiom_files)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering# $(RM) $(happy_files)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602Lennart Poettering####################################################################
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering### test targets
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering####################################################################
718db96199eb307751264e4163555662c9a389faLennart Poettering
718db96199eb307751264e4163555662c9a389faLennart Poettering### a parser to test annotation parser and Id parsers
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringtest_parser: Common/test_parser
718db96199eb307751264e4163555662c9a389faLennart Poettering
718db96199eb307751264e4163555662c9a389faLennart PoetteringCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
718db96199eb307751264e4163555662c9a389faLennart Poettering $(RM) $@
966204e010ed432a1d7a0481d41a326d8ec7b0c8Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
966204e010ed432a1d7a0481d41a326d8ec7b0c8Lennart Poettering
94676f3e9352cbf1f72e0a512ee0d2ed83ff676dLennart Poettering### interactive
6fd4d0209827e5c3e52fa8c7144852f550f8f95cLennart Poetteringghci:
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering $(HC)i $(HCI_OPTS)
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering
7f79cd7109a60810140a045cc725291fc5515264Lennart Poettering### christian's target
0aafd43d235982510d1c40564079f7bcec0c7c19Lennart Poettering### CASL parser
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardtcapa: CASL/capa
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt
df5f6971e6e15b4632884916c71daa076c8bae96Lennart PoetteringCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
df5f6971e6e15b4632884916c71daa076c8bae96Lennart Poettering $(RM) $@
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering
6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71Zbigniew Jędrzejewski-Szmek### HasCASL parser
c3bb87dbab8b79bb9253407cb5b7f3e6fe8db395Lennart Poetteringhacapa: HasCASL/hacapa
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt
18d4e7c26e7806ac363d19989df7144d5058ce41Lennart PoetteringHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering $(RM) $@
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering### Haskell parser
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poetteringhapa: Haskell/hapa
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart PoetteringHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
6bb648a16ae4a682ad4784412af706d2e6a3e4daTom Gundersen $(RM) $@
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
d0928791499734e202460d5c027b5d3e0d28e7abLennart Poettering
7212c6083a5577eabc96c35c9db4c19c113cae93Lennart Poettering### Haskell analysis
1f140dd8b048c5f5599a886b8c4d20f3f1065774David Herrmannhana: Haskell/hana
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart Poettering
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(happy_files)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) $@
dc17bcef197a0d5ee798cce59c40e4f5e85c24f6Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
80caea6cc72ebd311a311b1527cc6b87201c13bfLennart Poettering
ab9716c2489f9141ed13ec22dbb216b3e6fbd6b5Lennart Poettering### HetCASL parser
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poetteringhetpa: Syntax/hetpa.hs Syntax/*.hs
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poettering $(RM) $@
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poettering
2ecfc64e59b5e4e96bed6f68bd36b612ef77a146Lennart Poettering### HetCASL parser
6a8b5fa4635ed858788fb10099ec9b62b3359a0aLennart Poetteringhetana: Static/hetana.hs Static/*.hs
69727e6dc69ae5d9b5ae3681723778a3faa354e9Lennart Poettering $(RM) $@
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering### ATC test system
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringatctest: ATC/ATCTest.hs ATC/*.hs
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering $(RM) $@
0ad68f8743f3baaa7cd8ac7a2275459ae0f7b96aLennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs \
12179984a38fe74581333fbcdc11c822d81f505fLennart Poettering Common/ATerm/*.hs Common/Lib/*.hs
0536ce5d0ceaf87f3e81faaff41d69ffeed2186fZbigniew Jędrzejewski-Szmek $(RM) $@
eb01ba5de14859d7a94835ab9299de40132d549aLennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering### ATerm.Lib test system
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poetteringatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs \
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering Common/SimpPretty.hs
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek $(RM) $@
e8a7a315391a6a07897122725cd707f4e9ce63d7Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering### HetCASL with dev graph
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poetteringhetdg: GUI/hetdg.hs $(drifted_files) *.hs
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering $(RM) $@
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering### run tests in other directories
b454b11220e87add6d0f011695c7912b009c853dLennart Poetteringcheck: hetcats
b454b11220e87add6d0f011695c7912b009c853dLennart Poettering for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart Poettering
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 > $@
b8b4d3dddc7611dce3bf28004b0375d661120c62Lennart Poettering
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 Poetteringhets.hs: hetcats/Version.hs
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering####################################################################
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering## rules for DrIFT
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering.SUFFIXES:
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering%.hs: %.ly
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poettering $(HAPPY) $<
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poettering
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering%.hs: %.y
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering $(HAPPY) $<
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering%.hs: %.der.hs utils/DrIFT
795607b22308f5b92073b012e43be1892fdd97c0Lennart Poettering $(DRIFT) $(DRIFT_OPTS) $< > $@
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering## rules for inlineAxioms
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering%.hs: %.inline.hs $(INLINEAXIOMS)
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering $(INLINEAXIOMS) $< > $@
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering
e5ec62c56963d997edaffa904af5dc45dac23988Lennart Poettering## rule for cpp and haddock
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart Poettering%.hspp: %.hs
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poettering $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poettering
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt## compiling rules for object and interface files
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poettering%.o %.hi: %.hs
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering $(HC) -c $< $(HC_OPTS)
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering%.o %.hi: %.lhs
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering $(HC) -c $< $(HC_OPTS)
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering## compiling rules for dependencies
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poettering%.d : %.hs
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart Poettering $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poettering
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart Poettering%.d : %.lhs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
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)
c0fe5db522b52f27e030655ce2c03e05cbbc1558Kay Sievers $(PERL) utils/genTransMFormFunc.pl $< $@
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering# hetcats-make is created as side-effect of hets or hets-optimized
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poetteringsources_hetcats.mk: hetcats-make utils/create_sources.pl
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering