Makefile revision c5e10ba19c9854112e5d29f491759e8e89f83652
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User# hetcats/Makefile
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User# $Header$
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt# Year: 2004
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt# This Makefile will compile the new hetcats system and provides also
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt# targets for test programs during implementation phases.
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# !!! Note: This makefile is written for GNU make !!!
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# (gmake on solaris ; make on linux)
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews####################################################################
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews## Some varibles, which control the compilation
7ec97ae74e42ec21b354fd2d1366313b41d947d6Evan Hunt
701a93f5a592e4652343e049aa495d409c3ee133Mark AndrewsINCLUDE_PATH = ghc:hetcats
701a93f5a592e4652343e049aa495d409c3ee133Mark AndrewsCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
002f1373374a0b72fc0329baa682917929bef168Tony FinchCLEAN_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
002f1373374a0b72fc0329baa682917929bef168Tony Finch## set ghc imports properly for your system
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark AndrewsLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark AndrewsDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews# override on commandline for other architectures
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark AndrewsINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark AndrewsDRIFT_deps = utils/DrIFT-src/*hs
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark AndrewsGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark AndrewsINLINEAXIOMS_deps = utils/InlineAxioms/*hs
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark AndrewsHC = ghc
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan HuntPERL = perl
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan HuntHAPPY = happy
5c78f1f50e53d8e2ed51a187efc2c9a0f43b4b1bMark AndrewsDRIFT = $(DRIFT_ENV) utils/DrIFT
f1740da065d4555039fe8bb53beb4153e3f94de3Mark AndrewsINLINEAXIOMS = utils/outlineAxioms
f1740da065d4555039fe8bb53beb4153e3f94de3Mark AndrewsHADDOCK = haddock
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark AndrewsHC_FLAGS = -Wall
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews# -fglasgow-exts comes in via ../uni/uni-package.conf
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark AndrewsHC_INCLUDE = -i$(INCLUDE_PATH)
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark AndrewsHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt -package uni-server
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews### Profiling and Warnings (only for debugging)
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews### Attention every module must be compiled with profiling or the linker
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews### cannot link the various .o files properly. So after switching on
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews### Profiling, do an 'gmake clean; gmake'
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews### If you need Profiling comment out the following line
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews#HC_PROF = -prof -auto-all
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews
1cf118a656f5fd210787908b845362077fc507f8Evan HuntHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
1cf118a656f5fd210787908b845362077fc507f8Evan HuntHC_OPTS = $(HCI_OPTS) $(HC_PROF)
1cf118a656f5fd210787908b845362077fc507f8Evan HuntDRIFT_OPTS = +RTS -K10m -RTS
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt### list of directories to run checks in
1cf118a656f5fd210787908b845362077fc507f8Evan HuntTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman####################################################################
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman## sources for hetcats (semi - manually produced with a perl script)
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman
fd82c70695888c134287b8018296028c252d100eMukund Sivaramanifneq ($(MAKECMDGOALS),clean)
fd82c70695888c134287b8018296028c252d100eMukund Sivaramanifneq ($(MAKECMDGOALS),bin_clean)
fd82c70695888c134287b8018296028c252d100eMukund Sivaramanifneq ($(MAKECMDGOALS),d_clean)
fd82c70695888c134287b8018296028c252d100eMukund Sivaramanifneq ($(MAKECMDGOALS),real_clean)
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsifneq ($(MAKECMDGOALS),distclean)
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsifneq ($(MAKECMDGOALS),genRules)
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsifneq ($(MAKECMDGOALS),utils/genRules)
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsifneq ($(MAKECMDGOALS),hets-opt)
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsifneq ($(MAKECMDGOALS),hets-optimized)
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsifneq ($(MAKECMDGOALS),derivedSources)
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsifneq ($(MAKECMDGOALS),utils/outlineAxioms)
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntifneq ($(MAKECMDGOALS),release)
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntifneq ($(MAKECMDGOALS),check)
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntifneq ($(MAKECMDGOALS),apache_doc)
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntifneq ($(MAKECMDGOALS),clean_genRules)
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntifneq ($(MAKECMDGOALS),atctest2)
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupontifneq ($(MAKECMDGOALS),hetana)
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupontinclude sources_hetcats.mk
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupontendif
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupontendif
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńendif
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńendif
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńendif
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńendif
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaramanendif
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaramanendif
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaramanendif
7e1a62eea2e4ba9d6c3fc718e679b965fa514f69Mark Andrewsendif
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrewsendif
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrewsendif
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrewsendif
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrewsendif
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrewsendif
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrewsendif
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrewsendif
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt $(gendrifted_files)
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntgenrule_header_files = $(wildcard ATC/*.header.hs)
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntgenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews Common/AS_Annotation.der.hs \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews CASL/Sublogic.hs \
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews HasCASL/Sublogic.hs \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews Modal/AS_Modal.hs Modal/ModalSign.hs \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews CspCASL/AS_CSP_CASL.hs \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews Static/DevGraph.hs \
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews Haskell/Hatchet/AnnotatedHsSyn.hs \
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews Haskell/Hatchet/MultiModuleBasics.hs \
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews Haskell/Hatchet/HsSyn.hs \
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews Haskell/Hatchet/Representation.hs\
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews Haskell/Hatchet/Env.hs \
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews Isabelle/IsaSign.hs
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrewsgendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews ATC/AS_Structured.hs ATC/AS_Architecture.hs \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews ATC/DevGraph.hs \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrews Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs ATC/IsaSign.hs
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrews
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark Andrewsgenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark Andrews
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrewsinline_axiom_files = Comorphisms/CASL2PCFOL.hs
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrewsgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrews
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark Andrewshappy_files = Haskell/Hatchet/HsParser.hs
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark Andrews
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews# this variable holds the modules that should be documented
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews# the imported parsec library is not included!
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrewsdoc_sources = $(filter-out ./Isabelle/IsaSign.hs ,$(sources))
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews####################################################################
677f507de7c546c187c1505c48bc7b440545485cMark Andrews### targets
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
124cc0660c7eff8021c2422fb47441e9ca08b3f9Tinderbox User.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews clean_genRules genRules
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
677f507de7c546c187c1505c48bc7b440545485cMark Andrews#.PRECIOUS: sources_hetcats.mk
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrewsall: hets
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrewshets: $(sources)
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrewshets-opt: hetcats/Version.hs
677f507de7c546c187c1505c48bc7b440545485cMark Andrews $(MAKE) distclean
677f507de7c546c187c1505c48bc7b440545485cMark Andrews $(MAKE) derivedSources
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews $(MAKE) real_clean
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt $(MAKE) hets-optimized
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunthets-optimized:
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt strip hets
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępieńhets-old: $(objects)
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień $(RM) $@
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień $(HC) -o hets $(HC_OPTS) $(objects)
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrewshetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files)
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews $(RM) hetcats-make sources_hetcats.mk
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews###############################
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews### TAGS files for (x)emacs
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews# load them with "M-x" "visit-tags-table" from
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews# "HetCATS/hetcats/hetcats.TAGS"
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień# use "M-." to search for a tag
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień# !!Beware this is somewhat instable, because it uses an absolute path!!
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępieńhetcats.TAGS: $(sources)
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews $(sources); mv TAGS $@; mv tags hetcats.tags
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews###############################
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień### Documentation via haddock
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępieńdoc: docs/index.html
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews# index for prelude is missing
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrewsdocs/index.html: $(doc_sources)
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews $(HADDOCK) $(doc_sources) -o docs -h \
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień -i docs/base.haddock \
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień -t 'hets -- a heterogenous Specification (CASL) tool set'
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępieńapache_doc:
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień $(RM) docs/*.*
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień cvs up -d
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień $(MAKE) hets-opt
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień $(MAKE) doc
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień $(MAKE) post_doc4apache
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrewspost_doc4apache:
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews $(PERL) utils/post_process_docs.pl docs \
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews 'Common.Lib.Map.html:Common.Lib._Map.html'
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews cp docs/*.* a-docs/
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews###############################
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews### release management
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews
86d2f9abc8493321aacb0d540485de4d562fb734Mark AndrewsderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files)
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrewsutils/DrIFT: $(DRIFT_deps)
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień strip ../DrIFT)
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrewsutils/genRules: $(GENERATERULES_deps)
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews (cd utils/GenerateRules; \
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews strip ../genRules)
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrewsutils/outlineAxioms: $(INLINEAXIOMS_deps)
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews $(HC_OPTS) -o utils/outlineAxioms
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews strip utils/outlineAxioms
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrews
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrewsrelease:
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień $(RM) -r HetCATS
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień $(RM) -r uni
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews ln -s ../uni uni
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt $(RM) clean.*; mv Makefile Makefile.orig; \
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt mv ReleaseMakefile Makefile)
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt tar cvf HetCATS.tar HetCATS
9789e54e55b61b669fb31a8b70e9655e8357dda2Mark Andrews
9789e54e55b61b669fb31a8b70e9655e8357dda2Mark Andrewsinstall-hets:
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews chmod g+w hets
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews cp -p version_nr $(INSTALLDIR)
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews (cd $(INSTALLDIR); $(RM) hets; \
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrewsinstall: hets-opt install-hets
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień#############################
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień### ATC DrIFT-rule generation
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień
eb11b39981689e4a20fbe95e533577eacab992b4Mukund SivaramangenRules: $(generated_rule_files) utils/genRules
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaraman
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaraman$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał Kępień $(MAKE) clean_genRules
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał Kępień $(foreach file,$(atc_files),$(gen_atc_files))
e7c0f978425f45731b08be1363f20626b0344f23Evan Hunt utils/genRules -r $(rule) -o CASL $(casl_files)
e7c0f978425f45731b08be1363f20626b0344f23Evan Hunt utils/genRules -r $(rule) -o HasCASL -h ATC/HasCASL.header.hs \
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt $(hascasl_files)
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt utils/genRules -r $(rule) -o Modal $(modal_files)
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews $(haskell_files)
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews
7c442d7fe06bc95432af7513764e5cc85e133648Evan Huntrule = ShATermConvertible
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt
7c442d7fe06bc95432af7513764e5cc85e133648Evan Huntgen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień else \
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień utils/genRules -r $(rule) -o ATC $(file); \
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień fi ;
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrewsatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% CspCASL/% Haskell/% ,$(genrule_files))
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrewscasl_files := $(filter CASL/% ,$(genrule_files))
8ed107eab48687887d45a1ceb18b712bc7209dbaTinderbox Userhascasl_files := $(filter HasCASL/% ,$(genrule_files))
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrewsmodal_files := $(filter Modal/% ,$(genrule_files))
5f103158280fb2e814db305f917aa42040221623Mark Andrewscocasl_files := $(filter CoCASL/% ,$(genrule_files))
5f103158280fb2e814db305f917aa42040221623Mark Andrewscspcasl_files := $(filter CspCASL/% ,$(genrule_files))
5f103158280fb2e814db305f917aa42040221623Mark Andrewshaskell_files := $(filter Haskell/%,$(genrule_files))
5f103158280fb2e814db305f917aa42040221623Mark Andrews
e5715e1fe12e5ad17522bd41c31e637c869d27b7Evan Huntclean_genRules:
e5715e1fe12e5ad17522bd41c31e637c869d27b7Evan Hunt $(RM) $(generated_rule_files)
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt###############
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt### clean up
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews### removes *.hi and *.o in all include directories
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrewsclean: bin_clean
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews (cd $$p ; $(RM) *.hi *.o) ; done
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt### remove binaries
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Huntbin_clean:
50433a667cf0ed3ac7807768b745b0d870ff8c8bMark Andrews $(RM) hets
50433a667cf0ed3ac7807768b745b0d870ff8c8bMark Andrews $(RM) test_parser
3c12bec945ee71a38c5ba6f624abd12e2da7eea5Mark Andrews $(RM) CASL/capa
3c12bec945ee71a38c5ba6f624abd12e2da7eea5Mark Andrews $(RM) HasCASL/hacapa
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews $(RM) Haskell/hapa
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews $(RM) Haskell/wrap
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews $(RM) Syntax/hetpa
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień $(RM) Static/hetana
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień $(RM) Static/hetana
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień $(RM) GUI/hetdg
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień $(RM) hetpa
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunt $(RM) hetana
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunt $(RM) hetdg
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunt $(RM) atctest2
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt $(RM) atctest
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt $(RM) Common/annos
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt### additonally removes *.d (dependency files) in every include directory
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt### also delete *.d.bak (dependency file backups)
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Huntd_clean: clean
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt (cd $$p ; $(RM) *.d *.d.bak) ; done
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt### remove files also in own libraries
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Huntlib_clean: clean
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
c85920c0b4b2d4dc605c0b1d355881925bf410afMark Andrews (cd $$p ; $(RM) *.hi *.d *.o) ; done
c85920c0b4b2d4dc605c0b1d355881925bf410afMark Andrews
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt### additionally removes the files that define the sources-variable
0612274565d80e0ad87a19920e561cce5bddb05bEvan Huntreal_clean: bin_clean lib_clean
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt $(RM) hetcats-make sources_hetcats.mk
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt### additionally removes files not in CVS tree
f592d2f76cac7115038124c510d2ba3050334b4dEvan Huntdistclean: real_clean clean_genRules d_clean
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt $(RM) hetcats/Version.hs
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt $(RM) $(drifted_files)
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt $(RM) utils/DrIFT utils/genRules
4ee1fbe056e812e661b856b4b448296331a40249Michał Kępień# $(RM) $(happy_files)
4ee1fbe056e812e661b856b4b448296331a40249Michał Kępień
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews####################################################################
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews### test targets
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews####################################################################
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews### a parser to test annotation parser and Id parsers
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan Hunttest_parser: Common/test_parser
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan Hunt
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan HuntCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień $(RM) $@
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień $(HC) --make -o $@ $< $(HC_OPTS)
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień### interactive
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępieńghci:
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień $(HC)i $(HCI_OPTS)
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień### christian's target
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień### CASL parser
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Huntcapa: CASL/capa
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Hunt
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan HuntCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews $(RM) $@
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt### HasCASL parser
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunthacapa: HasCASL/hacapa
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt
24ffba17f06746257d5c009ca8ebfe6043966d20Evan HuntHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt $(RM) $@
21d58795b10a13fa7ac306f7146bdcb58b2e5165Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
21d58795b10a13fa7ac306f7146bdcb58b2e5165Mark Andrews
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt### Haskell parser
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunthapa: Haskell/hapa
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan HuntHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt $(RM) $@
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt $(HC) --make -o $@ $< $(HC_OPTS)
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt
ad1317338af79edad878c9c3e4361798503310baMark Andrews### HetCASL parser
ad1317338af79edad878c9c3e4361798503310baMark Andrewshetpa: Syntax/hetpa.hs Syntax/*.hs
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt $(RM) $@
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt $(HC) --make -o $@ $< $(HC_OPTS)
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt### HetCASL parser
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunthetana: Static/hetana.hs Static/*.hs
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt $(RM) $@
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt $(HC) --make -o $@ $< $(HC_OPTS)
da1f585afa8c103508c759142d6aed4edae6936eMark Andrews
da1f585afa8c103508c759142d6aed4edae6936eMark Andrews### ATC test system
da1f585afa8c103508c759142d6aed4edae6936eMark Andrewsatctest: ATC/ATCTest.hs ATC/*.hs
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman $(RM) $@
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman $(HC) --make -o $@ $< $(HC_OPTS)
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman
d71d41341d36ddfd347daab982f0cb85d3dd7c4eMark Andrewsatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
d71d41341d36ddfd347daab982f0cb85d3dd7c4eMark Andrews $(RM) $@
d72952cf254b71c44e5e956a306016a5be9b9c38Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
d72952cf254b71c44e5e956a306016a5be9b9c38Mark Andrews
aae171c5421ac2ba665ff122e004e753e62bac45Mark Andrews### ATerm.Lib test system
aae171c5421ac2ba665ff122e004e753e62bac45Mark Andrewsatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
6b183c64a3281491f8232959a5ece303b4499706Mark Andrews $(RM) $@
6b183c64a3281491f8232959a5ece303b4499706Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień### HetCASL with dev graph
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępieńhetdg: GUI/hetdg.hs $(drifted_files) *.hs
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień $(RM) $@
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
e2cc7418bf895d22854d84590b63905fac0d4b90Mark Andrews
e2cc7418bf895d22854d84590b63905fac0d4b90Mark Andrews
36ec0d374836d070ba05b495e6f0a27f60e94476Evan Hunt### run tests in other directories
36ec0d374836d070ba05b495e6f0a27f60e94476Evan Huntcheck: hetcats
36ec0d374836d070ba05b495e6f0a27f60e94476Evan Hunt for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
e446fd29b9c6c4a7b6b5bb0aee3932578c346718Mukund Sivaraman
f896f7c8be894a737998b97008a1389e72972fcfMukund Sivaraman####################################################################
e446fd29b9c6c4a7b6b5bb0aee3932578c346718Mukund Sivaraman## Preparing the version of HetCATS
027a4a5b5d806290146ce4989d34be2c8a664e8cMukund Sivaramanhetcats/Version.hs: hetcats/Version.in version_nr
027a4a5b5d806290146ce4989d34be2c8a664e8cMukund Sivaraman $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman## two hardcoded dependencies for a correct generation of Version.hs
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaramanhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaramanhets.hs: hetcats/Version.hs
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman####################################################################
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman## rules for DrIFT
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman%.hs: %.ly
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień $(HAPPY) $<
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień%.hs: %.der.hs utils/DrIFT
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień $(DRIFT) $(DRIFT_OPTS) $< > $@
b351a5864727a390e06d787e522b141ca760590fMichał Kępień
b351a5864727a390e06d787e522b141ca760590fMichał Kępień## rules for inlineAxioms
b351a5864727a390e06d787e522b141ca760590fMichał Kępień%.hs: %.inline.hs utils/outlineAxioms
b351a5864727a390e06d787e522b141ca760590fMichał Kępień $(INLINEAXIOMS) $< > $@
b351a5864727a390e06d787e522b141ca760590fMichał Kępień
b351a5864727a390e06d787e522b141ca760590fMichał Kępień## compiling rules for object and interface files
b351a5864727a390e06d787e522b141ca760590fMichał Kępień%.o %.hi: %.hs
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews $(HC) -c $< $(HC_OPTS)
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews%.o %.hi: %.lhs
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews $(HC) -c $< $(HC_OPTS)
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews
7b4bfc0201ffbcd64a336b99c945891808c44af0Mark Andrews## compiling rules for dependencies
7b4bfc0201ffbcd64a336b99c945891808c44af0Mark Andrews%.d : %.hs
b815731d05220f932315eb33a97c6dc888c6a026Tinderbox User $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt%.d : %.lhs
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews####################################################################
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt## Setting a global search path (for dependency files)
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Huntifneq ($(MAKECMDGOALS),clean)
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Huntifneq ($(MAKECMDGOALS),real_clean)
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrewsifneq ($(MAKECMDGOALS),d_clean)
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrewsifneq ($(MAKECMDGOALS),real_clean)
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrewsifneq ($(MAKECMDGOALS),distclean)
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrewsifneq ($(MAKECMDGOALS),genRules)
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrewsifneq ($(MAKECMDGOALS),utils/genRules)
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrewsifneq ($(MAKECMDGOALS),derivedSources)
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Huntifneq ($(MAKECMDGOALS),release)
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Huntifneq ($(MAKECMDGOALS),clean_genRules)
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Huntifeq ($(MAKECMDGOALS),hets-old)
e5f5675b1da287ed40aeff081ad2af86090e8d17Evan Hunt## include every .d file in INCLUDE_PATH
e5f5675b1da287ed40aeff081ad2af86090e8d17Evan Hunt-include $(objects:.o=.d)
e5f5675b1da287ed40aeff081ad2af86090e8d17Evan Huntendif
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt
29f0ced781d745591fd058e530a68a281cd7a510Evan Huntsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
b9fd54f8d4572fe5dcaf9d4b74f6ecb8027cc450Evan Huntendif
b9fd54f8d4572fe5dcaf9d4b74f6ecb8027cc450Evan Huntendif
b9fd54f8d4572fe5dcaf9d4b74f6ecb8027cc450Evan Huntendif
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrewsendif
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrewsendif
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrewsendif
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępieńendif
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępieńendif
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępieńendif
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępieńendif
b301c4293c082fcce4ec26218e6fad346976eb9eMark Andrews