Makefile revision 11b55e6fbbc397b9fa41a7d61be53c6f4f027824
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart Poettering# Makefile
c343be283b7152554bac0c02493a4e1759c163f7Kay Sievers# $Header$
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Year: 2004
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# This Makefile will compile the new hets 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)
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmekall: patch hets
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek####################################################################
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek## Some varibles, which control the compilation
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-SzmekINCLUDE_PATH = hxt
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringHXT_PATHS = Data Data/Tree Data/Tree/NTree Data/Digest Text Text/XML \
f85857df75cfedbc0d10b8ca2400188dc8f4c22eLennart Poettering Text/XML/HXT Text/XML/HXT/IO Text/XML/HXT/DOM Text/XML/HXT/Arrow \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering Text/XML/HXT/XPath Text/XML/HXT/Validator Text/XML/HXT/Parser \
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering Text/XML/HXT/RelaxNG Text/XML/HXT/ProtocolHandler Codec Codec/ASN1 \
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers Codec/Binary Codec/Encryption Codec/Encryption/RSA System Control \
e7b4d43ec3d5eb0099a3978f98a46f3c15443b23Lennart Poettering Control/Arrow Control/Monad Network
58f55364fa00a6a4706df2c4a01c6967f432e531Lennart Poettering
58f55364fa00a6a4706df2c4a01c6967f432e531Lennart PoetteringCLEAN_PATH = . utils/itcor \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek utils utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek Common/Lib Common/ATerm Logic CASL CASL/CCC CASL/CompositionTable \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek Syntax Static GUI HasCASL Haskell Modal CoCASL COL ConstraintCASL \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek CspCASL ATC Proofs Comorphisms Isabelle Driver \
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek Taxonomy CASL_DL SPASS OWL_DL OMDoc $(PFE_PATHS) \
124f2f9b6f66db00942b5882d68aa8fa8857865eLennart Poettering $(addprefix hxt/, $(HXT_PATHS))
124f2f9b6f66db00942b5882d68aa8fa8857865eLennart Poettering
d4b47aa30b45aa933bdf76e8dc9da01caa11e046David Herrmann# the 'replacing spaces' example was taken from the (GNU) Make info manual
d4b47aa30b45aa933bdf76e8dc9da01caa11e046David Herrmannempty =
d4b47aa30b45aa933bdf76e8dc9da01caa11e046David Herrmannspace = $(empty) $(empty)
124f2f9b6f66db00942b5882d68aa8fa8857865eLennart Poettering
124f2f9b6f66db00942b5882d68aa8fa8857865eLennart Poettering## set ghc imports properly for your system
e06fe15b1f27d9d2317b25232d6df1e0a60dfce2Lennart PoetteringGHC_IMPORTS = `$(HC) --print-libdir`/imports
e06fe15b1f27d9d2317b25232d6df1e0a60dfce2Lennart Poettering# import directories for ghc-5.04.2
61192f1d6954196d5066942241a024de4712243cLennart PoetteringGHC5 = $(GHC_IMPORTS)/base:$(GHC_IMPORTS)/haskell98
61192f1d6954196d5066942241a024de4712243cLennart PoetteringDRIFT_ENV = \
61192f1d6954196d5066942241a024de4712243cLennart Poettering DERIVEPATH=.:$(GHC_IMPORTS):$(GHC5):$(subst $(space),:,$(PFE_PATHS))
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart Poettering
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart Poettering# override on commandline for other architectures
6ce02c2a3a2aa888c3e074ae235d94808a165f9aLennart PoetteringINSTALLDIR = \
6ce02c2a3a2aa888c3e074ae235d94808a165f9aLennart Poettering /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart Poettering
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart PoetteringDRIFT_deps = utils/DrIFT-src/*hs
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart PoetteringGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps) Common/Utils.hs
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart PoetteringGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs Common/Utils.hs \
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering Common/Lib/Map.hs Common/Lib/Set.hs
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering Common/Lib/*.hs Common/*.hs CASL/*.hs Modal/AS_Modal.hs \
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering Modal/Parse_AS.hs Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringHC = ghc
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringPERL = perl
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringHAPPY = happy -sga
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringGENRULES = utils/genRules
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering -i Common.DynamicUtils -i Common.ATerm.Lib
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringDRIFT = utils/DrIFT
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringINLINEAXIOMS = utils/outlineAxioms
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringHADDOCK = haddock
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringCPPP = cpp
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering# remove -fno-warn-orphans for older ghcs and add -ifgl
0a0215783159b9c3a3652b231df36dbff08e0ac5Lennart PoetteringHC_WARN = -Wall -fno-warn-orphans
0a0215783159b9c3a3652b231df36dbff08e0ac5Lennart PoetteringHC_FLAGS = \
aea040c87280c41cb99b64b55f7368661a2d9912Lennart Poettering $(HC_WARN) -fglasgow-exts -fno-monomorphism-restriction \
aea040c87280c41cb99b64b55f7368661a2d9912Lennart Poettering -fallow-overlapping-instances -fallow-undecidable-instances
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering# -ddump-minimal-imports
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering# flags also come in via ../uni/uni-package.conf
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering# but added it here in case of compilation without uni
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart PoetteringHC_INCLUDE = $(addprefix -i, $(INCLUDE_PATH))
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poetteringlogics = CASL HasCASL Isabelle Modal CoCASL COL CspCASL CASL_DL SPASS \
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poettering OWL_DL ConstraintCASL
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poettering
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart PoetteringTESTTARGETFILES += CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
b1b5922e2f4ee12e852fcc8d288a6afa90c10c5fLennart Poettering Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
b1b5922e2f4ee12e852fcc8d288a6afa90c10c5fLennart Poettering ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
b1b5922e2f4ee12e852fcc8d288a6afa90c10c5fLennart Poettering Common/ATerm/ATermDiffMain.hs Common/annos.hs Common/test_parser.hs
8aa203819fc7f2a840191f8d9d0e65566c0ce98eLennart Poettering
8aa203819fc7f2a840191f8d9d0e65566c0ce98eLennart PoetteringUNI_PACKAGE_CONF = $(wildcard ../uni/uni-package.conf)
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart Poetteringifneq ($(strip $(UNI_PACKAGE_CONF)),)
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart PoetteringHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart Poettering -package uni-server -DUNI_PACKAGE
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart Poettering
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart Poettering# some modules from uni for haddock
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart Poettering# if uni/server is included also HaXml sources are needed
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poetteringuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poettering ../uni/reactor ../uni/util ../uni/posixutil
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poettering
3d1137ac2b196cee345ac70fcdac675af142c8dcLennart Poetteringuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poettering $(wildcard ../uni/htk/haddock/*/*.hs)
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringTESTTARGETFILES += OWL_DL/ToHaskellAS.hs Taxonomy/taxonomyTool.hs
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poetteringendif
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poettering
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poettering### list of directories to run checks in
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringTESTDIRS += Common CASL HasCASL test
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poettering
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringPFE_TOOLDIR = $(wildcard ../programatica/tools)
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poetteringifneq ($(strip $(PFE_TOOLDIR)),)
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poettering base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
ac749874bbb66c0e7eff15ca35d1616d29b6f3c1Lennart Poettering base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
ac749874bbb66c0e7eff15ca35d1616d29b6f3c1Lennart Poettering base/transforms base/transforms/Deriving property \
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering property/syntax property/AST property/transforms \
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering property/TI property/defs property/parse2 property/parse2/Parser
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering
7d417f0f357c59cc1846aa832161e69a2328f699Lennart PoetteringPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poetteringpfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
7d417f0f357c59cc1846aa832161e69a2328f699Lennart PoetteringPFE_PATH = $(addprefix -i, $(PFE_PATHS))
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-SzmekPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-Szmekhappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-Szmek
036a4773ffa1152e4cabd27473450b8cc01e019bLennart PoetteringLEX_DIR = $(PFE_TOOLDIR)/base/parse2/Lexer
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poettering
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poetteringpatch: Haskell/Programatica.patch
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poettering patch -usNlp0 -d $(PFE_TOOLDIR) -i `pwd`/$< \
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering base/parse2/NumberNames.hs || exit 0
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering$(LEX_DIR)/HsLex.hs: $(LEX_DIR)Gen/HsLexerGen
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering echo "{-# OPTIONS -w #-}" > $@
f93b36affa5ac5710cd84bfb8ff0dafabe99fbf1Lennart Poettering $< >> $@
f93b36affa5ac5710cd84bfb8ff0dafabe99fbf1Lennart Poettering
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering $(LEX_DIR)/HsTokens.hs
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering $(HC) --make -O -package data \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering -i$(PFE_TOOLDIR)/base/tests/HbcLibraries \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering -i$(PFE_TOOLDIR)/base/lib \
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering -i$(LEX_DIR) -i$(LEX_DIR)Gen -i$(LEX_DIR)Spec \
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering $@.hs -o $@
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering strip $@
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poetteringlogics += Haskell
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poetteringderived_sources += Haskell/PreludeString.hs $(LEX_DIR)/HsLex.hs \
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering $(LEX_DIR)Gen/HsLexerGen
b9be39bfb4ed8e43a7c445831131e44be998eb32Lennart Poettering
c05482281c32bd408808b14c5fb03e706e65602dLennart Poetteringutils/appendHaskellPreludeString: utils/appendHaskellPreludeString.hs
c05482281c32bd408808b14c5fb03e706e65602dLennart Poettering $(HC) --make -o $@ $<
c05482281c32bd408808b14c5fb03e706e65602dLennart Poettering
e0ec8950935ce587935e299c22232fbf4a2664c9Lennart PoetteringAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
e0ec8950935ce587935e299c22232fbf4a2664c9Lennart Poettering Haskell/ProgramaticaPrelude.hs
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering## rule for appendHaskellPreludeString
73cb77549536deab85d8d1261b5381e87d80ab23Lennart PoetteringHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering $(APPENDPRELUDESTRING)
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering $(APPENDPRELUDESTRING) < $< > $@
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering chmod 444 $@
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering HsModule HsName HsLiteral HsIdent
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering#files in base/TI/
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart PoetteringOther_PFE_files = property/AST/HsPropStruct base/defs/PNT \
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering base/parse2/SourceNames base/syntax/SyntaxRec \
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering property/syntax/PropSyntaxStruct
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart PoetteringHaskell_files = $(addsuffix .hs, \
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering## rule for ATC generation
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart PoetteringHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering $(GENRULECALL) -i Haskell.BaseATC -o $@ $(Haskell_files)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poetteringhs_der_files += Haskell/TiATC.hs Haskell/TiDecorateATC.hs Haskell/TiPropATC.hs
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poettering
dbdee28bfadd6d8bd93cb34c85ce1fc325dd8120Lennart PoetteringTESTDIRS += ToHaskell Haskell/test
dbdee28bfadd6d8bd93cb34c85ce1fc325dd8120Lennart PoetteringTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poetteringendif
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart PoetteringTESTTARGETS = Test.o $(subst .hs,,$(TESTTARGETFILES))
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### Profiling (only for debugging)
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### Attention every module must be compiled with profiling or the linker
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### cannot link the various .o files properly. So after switching on
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering### Profiling, do an 'gmake real_clean; gmake'
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poettering### Comment in the following line for switching on profiling.
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poettering#HC_PROF = -prof -auto-all -fignore-asserts
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering
fa607802f332e06f4044c3eb38dbea41076c803dLennart PoetteringHC_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS) $(HC_PROF) \
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering -DCASLEXTENSIONS
a47e6701bfc45519a4e038daa52e9236e932f59aLennart Poettering
92ff080be100aff15f292e2631921131c610afe7Lennart Poettering####################################################################
b80c66ba9836456de5260e4a1b696ba25561f613Lennart Poettering## sources for hets
bd69054b0987b40a0df87d40772893f6f8a078daLennart Poettering
bd69054b0987b40a0df87d40772893f6f8a078daLennart Poetteringnon_sources = Common/LaTeX_maps.svmono.hs CspCASL/Main.hs \
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering Common/CaslLanguage.hs ./Test.hs Static/LogicStructured.hs
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringSOURCE_PATHS = $(CLEAN_PATH)
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringsources = hets.hs $(filter-out $(non_sources), \
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering $(wildcard $(addsuffix /[A-Z]*hs, $(SOURCE_PATHS))))
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering#endif
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poetteringobjects = $(sources:%.hs=%.o)
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poettering Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poettering HasCASL/As.hs ATC/DevGraph.hs \
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poettering Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs CASL_DL/AS_CASL_DL.hs\
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poettering ConstraintCASL/AS_ConstraintCASL.hs\
98cd2651988619bf606f0b27825440c4638a7e0bLennart Poettering $(gendrifted_files)
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poettering
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poetteringatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering Logic/Prover.hs #Common/Id.hs Common/Result.hs OWL_DL/AS.hs
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poetteringatc_der_files = $(foreach file, $(atc_files), \
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering ATC/$(basename $(basename $(notdir $(file)))).der.hs)
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart PoetteringATC/Id.der.hs: Common/Id.hs $(GENRULES)
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering $(GENRULECALL) -o $@ $<
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/Result.der.hs: Common/Result.hs $(GENRULES)
f131770b1465fbf423881f16ba85523a05f846feVeres Lajos $(GENRULECALL) -o $@ $<
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering $(GENRULECALL) -o $@ $<
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering $(GENRULECALL) -o $@ $<
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart PoetteringATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Grothendieck -o $@ $<
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart PoetteringATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(GENRULECALL) -i ATC.AS_Structured -o $@ $<
8514b67754c5ff7fa628929b3d27131010c21842Lennart Poettering
8514b67754c5ff7fa628929b3d27131010c21842Lennart PoetteringATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering $(GENRULECALL) -i ATC.AS_Architecture -o $@ $<
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart PoetteringATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $<
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart PoetteringATC/Prover.der.hs: Logic/Prover.hs $(GENRULES)
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering $(GENRULECALL) -x ProverTemplate -i ATC.AS_Annotation -o $@ $<
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering
c2d5b3c94d0c082ef29597fb230f8b88b124bab8Lennart PoetteringCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
264b8070715d2d19344c4991ace21147d998f56dLennart Poettering CASL/AS_Basic_CASL.der.hs
264b8070715d2d19344c4991ace21147d998f56dLennart Poettering
7e27f3121e5a10629302b5221eb21345f832724aLennart PoetteringHasCASL_files = Common/Prec.hs HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
7e27f3121e5a10629302b5221eb21345f832724aLennart Poettering
f81e67f79fa856aa2ecffad4d014772ce981745cLennart PoetteringIsabelle_files = Isabelle/IsaSign.hs
f81e67f79fa856aa2ecffad4d014772ce981745cLennart Poettering
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart PoetteringModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart PoetteringConstraintCASL_files = ConstraintCASL/AS_ConstraintCASL.hs
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart PoetteringCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs CoCASL/Sublogic.hs
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart PoetteringCOL_files = COL/AS_COL.hs COL/COLSign.hs
758c4d7a391c0e024737053c815bf3924653b8c5Lennart PoetteringCspCASL_files = CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart PoetteringCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poettering
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart PoetteringSPASS_files = SPASS/Sign.hs
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart PoetteringOWL_DL_files = OWL_DL/Sign.hs
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
25e773eeb4f853804e1bf0dbd9a184f23e9b2a97Kay Sievers
b857e042d621ffb98a652f33850b431fafbece43Lennart Poetteringgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poettering
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poetteringinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2CFOL.hs \
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering Comorphisms/Modal2CASL.hs Comorphisms/CASL2TopSort.hs \
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering Comorphisms/CASL2SubCFOL.hs CASL_DL/PredefinedSign.hs
706d97503df83d141d241b645d2c920d691b3d62Lennart Poettering
706d97503df83d141d241b645d2c920d691b3d62Lennart Poetteringgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs, $(inline_axiom_files))
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poettering
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poetteringderived_sources += $(drifted_files) Driver/Version.hs $(happy_files) \
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering $(inline_axiom_files) Modal/ModalSystems.hs $(hs_der_files) \
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering OWL_DL/ReadWrite.hs ConstraintCASL/AS_ConstraintCASL.hs
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering# sources that have {-# OPTIONS -cpp #-}
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmekcpp_sources = Common/DynamicUtils.hs \
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek Common/Lib/Set.hs Common/Lib/Map.hs ATC/Set.hs\
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek Isabelle/CreateTheories.hs \
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek SPASS/Logic_SPASS.hs GUI/Utils.hs Driver/WriteFn.hs \
202aea456dfb279cd34da7bfd1880f6ac0fd849fLennart Poettering Comorphisms/LogicList.hs Comorphisms/LogicGraph.hs \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering Comorphisms/KnownProvers.hs hets.hs $(happy_files) \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering hxt/Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering OMDoc/HetsInterface.hs
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering# unused, remove when header files are gone
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poetteringgenrule_header_files = $(wildcard ATC/*.header.hs)
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poetteringnondoc_sources = $(wildcard utils/DrIFT-src/*.hs) \
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poettering $(wildcard utils/DrIFT-src/*.lhs) \
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poettering $(wildcard utils/GenerateRules/*.hs) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(wildcard utils/InlineAxioms/*.hs) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(cpp_sources) $(pfe_sources) $(gen_inline_axiom_files) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(genrule_header_files) $(generated_rule_files) \
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersen $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hspp \
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersen Modal/GeneratePatterns.inline.hs \
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersen Comorphisms/test/showKP.hs \
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poettering CASL/CCC/FreeTypes.hs \
d61bb44a89fde3042c7c15ea4975239f7dcb0cb0Lennart Poettering Haskell/PreludeString.append.hs Haskell/ProgramaticaPrelude.hs \
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering $(patsubst %.hs, %.der.hs, $(drifted_files))
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringhspp_sources = $(patsubst %.hs, %.hspp, $(cpp_sources))
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering# this variable holds the modules that should be documented
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringdoc_sources = $(filter-out $(nondoc_sources), $(sources) $(hspp_sources))
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poetteringtax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poetteringtax_objects = $(patsubst %.hs, %.o, $(tax_sources))
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering####################################################################
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering### targets
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen.PHONY : all hets-opt hets-optimized clean o_clean clean_pretty \
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen real_clean bin_clean distclean \
823f4a91ebd8942a2c1ff31050dc55eaa60f6ffcLukas Nykryn check capa hacapa h2h h2hf clean_genRules genRules \
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poettering count doc apache_doc post_doc4apache fromKif \
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering derivedSources install_hets install release cgi patch ghci
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmekpatch:
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmek
151226ab4bf276d60d51864330a99f886b923697Zbigniew Jędrzejewski-Szmekhets-opt:
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart Poettering $(MAKE) distclean
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart Poettering $(MAKE) derivedSources
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering $(MAKE) clean
0f47ed0a052c0da743404f23ac3532aaabd23655Lennart Poettering $(MAKE) hets-optimized
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poetteringhets-optimized: $(derived_sources)
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poettering $(HC) --make -O -o hets hets.hs $(HC_OPTS)
b6b63571ae3eca1741d54172922961af972b8f20Lennart Poettering strip hets
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringhets-old: $(objects)
3f77a1b19f5a8ce33566f7f6e28e94c08ea30841Kay Sievers $(RM) $@
e2a69298819b58f008be61d314f8ab95ccaec427Lennart Poettering $(HC) -o hets $(HC_OPTS) $(objects)
e2a69298819b58f008be61d314f8ab95ccaec427Lennart Poettering
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart Poetteringcgi:
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart Poettering $(MAKE) distclean
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering $(MAKE) derivedSources
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering $(MAKE) real_clean
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering $(MAKE) hets.cgi
3c779fa59d1825d7db2a9516669d34ded7916913Lennart Poettering
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poetteringhets.cgi: $(sources) GUI/hets_cgi.hs
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering ghc --make GUI/hets_cgi.hs -o $@ $(HC_INCLUDE) \
3de03738fc970496d2d3da668c72767a48ccc41bLennart Poettering $(HC_FLAGS) $(PFE_FLAGS) -O
3de03738fc970496d2d3da668c72767a48ccc41bLennart Poettering strip hets.cgi
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart Poettering
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart Poettering###############################
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering### TAGS files for (x)emacs
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering# load them with "M-x" "visit-tags-table" from
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poettering# "HetCATS/hetcats.TAGS"
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poettering# use "M-." to search for a tag
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering# !!Beware this is somewhat instable, because it uses an absolute path!!
e107ed185ef08945102834234a05ec51bb438685Lennart Poetteringhetcats.TAGS: $(sources)
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers $(sources); mv TAGS $@; mv tags hetcats.tags
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering
f598ac3e28b729dd0b1d0a881df3e16465687a2bLennart Poetteringhets_maintainers.txt: $(sources)
11fb37f16ed99c1603c9d770b60ce4953b96a58dLennart Poettering @echo 'File : Maintainer' > $@
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering @echo -n Generating $@ " "
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering @$(PERL) -e \
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering 'foreach my $$f (@ARGV) { open I, "<$$f"; \
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering print "$$f :"; while (<I>) \
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering { if(m,^\s*Maintainer\s*:\s*(.*)$$,o) { \
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering print " $$1" ; last} }; print "\n"; close I; }' \
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering $(sources) >> $@
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering @echo " done"
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering###############################
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering### count lines of code
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poetteringcount: $(sources)
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering wc -l $(sources)
650264033f2f98f6319513958d94d59078654af8Lennart Poettering###############################
650264033f2f98f6319513958d94d59078654af8Lennart Poettering### Documentation via haddock
650264033f2f98f6319513958d94d59078654af8Lennart Poetteringdoc: docs/index.html
f8901862b2b030921b3d5aba4157044ceab16451Lennart Poettering
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering# generate haddock documentation with links to sources
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering# the interface treatment is stolen from uni/mk/suffix.mk
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poetteringdocs/index.html: $(doc_sources)
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering $(RM) -r docs
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering mkdir docs
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering cp -r ../uni/www docs/www || mkdir docs/www
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering HINTERFACES0=`find docs/www -name '*.haddock' \
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering -printf "--read-interface=www/%P,%p "` ; \
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering HINTERFACES=`echo $$HINTERFACES0 | \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(PERL) -pe 's+/[^/]*.haddock,+,+g'` ; \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(HADDOCK) -o docs -h -v -s ../%F $$HINTERFACES \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering -t 'Hets - the Heterogeneous Tool Set' \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering -p Hets-Haddock-Prologue.txt $(doc_sources)
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering# sources are not copied here
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poetteringapache_doc:
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering $(RM) -r docs
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering cvs up -d ; echo "CVS exited with: " $$?
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering $(MAKE) hets-opt
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering $(MAKE) doc
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering $(MAKE) post_doc4apache
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering $(MAKE) o_clean
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering $(MAKE) hets.cgi
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringpost_doc4apache:
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) -r a-docs
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering cp -r docs a-docs
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(PERL) utils/post_process_docs.pl a-docs \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering 'Common.Lib.Map.html:Common.Lib._Map.html'
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(PERL) utils/post_process_docs.pl a-docs \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering 'Data.Map.html:Data._Map.html'
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
0bee65f0622c4faa8ac8ae771cc0c8a936dfa284Lennart Poettering###############################
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### release management
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringderivedSources: $(derived_sources) $(hspp_sources)
ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602Lennart Poettering
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poetteringutils/DrIFT: $(DRIFT_deps)
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poettering (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
718db96199eb307751264e4163555662c9a389faLennart Poettering strip ../DrIFT)
718db96199eb307751264e4163555662c9a389faLennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringutils/genRules: $(GENERATERULES_deps)
718db96199eb307751264e4163555662c9a389faLennart Poettering (cd utils/GenerateRules; \
718db96199eb307751264e4163555662c9a389faLennart Poettering $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
718db96199eb307751264e4163555662c9a389faLennart Poettering GenerateRules.hs -o ../genRules && strip ../genRules)
966204e010ed432a1d7a0481d41a326d8ec7b0c8Lennart Poettering
966204e010ed432a1d7a0481d41a326d8ec7b0c8Lennart Poettering# "hssource" for ghc-5.04.2
94676f3e9352cbf1f72e0a512ee0d2ed83ff676dLennart Poettering$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
6fd4d0209827e5c3e52fa8c7144852f550f8f95cLennart Poettering $(HC) --make utils/InlineAxioms/InlineAxioms.hs $(HC_WARN) $(HC_PROF) \
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering -package hssource -i../.. -o $(INLINEAXIOMS)
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering strip $(INLINEAXIOMS)
7f79cd7109a60810140a045cc725291fc5515264Lennart Poettering
0aafd43d235982510d1c40564079f7bcec0c7c19Lennart Poetteringrelease:
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt $(RM) -r HetCATS
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository\
df5f6971e6e15b4632884916c71daa076c8bae96Lennart Poettering co -P HetCATS
df5f6971e6e15b4632884916c71daa076c8bae96Lennart Poettering $(RM) -r uni
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering if [ -d ../uni ] ; then ln -s ../uni uni ; fi
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart Poettering $(RM) -r programatica
6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71Zbigniew Jędrzejewski-Szmek if [ -d ../programatica ] ; then \
c3bb87dbab8b79bb9253407cb5b7f3e6fe8db395Lennart Poettering mkdir programatica; \
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt ln -s ../../programatica/tools programatica/tools ; fi
18d4e7c26e7806ac363d19989df7144d5058ce41Lennart Poettering (cd HetCATS; $(MAKE) derivedSources; $(MAKE) clean; \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering cp Makefile Makefile.orig; \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering cp ReleaseMakefile Makefile; \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering ./clean.sh; \
bdeeb6b543a2a2d0a494f17b85f1498859cdfc2fLennart Poettering find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering $(RM) clean.*)
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering tar cvf HetCATS.tar HetCATS
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart Poettering
6bb648a16ae4a682ad4784412af706d2e6a3e4daTom Gunderseninstall-hets:
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering chmod g+w hets
d0928791499734e202460d5c027b5d3e0d28e7abLennart Poettering cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
7212c6083a5577eabc96c35c9db4c19c113cae93Lennart Poettering cp -p version_nr $(INSTALLDIR)
1f140dd8b048c5f5599a886b8c4d20f3f1065774David Herrmann (cd $(INSTALLDIR); $(RM) hets; \
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart Poettering ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringinstall: hets-opt install-hets
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
dc17bcef197a0d5ee798cce59c40e4f5e85c24f6Lennart Poettering###################################
80caea6cc72ebd311a311b1527cc6b87201c13bfLennart Poettering### Common/LaTeX_maps.hs generation
ab9716c2489f9141ed13ec22dbb216b3e6fbd6b5Lennart Poettering
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poetteringutils/genItCorrections: $(GENITCORRECTIONS_deps)
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poettering $(HC) --make -o $@ $<
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poettering strip $@
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poettering
2ecfc64e59b5e4e96bed6f68bd36b612ef77a146Lennart Poetteringpretty/LaTeX_maps.hs: utils/words.pl utils/genItCorrections \
6a8b5fa4635ed858788fb10099ec9b62b3359a0aLennart Poettering pretty/words.input pretty/fonts.input pretty/width-table.tex.templ
69727e6dc69ae5d9b5ae3681723778a3faa354e9Lennart Poettering @echo -n "Generating pretty/LaTeX_maps.hs ... "
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering @(cd pretty >/dev/null; $(PERL) ../utils/words.pl > words.pl.log)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering @(cd pretty >/dev/null; ../utils/genItCorrections \
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering gen_it_characters gen_it_words >> LaTeX_maps.hs)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering @echo "ready"
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering @echo "please copy the file manually to Common"
0ad68f8743f3baaa7cd8ac7a2275459ae0f7b96aLennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering#############################
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### ATC DrIFT-rule generation
12179984a38fe74581333fbcdc11c822d81f505fLennart Poettering
0536ce5d0ceaf87f3e81faaff41d69ffeed2186fZbigniew Jędrzejewski-SzmekgenRules: $(generated_rule_files)
eb01ba5de14859d7a94835ab9299de40132d549aLennart Poettering
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart PoetteringCASL/ATC_CASL.der.hs: $(CASL_files) $(GENRULES)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart PoetteringHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
69af45035913e7119cffd94c542bd3039600e45dZbigniew Jędrzejewski-Szmek $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(HasCASL_files)
e8a7a315391a6a07897122725cd707f4e9ce63d7Lennart Poettering
461bd8e47cafacfcd38389e7558330bfb6e902adLennart PoetteringIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Isabelle_files)
461bd8e47cafacfcd38389e7558330bfb6e902adLennart Poettering
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart PoetteringModal/ATC_Modal.der.hs: $(Modal_files) $(GENRULES)
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Modal_files)
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poettering
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart PoetteringConstraintCASL/ATC_ConstraintCASL.der.hs: $(ConstraintCASL_files) $(GENRULES)
b454b11220e87add6d0f011695c7912b009c853dLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ConstraintCASL_files)
b454b11220e87add6d0f011695c7912b009c853dLennart Poettering
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart PoetteringCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmek
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-SzmekCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) $(GENRULES)
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmek $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
b8b4d3dddc7611dce3bf28004b0375d661120c62Lennart Poettering
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart PoetteringCOL/ATC_COL.der.hs: $(COL_files) $(GENRULES)
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(COL_files)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart PoetteringCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart PoetteringSPASS/ATC_SPASS.der.hs: $(SPASS_files) $(GENRULES)
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SPASS_files)
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poettering
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart PoetteringOWL_DL/ATC_OWL_DL.der.hs: $(OWL_DL_files) $(GENRULES)
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering $(GENRULECALL) -i ATC.AS_Annotation -i OWL_DL.ReadWrite \
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering -o $@ $(OWL_DL_files)
c144692179098c1861f2aeafc67689a74439cf4cLennart Poettering
c144692179098c1861f2aeafc67689a74439cf4cLennart Poetteringclean_genRules:
795607b22308f5b92073b012e43be1892fdd97c0Lennart Poettering $(RM) $(generated_rule_files) $(gendrifted_files) $(hspp_sources) \
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering Haskell/ATC_Haskell.der.hs
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering###############
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering### clean up
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart Poettering
e5ec62c56963d997edaffa904af5dc45dac23988Lennart Poetteringclean: bin_clean o_clean clean_pretty
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart Poettering
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poettering### removes *.hi and *.o in all include directories
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poetteringo_clean:
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt for p in $(CLEAN_PATH) ; do \
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poettering (cd $$p ; $(RM) *.hi *.o) ; done
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering### remove binaries
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringbin_clean:
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering $(RM) hets
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering $(RM) hets.cgi
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering $(RM) showKP
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poettering $(RM) $(TESTTARGETS)
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart Poettering
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poetteringclean_pretty:
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart Poettering $(RM) pretty/*.c.* pretty/*.h.* pretty/gen_it_* \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering pretty/generated_words.tex
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### additionally removes the library files
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay Sieversreal_clean: clean
e41814846c19a48f4490169d82e359e005c4db45Lennart Poettering
c0fe5db522b52f27e030655ce2c03e05cbbc1558Kay Sievers### additionally removes generated files not in the CVS tree
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poetteringdistclean: clean clean_genRules
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) $(derived_sources)
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poettering $(RM) Modal/GeneratePatterns.inline.hs utils/appendHaskellPreludeString
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) utils/genItCorrections pretty/LaTeX_maps.hs pretty/words.pl.log
3040728b6691ea2e9df3a2060e2d49a792bbaedaLennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
8ed206517c2be381324ac5832bf34cc14024270eLennart Poettering### test targets
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
e6c6e7afffa80ad74efdb1ddfa815294624f1608Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### interactive
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringghci: $(derived_sources)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC)i $(HC_OPTS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### christian's target
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering### CASL parser
e5ec62c56963d997edaffa904af5dc45dac23988Lennart PoetteringfromKif: CASL/fromKif
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### CASL parser
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringcapa: CASL/capa
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering### HasCASL parser
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringhacapa: HasCASL/hacapa
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering### Haskell analysis
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringhana: Haskell/hana
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering### Haskell to Isabelle-HOLCF translation
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringh2hf: Haskell/h2hf
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringHaskell/h2hf: Haskell/h2hf.hs Haskell/*.hs Isabelle/*.hs Common/*.hs \
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering Common/Lib/*.hs Comorphisms/*.hs
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) -O --make -o $@ $< $(HC_FLAGS) $(PFE_FLAGS)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering### HasCASL to Haskell translation
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poetteringh2h: Haskell/h2h
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering### test program to check the known provers
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringshowKP: Comorphisms/test/showKP.hs Comorphisms/*.hs Common/*.hs Logic/*.hs
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poettering $(HC) --make -o $@ $< $(HC_OPTS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart Poettering### run tests in other directories
c06bf414042cd1bf94e0af63e9e2a0c291bfc546Kay Sieverscheck: $(TESTTARGETS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt## Preparing the version of HetCATS
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringDriver/Version.hs: Driver/Version.in version_nr
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(PERL) utils/build_version.pl version_nr < Driver/Version.in > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering chmod 444 $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## two hardcoded dependencies for a correct generation of Version.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringDriver/Options.hs Driver/WriteFn.hs Driver/ReadFn.hs: Driver/Version.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringhets.hs: Driver/Version.hs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering####################################################################
f47ec8ebb3858553dec870e1c596e39525f46360Lennart Poettering## rules for DrIFT
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering.SUFFIXES:
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
038cf33420afa5f913fe5cbf3e7138574c33d97bZbigniew Jędrzejewski-Szmek%: %.hs $(sources) $(derived_sources)
038cf33420afa5f913fe5cbf3e7138574c33d97bZbigniew Jędrzejewski-Szmek $(HC) --make -o $@ $< $(HC_OPTS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering%.hs: %.y
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HAPPY) -o $@.tmp $<
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering echo "{-# OPTIONS -w #-}" > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering cat $@.tmp >> $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) $@.tmp
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering%.hs: %.der.hs $(DRIFT)
601d9d6fb394a780765e80581daab850623e9698Josh Triplett $(RM) $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering ($(DRIFT_ENV); export DERIVEPATH; $(DRIFT) $< > $@)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering chmod 444 $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering## rules for inlineAxioms
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering%.hs: %.inline.hs $(INLINEAXIOMS)
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(INLINEAXIOMS) $< > $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering chmod 444 $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt## rule for cpp and haddock
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering%.hspp: %.hs
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) -E -cpp -DUNI_PACKAGE -DCASLEXTENSIONS -DPROGRAMATICA -optP -P $<
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering## compiling rules for object and interface files
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering%.o %.hi: %.hs
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) -c $< $(HC_OPTS)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering%.o %.hi: %.lhs
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering $(HC) -c $< $(HC_OPTS)
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## compiling rules for dependencies
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering%.d : %.hs
8b8f259170e35b93e6c6d1757cb8b835bbdaa40cZbigniew Jędrzejewski-Szmek $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering%.d : %.lhs
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poettering## generate the inline file for the predefined CASL_DL sign
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering# Warning: Don't change the order of the depencies!!
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringCASL_DL/PredefinedSign.inline.hs: \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering CASL_DL/PredefinedSign.inline.hs.in utils/appendHaskellPreludeString \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering CASL_DL/PredDatatypes.het
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(RM) $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering utils/appendHaskellPreludeString CASL_DL/PredDatatypes.het \
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering < CASL_DL/PredefinedSign.inline.hs.in > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering echo " )" >> $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering chmod 444 $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringCASL_DL/PredDatatypes.het: utils/transformLibAsBasicSpec.pl \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering CASL_DL/Datatypes.het
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(PERL) $+ > $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering chmod 444 $@
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt# uses intransparently utils/outlineAxioms
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in \
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering utils/genTransMFormFunc.pl $(INLINEAXIOMS)
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering $(RM) $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering $(PERL) utils/genTransMFormFunc.pl $< $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering chmod 444 $@
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering