Makefile revision 5452
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# hetcats/Makefile
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# $Header$
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# Year: 2004
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# This Makefile will compile the new hetcats system and provides also
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# targets for test programs during implementation phases.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!! Note: This makefile is written for GNU make !!!
d23ecf32e56cce69bc42eb5c96dddf7909c623abjelmd# (gmake on solaris ; make on linux)
d23ecf32e56cce69bc42eb5c96dddf7909c623abjelmd
d23ecf32e56cce69bc42eb5c96dddf7909c623abjelmd####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Some varibles, which control the compilation
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederINCLUDE_PATH = ghc:hetcats
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerCLEAN_PATH = utils/DrIFT-src:utils/GenerateRules:Common:Logic:CASL:CASL/CCC:Syntax:Static:GUI:HasCASL:Haskell:Modal:CoCASL:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:Isabelle:$(INCLUDE_PATH):Haskell/Hatchet
7d0ee72ee91ec305408688b969c43f07b9667c80Christian Maeder## set ghc imports properly for your system
456238178f89e5a3de2988ee6c8af924297d52d9Christian MaederLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
0e5b095a19790411e5352fa7cf57cb0388e70472Christian MaederDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
d23ecf32e56cce69bc42eb5c96dddf7909c623abjelmd# override on commandline for other architectures
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian MaederINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederDRIFT_deps = utils/DrIFT-src/*hs
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerINLINEAXIOMS_deps = utils/InlineAxioms/*hs
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHC = ghc
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerPERL = perl
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHAPPY = happy
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerDRIFT = $(DRIFT_ENV) utils/DrIFT
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerINLINEAXIOMS = utils/outlineAxioms
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHADDOCK = haddock
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHC_FLAGS = -Wall
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# -fglasgow-exts comes in via ../uni/uni-package.conf
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen KuksaHC_INCLUDE = -i$(INCLUDE_PATH)
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen KuksaHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa -package uni-server
ab4256496e72886018b78571057331f373da6883Eugen Kuksa
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa### Profiling and Warnings (only for debugging)
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa### Attention every module must be compiled with profiling or the linker
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa### cannot link the various .o files properly. So after switching on
a389e88e0acb83d8489bdc5e55bc5522b152bbecEugen Kuksa### Profiling, do an 'gmake clean; gmake'
a389e88e0acb83d8489bdc5e55bc5522b152bbecEugen Kuksa### If you need Profiling comment out the following line
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa#HC_PROF = -prof -auto-all
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHC_OPTS = $(HCI_OPTS) $(HC_PROF)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerDRIFT_OPTS = +RTS -K10m -RTS
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
60e6795dd310e10194e12bb660575aadf941328bEugen Kuksa### list of directories to run checks in
60e6795dd310e10194e12bb660575aadf941328bEugen KuksaTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
60e6795dd310e10194e12bb660575aadf941328bEugen Kuksa
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner####################################################################
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner## sources for hetcats (semi - manually produced with a perl script)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerifneq ($(MAKECMDGOALS),clean)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerifneq ($(MAKECMDGOALS),bin_clean)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerifneq ($(MAKECMDGOALS),d_clean)
60e6795dd310e10194e12bb660575aadf941328bEugen Kuksaifneq ($(MAKECMDGOALS),real_clean)
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maederifneq ($(MAKECMDGOALS),distclean)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederifneq ($(MAKECMDGOALS),genRules)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederifneq ($(MAKECMDGOALS),utils/genRules)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederifneq ($(MAKECMDGOALS),hets-opt)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederifneq ($(MAKECMDGOALS),hets-optimized)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederifneq ($(MAKECMDGOALS),derivedSources)
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichifneq ($(MAKECMDGOALS),utils/outlineAxioms)
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maederifneq ($(MAKECMDGOALS),release)
ad270004874ce1d0697fb30d7309f180553bb315Christian Maederifneq ($(MAKECMDGOALS),check)
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichifneq ($(MAKECMDGOALS),apache_doc)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederifneq ($(MAKECMDGOALS),clean_genRules)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederifneq ($(MAKECMDGOALS),atctest2)
1a38107941725211e7c3f051f7a8f5e12199f03acmaederifneq ($(MAKECMDGOALS),hetana)
ce5b44277ea06257548ff625e928cb1290c6d297cmaederinclude sources_hetcats.mk
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maederendif
fa8878c6145f652f615a04a5e9c15a1d1327bc92cmaederendif
ce5b44277ea06257548ff625e928cb1290c6d297cmaederendif
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederendif
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
825a1e4ca1e768de4b4883c65a6cb1dce6aa0002Christian Maeder
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maederdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder $(gendrifted_files)
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maedergenrule_header_files = $(wildcard ATC/*.header.hs)
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian Maedergenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian Maeder Common/AS_Annotation.der.hs \
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa CASL/Sublogic.hs \
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
6a2dad705deefd1b7a7e09b84fd2d75f2213be47Christian Maeder HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder Modal/AS_Modal.hs Modal/ModalSign.hs \
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
014dc30f64ec25e4790cca987d4d1e6635430510Christian Maeder CspCASL/AS_CSP_CASL.hs \
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich Static/DevGraph.hs \
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maeder Haskell/Hatchet/AnnotatedHsSyn.hs \
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder Haskell/Hatchet/MultiModuleBasics.hs \
feca1d35123d8c31aee238c9ce79947b0bf65494Christian Maeder Haskell/Hatchet/HsSyn.hs \
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder Haskell/Hatchet/Representation.hs\
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
f5c0884429b01e74c6e658ded921fb2e16dfb478Christian Maeder Haskell/Hatchet/Env.hs \
db675e8302ddb0d6528088ce68f5e98a00e890e3Christian Maeder Isabelle/IsaSign.hs
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maedergendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder ATC/AS_Structured.hs ATC/AS_Architecture.hs \
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner ATC/DevGraph.hs \
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs ATC/IsaSign.hs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maedergenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederinline_axiom_files = Comorphisms/CASL2PCFOL.hs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maedergen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerhappy_files = Haskell/Hatchet/HsParser.hs
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder# this variable holds the modules that should be documented
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder# the imported parsec library is not included!
dc679edd4ca027663212afdf00926ae2ce19b555Christian Maederdoc_sources = $(filter-out ./Isabelle/IsaSign.hs ,$(sources))
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian Maeder####################################################################
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder### targets
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
c72c1e75a969ff4c336e77481c2a8e42603f13eeChristian Maeder.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
c72c1e75a969ff4c336e77481c2a8e42603f13eeChristian Maeder clean_genRules genRules
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder#.PRECIOUS: sources_hetcats.mk
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederall: hets
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maederhets: $(sources)
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maederhets-opt: hetcats/Version.hs
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(MAKE) distclean
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(MAKE) derivedSources
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner $(MAKE) real_clean
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(MAKE) hets-optimized
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederhets-optimized:
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner strip hets
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederhets-old: $(objects)
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(RM) $@
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(HC) -o hets $(HC_OPTS) $(objects)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
8037b7d21021a94b69e4a092f5c98e491333d939cmaederhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files)
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner $(RM) hetcats-make sources_hetcats.mk
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner###############################
e6d5dbbc3308f05197868806e0b860f4f53875f1Christian Maeder### TAGS files for (x)emacs
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder# load them with "M-x" "visit-tags-table" from
e4f4d096e5e6d60dd91c746d0e833d0ac7a29c50Christian Maeder# "HetCATS/hetcats/hetcats.TAGS"
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner# use "M-." to search for a tag
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder# !!Beware this is somewhat instable, because it uses an absolute path!!
961087225d1d2b9534152a346d1a3755ed952fcdJens Elknerhetcats.TAGS: $(sources)
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner $(sources); mv TAGS $@; mv tags hetcats.tags
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Documentation via haddock
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederdoc: docs/index.html
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder# index for prelude is missing
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maederdocs/index.html: $(doc_sources)
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder $(HADDOCK) $(doc_sources) -o docs -h \
328a85c807f2a95c3f147d10b05927eaf862ebebChristian Maeder -i docs/base.haddock \
8fb127028cb7dd361e348a3252e33487f73428bcJonathan von Schroeder -t 'hets -- a heterogenous Specification (CASL) tool set'
06dd4e7c29f33f6122a910719e3bd9062256e397Andy Gimblett
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maederapache_doc:
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder $(RM) docs/*.*
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder cvs up -d
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa $(MAKE) hets-opt
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder $(MAKE) doc
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(MAKE) post_doc4apache
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maederpost_doc4apache:
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(PERL) utils/post_process_docs.pl docs \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 'Common.Lib.Map.html:Common.Lib._Map.html'
140287998aa8592c9c403bd9e308e447ba92ae11Christian Maeder cp docs/*.* a-docs/
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder###############################
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder### release management
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix ReckersderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files)
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederutils/DrIFT: $(DRIFT_deps)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder strip ../DrIFT)
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maederutils/genRules: $(GENERATERULES_deps)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder (cd utils/GenerateRules; \
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder strip ../genRules)
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder
3554301a34639efb6c9961a8571775d0061284c9Christian Maederutils/outlineAxioms: $(INLINEAXIOMS_deps)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder $(HC_OPTS) -o utils/outlineAxioms
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder strip utils/outlineAxioms
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maederrelease:
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder $(RM) -r HetCATS
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder $(RM) -r uni
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder ln -s ../uni uni
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder $(RM) clean.*; mv Makefile Makefile.orig; \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder mv ReleaseMakefile Makefile)
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder tar cvf HetCATS.tar HetCATS
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maederinstall-hets:
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder chmod g+w hets
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
697e63e30aa3c309a1ef1f9357745111f8dfc5a9Christian Maeder cp -p version_nr $(INSTALLDIR)
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder (cd $(INSTALLDIR); $(RM) hets; \
697e63e30aa3c309a1ef1f9357745111f8dfc5a9Christian Maeder ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maederinstall: hets-opt install-hets
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder#############################
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder### ATC DrIFT-rule generation
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaedergenRules: $(generated_rule_files) utils/genRules
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(MAKE) clean_genRules
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder $(foreach file,$(atc_files),$(gen_atc_files))
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder utils/genRules -r $(rule) -o CASL $(casl_files)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder utils/genRules -r $(rule) -o HasCASL -h ATC/HasCASL.header.hs \
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder $(hascasl_files)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder utils/genRules -r $(rule) -o Modal $(modal_files)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(haskell_files)
ac34194a668399bb8ef238da77c3a09e93fb253bChristian Maeder
4fc9de0da898448f1d3597ebbd8c04a066464c21Christian Maederrule = ShATermConvertible
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maedergen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder else \
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder utils/genRules -r $(rule) -o ATC $(file); \
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder fi ;
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maederatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% CspCASL/% Haskell/% ,$(genrule_files))
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maedercasl_files := $(filter CASL/% ,$(genrule_files))
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maederhascasl_files := $(filter HasCASL/% ,$(genrule_files))
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maedermodal_files := $(filter Modal/% ,$(genrule_files))
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maedercocasl_files := $(filter CoCASL/% ,$(genrule_files))
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maedercspcasl_files := $(filter CspCASL/% ,$(genrule_files))
986d3f255182539098a97ac86da9eeee5b7a72e3Christian Maederhaskell_files := $(filter Haskell/%,$(genrule_files))
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maederclean_genRules:
01e278bdd7dce13b9303ed3d79683d83c89d09f9Liam O'Reilly $(RM) $(generated_rule_files)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
5ad5dffe06818a13e1632b1119fbca7881085fc1Dominik Luecke###############
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder### clean up
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder### removes *.hi and *.o in all include directories
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescuclean: bin_clean
31d6d9286988dc31639d105841296759aeb743e0Jonathan von Schroeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu (cd $$p ; $(RM) *.hi *.o) ; done
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder### remove binaries
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroederbin_clean:
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder $(RM) hets
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke $(RM) test_parser
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke $(RM) CASL/capa
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) HasCASL/hacapa
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder $(RM) Haskell/hapa
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder $(RM) Haskell/wrap
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder $(RM) Syntax/hetpa
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder $(RM) Static/hetana
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder $(RM) Static/hetana
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder $(RM) GUI/hetdg
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski $(RM) hetpa
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder $(RM) hetana
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) hetdg
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder $(RM) atctest2
0b349288edfa50fdf38fda1a14e1562d03f92574Christian Maeder $(RM) atctest
5afff1a0f62394414c33b06141175b3ab0b117a5Christian Maeder $(RM) Common/annos
5afff1a0f62394414c33b06141175b3ab0b117a5Christian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder### additonally removes *.d (dependency files) in every include directory
1b3a2f98d1cd01fc9e0591f69507e20526727559Dominik Luecke### also delete *.d.bak (dependency file backups)
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettichd_clean: clean
e39a1626bee36d6ad13a2c0014a80ef179a65bcbChristian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
f8e1a1eca871a26a535a4ee7d51902ba94b1db1eChristian Maeder (cd $$p ; $(RM) *.d *.d.bak) ; done
ea3bff3e547a1ac714d4db39c5efef95e02b2e7dChristian Maeder
dd6f22b9dcff2695181b86372e4df03d5b96e92dKristina Sojakova### remove files also in own libraries
005e0f0c6b0cc898003b03801158c208f3071fc5Kristina Sojakovalib_clean: clean
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder (cd $$p ; $(RM) *.hi *.d *.o) ; done
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder### additionally removes the files that define the sources-variable
76b9b2974795a6fb31f242fd032de3ff66df6204Christian Maederreal_clean: bin_clean lib_clean
74a992bd019d3319df2f21f9d358ff06cafb5f7eMihaela Turcu $(RM) hetcats-make sources_hetcats.mk
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder
878a5ecd6acf973907e25e5be6e4a792ea19a05eEwaryst Schulz### additionally removes files not in CVS tree
878a5ecd6acf973907e25e5be6e4a792ea19a05eEwaryst Schulzdistclean: real_clean clean_genRules d_clean
c2e192ace9ef7cfb0e59563f1b24477b2b65cff3Dominik Dietrich $(RM) hetcats/Version.hs
6b75c206b317eb30a08d88a8f27e0295ffeb1546Christian Maeder $(RM) $(drifted_files)
9a4b469ca0a7f44a598e551a973c75195207db58Eugen Kuksa $(RM) utils/DrIFT utils/genRules
48aa0645e25883048369afc02aac3f49b14a50daChristian Maeder# $(RM) $(happy_files)
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder####################################################################
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder### test targets
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder####################################################################
3a9fce5398f4621558ca220c66c87cee59adc258Jonathan von Schroeder
b5da047a9a875dec3f968b6c0df96af326f90fa9Alexis Tsogias### a parser to test annotation parser and Id parsers
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulztest_parser: Common/test_parser
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz
a604cbad8e2202147b5c6bb9f2e06ae61162d654Felix Gabriel ManceCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder $(RM) $@
80875f917d741946a39d0ec0b5721e46ba609823Till Mossakowski $(HC) --make -o $@ $< $(HC_OPTS)
7834a982096d93301a4626f444dd9ea5f9fe17eaChristian Maeder
1f9274bb2aa44ea236327814dce99946be52e348Felix Gabriel Mance### interactive
80875f917d741946a39d0ec0b5721e46ba609823Till Mossakowskighci:
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder $(HC)i $(HCI_OPTS)
8fd6a3f938496a502bc62f1923ff7c15f59acf91Christian Maeder
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian Maeder### christian's target
d62661e54e2662d53b583ae48609f5037701078dcmaeder### CASL parser
9f226cec9f978edaba67aee4c4e04e3d3b994b87Daniel Calegaricapa: CASL/capa
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen KuksaCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder $(RM) $@
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
18c1d987ce5818ecf0bfc8af3f43aed2ce86e1eaChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder### HasCASL parser
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Lueckehacapa: HasCASL/hacapa
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke
05a206508bc898f87fe6ab6e069814df3c29d303Dominik LueckeHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
b891e9ad7dd358a7df24b59bf00d51515078497cChristian Maeder $(RM) $@
b891e9ad7dd358a7df24b59bf00d51515078497cChristian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5ad5dffe06818a13e1632b1119fbca7881085fc1Dominik Luecke
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder### Haskell parser
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroederhapa: Haskell/hapa
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai CodescuHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu $(RM) $@
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu $(HC) --make -o $@ $< $(HC_OPTS)
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder### HetCASL parser
1c9a63e4f7c6879f51fe0f32154a9116f2c126dbChristian Maederhetpa: Syntax/hetpa.hs Syntax/*.hs
6fe9628743562678acf97d6730ebcfee5e9e50c2Christian Maeder $(RM) $@
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
b891e9ad7dd358a7df24b59bf00d51515078497cChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder### HetCASL parser
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederhetana: Static/hetana.hs Static/*.hs
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(RM) $@
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder### ATC test system
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederatctest: ATC/ATCTest.hs ATC/*.hs
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder $(RM) $@
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder $(HC) --make -o $@ $< $(HC_OPTS)
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
b5a6fff5181dad64c4d31e8e4fbb82d4f79813d8Till Mossakowskiatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
b5a6fff5181dad64c4d31e8e4fbb82d4f79813d8Till Mossakowski $(RM) $@
b5a6fff5181dad64c4d31e8e4fbb82d4f79813d8Till Mossakowski $(HC) --make -o $@ $< $(HC_OPTS)
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski### ATerm.Lib test system
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowskiatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(RM) $@
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder### HetCASL with dev graph
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederhetdg: GUI/hetdg.hs $(drifted_files) *.hs
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder $(RM) $@
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder### run tests in other directories
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maedercheck: hetcats
e96a0bf4040fd789339958c01f145c5057d26db6René Wagner for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich####################################################################
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich## Preparing the version of HetCATS
e39a1626bee36d6ad13a2c0014a80ef179a65bcbChristian Maederhetcats/Version.hs: hetcats/Version.in version_nr
7868299829c1318b888152243ec2cea4f598b568Christian Maeder $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
e39a1626bee36d6ad13a2c0014a80ef179a65bcbChristian Maeder
f8e1a1eca871a26a535a4ee7d51902ba94b1db1eChristian Maeder## two hardcoded dependencies for a correct generation of Version.hs
5199920ca3b698b2149c8cb9d2ce2e98a280ff9dChristian Maederhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
f8e1a1eca871a26a535a4ee7d51902ba94b1db1eChristian Maederhets.hs: hetcats/Version.hs
ea06324815fff0b73f7524f11af3672c2389f7ecChristian Maeder####################################################################
ea06324815fff0b73f7524f11af3672c2389f7ecChristian Maeder## rules for DrIFT
ea06324815fff0b73f7524f11af3672c2389f7ecChristian Maeder
9f85afecbd79b3df5a0bb17bd28cd0b288dc3213Kristina Sojakova%.hs: %.ly
48aa0645e25883048369afc02aac3f49b14a50daChristian Maeder $(HAPPY) $<
9f85afecbd79b3df5a0bb17bd28cd0b288dc3213Kristina Sojakova
79834070d6d3c63a098e570b12fa3405c607dc70Kristina Sojakova%.hs: %.der.hs utils/DrIFT
79834070d6d3c63a098e570b12fa3405c607dc70Kristina Sojakova $(DRIFT) $(DRIFT_OPTS) $< > $@
79834070d6d3c63a098e570b12fa3405c607dc70Kristina Sojakova
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder## rules for inlineAxioms
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder%.hs: %.inline.hs utils/outlineAxioms
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder $(INLINEAXIOMS) $< > $@
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder## compiling rules for object and interface files
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder%.o %.hi: %.hs
624e6701e0deb7ac6c03c0cba0190fbc5033cf93Ewaryst Schulz $(HC) -c $< $(HC_OPTS)
624e6701e0deb7ac6c03c0cba0190fbc5033cf93Ewaryst Schulz
c2e192ace9ef7cfb0e59563f1b24477b2b65cff3Dominik Dietrich%.o %.hi: %.lhs
7165a916d2fa1bf87c4741ec63b253413eebbf69Karl Luc $(HC) -c $< $(HC_OPTS)
7165a916d2fa1bf87c4741ec63b253413eebbf69Karl Luc
7165a916d2fa1bf87c4741ec63b253413eebbf69Karl Luc## compiling rules for dependencies
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder%.d : %.hs
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder%.d : %.lhs
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder
b5da047a9a875dec3f968b6c0df96af326f90fa9Alexis Tsogias####################################################################
fc09e0a6af734edbd944dd8082bb51985c233b43Alexis Tsogias## Setting a global search path (for dependency files)
b5da047a9a875dec3f968b6c0df96af326f90fa9Alexis Tsogias
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulzifneq ($(MAKECMDGOALS),clean)
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulzifneq ($(MAKECMDGOALS),real_clean)
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulzifneq ($(MAKECMDGOALS),d_clean)
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maederifneq ($(MAKECMDGOALS),real_clean)
18d370f8341357f5d6a4068f4bb6981173ece70fFelix Gabriel Manceifneq ($(MAKECMDGOALS),distclean)
7834a982096d93301a4626f444dd9ea5f9fe17eaChristian Maederifneq ($(MAKECMDGOALS),genRules)
ed1b8e97e72b2e3e92edaf2eb22a4b5373d705f1Felix Gabriel Manceifneq ($(MAKECMDGOALS),utils/genRules)
ed1b8e97e72b2e3e92edaf2eb22a4b5373d705f1Felix Gabriel Manceifneq ($(MAKECMDGOALS),derivedSources)
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulzifneq ($(MAKECMDGOALS),release)
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian Maederifneq ($(MAKECMDGOALS),clean_genRules)
fc1bf40b1196cf62c6ce5c971633b5ebfc5936efChristian Maederifeq ($(MAKECMDGOALS),hets-old)
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian Maeder## include every .d file in INCLUDE_PATH
d62661e54e2662d53b583ae48609f5037701078dcmaeder-include $(objects:.o=.d)
d62661e54e2662d53b583ae48609f5037701078dcmaederendif
d62661e54e2662d53b583ae48609f5037701078dcmaeder
9f226cec9f978edaba67aee4c4e04e3d3b994b87Daniel Calegarisources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksaendif
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksaendif
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederendif
c70ef4c3b3a62764f715510c9fd67dde3acfe454Christian Maederendif
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederendif
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederendif
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder