Makefile revision c0c2380bced8159ff0297ece14eba948bd236471
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# hetcats/Makefile
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# $Header$
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# Year: 2004
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# This Makefile will compile the new hetcats system and provides also
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# targets for test programs during implementation phases.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!! Note: This makefile is written for GNU make !!!
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# (gmake on solaris ; make on linux)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Some varibles, which control the compilation
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian MaederINCLUDE_PATH = ghc:hetcats
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian MaederCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm:fgl/Data/Graph:fgl/Data/Graph/Inductive:fgl/Data/Graph/Inductive/Aux:fgl/Data/Graph/Inductive/Monad:fgl/Data/Graph/Inductive/Query
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederCLEAN_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:$(PFE_DRIFTPATH)
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder## set ghc imports properly for your system
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# the 'replacing spaces' example was taken from the (GNU) Make info manual
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederempty:=
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederspace:= $(empty) $(empty)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# add PFE_DRIFTPATH to DERIVEPATH if needed
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# but name clashes currently prevent ATC generation in a single file
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederPFE_DRIFTPATH = $(subst $(space),:,$(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS)))
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder# override on commandline for other architectures
8410667510a76409aca9bb24ff0eda0420088274Christian MaederINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichDRIFT_deps = utils/DrIFT-src/*hs
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till MossakowskiINLINEAXIOMS_deps = utils/InlineAxioms/*hs
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHC = ghc
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederPERL = perl
d67a33b40578beef2e255a274f89bb9c34aaf056Christian MaederHAPPY = happy
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederDRIFT = $(DRIFT_ENV) utils/DrIFT
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederINLINEAXIOMS = utils/outlineAxioms
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederHADDOCK = haddock
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus LuettichCPPP = cpp
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederHC_FLAGS = -Wall -fglasgow-exts
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder# -ddump-minimal-imports
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder# flags also come in via ../uni/uni-package.conf
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski# but added it here in case of compilation without uni
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHC_INCLUDE = -i$(INCLUDE_PATH)
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich -package uni-server -DUNI_PACKAGE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederPFE_TOOLDIR = $(wildcard ../programatica/tools)
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder base/transforms base/transforms/Deriving hs2html \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder property/pfe property/syntax property/AST property/transforms \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder property/TI property/defs property/parse2 property/parse2/Parser \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder hs2stratego hs2stratego/AST
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederPFE_PATH = $(addprefix -i$(PFE_TOOLDIR)/, $(PFE_DIRS))
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederifneq ($(strip $(PFE_TOOLDIR)),)
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederendif
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#-fallow-undecidable-instances -fno-monomorphism-restriction
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich### Profiling (only for debugging)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Attention every module must be compiled with profiling or the linker
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### cannot link the various .o files properly. So after switching on
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich### Profiling, do an 'gmake real_clean; gmake'
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich### and comment out HC_PACKAGE variable definition above.
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich### Comment in the following line for switching on profiling.
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich#HC_PROF = -prof -auto-all
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederHCI_OPTS = $(HC_FLAGS) $(HC_INCLUDE) $(HC_PACKAGE) $(PFE_FLAGS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHC_OPTS = $(HCI_OPTS) $(HC_PROF)
77a65251ee036c6aaf09c2775315a4ee24259fbdJorina Freya GerkenDRIFT_OPTS = +RTS -K10m -RTS
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### list of directories to run checks in
4d7d7f9a423490731c73403c7806bd66967da946Christian MaederTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
97812b7ce9860bf514a8822a63503451795dbc65Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## sources for hetcats (semi - manually produced with a perl script)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),bin_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),d_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),real_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),distclean)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),genRules)
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettichifneq ($(MAKECMDGOALS),utils/genRules)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),hets-opt)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),hets-optimized)
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederifneq ($(MAKECMDGOALS),derivedSources)
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maederifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),release)
ce50fe187cdae64e75e510daafb78156280bdb91Christian Maederifneq ($(MAKECMDGOALS),check)
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettichifneq ($(MAKECMDGOALS),apache_doc)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),clean_genRules)
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettichifneq ($(MAKECMDGOALS),atctest2)
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maederifneq ($(MAKECMDGOALS),hetana)
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederifneq ($(MAKECMDGOALS),taxonomy)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinclude sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettichendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettichendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ce50fe187cdae64e75e510daafb78156280bdb91Christian Maederendif
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettichendif
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maederendif
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maederendif
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maederdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maeder Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder $(gendrifted_files)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettichgenrule_header_files = $(wildcard ATC/*.header.hs)
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maedergenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
c432483b64662e8db604a58758cd18ea7fa65659Christian Maeder Common/AS_Annotation.der.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder CASL/Sublogic.hs \
e8d782e6e650b71a2b0ee8461fd8d9fa31525591Christian Maeder CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
0310dabcd02da51f78f84e7a73d4c7b2dd3e8507Christian Maeder HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
c5e10ba19c9854112e5d29f491759e8e89f83652Christian Maeder HasCASL/Sublogic.hs \
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder Modal/AS_Modal.hs Modal/ModalSign.hs \
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski COL/AS_COL.hs COL/COLSign.hs \
b3dca469a9e267d6d71acfdeca7bf284d0581dc7Till Mossakowski CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs \
8659594bb40eb5f3da5439692f0908300947191eSonja Gröning Static/DevGraph.hs \
eeb419aa20c97b4af973e97ee6ae77a8eed29e15Till Mossakowski Isabelle/IsaSign.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maedergendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder ATC/AS_Structured.hs ATC/AS_Architecture.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder ATC/DevGraph.hs \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder CASL/ATC_CASL.hs \
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill Mossakowski HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski ATC/IsaSign.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersgenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus Luettichinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowskigen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
327a9b9bf44b6e33f71fee7526dc1c0035251591Christian Maederhappy_files = Haskell/Hatchet/HsParser.hs
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# this variable holds the modules that should be documented
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# the imported parsec library is not included!
a348b2eb46eb51f376c910d6dd4415fdab6713bdChristian Maedercpp_sources = ./Isabelle/Logic_Isabelle.hs \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder ./Proofs/Proofs.hs hets.hs ./CASL/CCC/FreeTypes.hs \
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder ./Comorphisms/LogicList.hs ./Comorphisms/LogicGraph.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
40a2368e1fa061488d0be6886368ab1c8391b97fChristian Maederdoc_sources = $(filter-out $(cpp_sources) ,$(sources)) \
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich $(patsubst %.hs, %.hspp, $(cpp_sources))
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder# some modules from uni for haddock
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder# if uni/server is included also HaXml sources are needed
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maederuni_sources = $(wildcard ../uni/davinci/haddock/*.hs) \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(wildcard ../uni/graphs/haddock/*.hs) \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder ../uni/htk/toplevel/HTk.hs \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(wildcard ../uni/htk/haddock/*/*.hs) \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(wildcard ../uni/events/haddock/*.hs) \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(wildcard ../uni/reactor/haddock/*.hs) \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(wildcard ../uni/util/haddock/*.hs) \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(wildcard ../uni/posixutil/haddock/*.hs)
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnketax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnketax_objects = $(patsubst %.hs,%.o,$(tax_sources))
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### targets
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder clean_genRules genRules
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#.PRECIOUS: sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersall: hets
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettichhets: $(sources)
ed9207cf24e96b0d6f59985822054ae28cb69b2eChristian Maeder $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederhets-opt: hetcats/Version.hs
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(MAKE) distclean
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder $(MAKE) derivedSources
b10267ae0a6523b73113fc2dee9ea628266fce60Christian Maeder $(MAKE) real_clean
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder $(MAKE) hets-optimized
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder
621799f077b3a1ed0f5a35382cfad0602c255b20Klaus Luettichhets-optimized:
05a8b581f98b928baca6dab60cd20277659ac760Christian Maeder $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
ed9207cf24e96b0d6f59985822054ae28cb69b2eChristian Maeder strip hets
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maederhets-old: $(objects)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder $(HC) -o hets $(HC_OPTS) $(objects)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettichhets.cgi: $(sources) GUI/hets_cgi.hs
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS) -O
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus Luettichhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hetcats-make sources_hetcats.mk
f29371d8bd5a232c974e736b06d0d8a655d320fbKlaus Luettich $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maedertaxonomy: Taxonomy/taxonomyTool.hs $(tax_sources)
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder $(HC) --make -o Taxonomy/taxonomyTool $< -ifgl $(HC_OPTS)
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### TAGS files for (x)emacs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# load them with "M-x" "visit-tags-table" from
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# "HetCATS/hetcats/hetcats.TAGS"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# use "M-." to search for a tag
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!Beware this is somewhat instable, because it uses an absolute path!!
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetcats.TAGS: $(sources)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(sources); mv TAGS $@; mv tags hetcats.tags
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############################
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich### count lines of code
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettichcount: $(sources)
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich wc -l $(sources)
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Documentation via haddock
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederdoc: docs/index.html
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder# generate haddock documentation with links to sources
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederdocs/index.html: $(doc_sources)
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder $(HADDOCK) $(doc_sources) $(uni_sources) -o docs -h -v \
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder -i docs/base.haddock -i docs/parsec.haddock -s ../ \
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich -t 'hets -- a heterogenous Specification (CASL) tool set'
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder# sources are not copied here
ef67402074be14deb95e4ff564737d5593144130Klaus Luettichapache_doc:
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettich $(RM) docs/*.*
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettich cvs up -d
e7e1ab2ac3f1fded8611bb92ae00e8f3b8c693fbKlaus Luettich $(MAKE) hets-opt
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich $(MAKE) doc
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich $(MAKE) post_doc4apache
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettichpost_doc4apache:
725a68ec81cba9b8aa8647bebfb5baa449803e7eKlaus Luettich $(PERL) utils/post_process_docs.pl docs \
d579f5b263e6c73d466c265f2fbfd45b0e69ca64Klaus Luettich 'Common.Lib.Map.html:Common.Lib._Map.html'
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder cp docs/*.* a-docs/
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder###############################
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder### release management
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
438f9bd974c8e668203e636b0f2bc80c589af043Klaus LuettichderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files) Modal/ModalSystems.hs
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichutils/DrIFT: $(DRIFT_deps)
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich strip ../DrIFT)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichutils/genRules: $(GENERATERULES_deps)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder (cd utils/GenerateRules; \
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich strip ../genRules)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(HC_OPTS) -o $(INLINEAXIOMS)
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder strip $(INLINEAXIOMS)
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederrelease:
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(RM) -r HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(RM) -r uni
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder ln -s ../uni uni
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
94d3aa05411444596b44ede4531f05dd7ac20fdfChristian Maeder find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
dc929508a3bd3c666e9b0182d56898fcafb5d66fChristian Maeder $(RM) clean.*; mv Makefile Makefile.orig; \
dc929508a3bd3c666e9b0182d56898fcafb5d66fChristian Maeder mv ReleaseMakefile Makefile)
94d3aa05411444596b44ede4531f05dd7ac20fdfChristian Maeder tar cvf HetCATS.tar HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maederinstall-hets:
ddc9315cc0b1f5dd3d8f99a77f1c75064db33b48Christian Maeder chmod g+w hets
ddc9315cc0b1f5dd3d8f99a77f1c75064db33b48Christian Maeder cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder cp -p version_nr $(INSTALLDIR)
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder (cd $(INSTALLDIR); $(RM) hets; \
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maederinstall: hets-opt install-hets
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettich#############################
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettich### ATC DrIFT-rule generation
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaedergenRules: $(generated_rule_files) utils/genRules
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder$(generated_rule_files): $(genrule_files) utils/genRules $(genrule_header_files) Makefile
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettich $(MAKE) clean_genRules
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(foreach file,$(atc_files),$(gen_atc_files))
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder utils/genRules -r $(rule) -o CASL $(casl_files)
d17834302eaa101395b4b806cd73670fd864445fChristian Maeder utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder utils/genRules -r $(rule) -o Modal $(modal_files)
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski utils/genRules -r $(rule) -o COL $(col_files)
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederrule:= ShATermConvertible
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettichgen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers else \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers utils/genRules -r $(rule) -o ATC $(file); \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers fi ;
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/%,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckerscasl_files := $(filter CASL/% ,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckershascasl_files := $(filter HasCASL/% ,$(genrule_files))
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maedermodal_files := $(filter Modal/% ,$(genrule_files))
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowskicocasl_files := $(filter CoCASL/% ,$(genrule_files))
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowskicol_files := $(filter COL/% ,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckerscspcasl_files := $(filter CspCASL/% ,$(genrule_files))
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#haskell_files := $(filter $(PFE_TOOLDIR)/%,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettichclean_genRules:
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettich $(RM) $(generated_rule_files)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### clean up
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### removes *.hi and *.o in all include directories
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maederclean: bin_clean
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder### remove binaries
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maederbin_clean:
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hets
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(RM) test_parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) CASL/capa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) HasCASL/hacapa
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(RM) Haskell/hapa
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski $(RM) Haskell/hana
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(RM) Haskell/wrap
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder $(RM) Syntax/hetpa
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder $(RM) Static/hetana
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder $(RM) GUI/hetdg
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder $(RM) hetpa
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder $(RM) hetana
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder $(RM) hetdg
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder $(RM) atctest2
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder $(RM) atctest
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder $(RM) Common/annos
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder $(RM) Haskell/Hatchet/hatch
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder $(RM) ToHaskell/translateAna
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder $(RM) Taxonomy/taxonomyTool
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### additonally removes *.d (dependency files) in every include directory
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### also delete *.d.bak (dependency file backups)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederd_clean: clean
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder (cd $$p ; $(RM) *.d *.d.bak) ; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder### remove files also in own libraries
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederlib_clean:
75cda7e5b890d050d560d970af244a183f28328fKlaus Luettich for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder (cd $$p ; $(RM) *.hi *.d *.o) ; done
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### additionally removes the files that define the sources-variable
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederreal_clean: bin_clean lib_clean clean
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hetcats-make sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### additionally removes files not in CVS tree
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersdistclean: real_clean clean_genRules d_clean
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hetcats/Version.hs
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(RM) $(drifted_file) $(inline_axiom_files)
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
ebde431fb3ce536c8bc397fcfc610ac6f92e3be4Christian Maeder# $(RM) $(happy_files)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### test targets
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### a parser to test annotation parser and Id parsers
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian Maedertest_parser: Common/test_parser
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian Maeder
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian MaederCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### interactive
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederghci:
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC)i $(HCI_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### christian's target
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### CASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedercapa: CASL/capa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
481d4fe351800ab00fd323db8974559431227305Christian MaederCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HasCASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhacapa: HasCASL/hacapa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
481d4fe351800ab00fd323db8974559431227305Christian MaederHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Haskell parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhapa: Haskell/hapa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
327a9b9bf44b6e33f71fee7526dc1c0035251591Christian MaederHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski### Haskell analysis
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowskihana: Haskell/hana
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till MossakowskiHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs $(happy_files)
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski $(RM) $@
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski $(HC) --make -o $@ $< $(HC_OPTS)
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HetCASL parser
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maederhetpa: Syntax/hetpa.hs Syntax/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HetCASL parser
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maederhetana: Static/hetana.hs Static/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers### ATC test system
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersatctest: ATC/ATCTest.hs ATC/*.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(RM) $@
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(HC) --make -o $@ $< $(HC_OPTS)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maederatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich $(RM) $@
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich### ATerm.Lib test system
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettichatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich $(RM) $@
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HetCASL with dev graph
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetdg: GUI/hetdg.hs $(drifted_files) *.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### run tests in other directories
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedercheck: hetcats
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Preparing the version of HetCATS
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetcats/Version.hs: hetcats/Version.in version_nr
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## two hardcoded dependencies for a correct generation of Version.hs
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettichhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
efa8f9db01f64e2c719c201e4037743caefae045Klaus Luettichhets.hs: hetcats/Version.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## rules for DrIFT
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder%.hs: %.ly
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(HAPPY) $<
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder%.hs: %.der.hs utils/DrIFT
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(DRIFT) $(DRIFT_OPTS) $< > $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski## rules for inlineAxioms
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder%.hs: %.inline.hs $(INLINEAXIOMS)
bf76f4fcf07abaebea587df8135de8356c26a363Till Mossakowski $(INLINEAXIOMS) $< > $@
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich## rule for cpp and haddock
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich%.hspp: %.hs
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## compiling rules for object and interface files
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.o %.hi: %.hs
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich $(HC) -c $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.o %.hi: %.lhs
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich $(HC) -c $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## compiling rules for dependencies
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.d : %.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.d : %.lhs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder
438f9bd974c8e668203e636b0f2bc80c589af043Klaus Luettich## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
438f9bd974c8e668203e636b0f2bc80c589af043Klaus LuettichModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl $(INLINEAXIOMS)
438f9bd974c8e668203e636b0f2bc80c589af043Klaus Luettich $(PERL) utils/genTransMFormFunc.pl $< $@
438f9bd974c8e668203e636b0f2bc80c589af043Klaus Luettich
438f9bd974c8e668203e636b0f2bc80c589af043Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Setting a global search path (for dependency files)
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),clean)
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederifneq ($(MAKECMDGOALS),bin_clean)
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederifneq ($(MAKECMDGOALS),lib_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),d_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),real_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),distclean)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),genRules)
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettichifneq ($(MAKECMDGOALS),utils/genRules)
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederifneq ($(MAKECMDGOALS),derivedSources)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),release)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),clean_genRules)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifeq ($(MAKECMDGOALS),hets-old)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## include every .d file in INCLUDE_PATH
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder-include $(objects:.o=.d)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder
f29371d8bd5a232c974e736b06d0d8a655d320fbKlaus Luettichsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
f29371d8bd5a232c974e736b06d0d8a655d320fbKlaus Luettich $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettichendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
c0cefaa0e46c95bfb1afee0efd6dd13631cf1affChristian Maederendif
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maederendif