Makefile revision ed9207cf24e96b0d6f59985822054ae28cb69b2e
4d237bbe075b1d2c19428cd954d721d65b31f67cwrowe# hetcats/Makefile
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna# $Header$
1a5f954324f2584984fc9cee7a7a8ebe8ef39aeajim# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
7f4ac5a4cd99a9cae866b5908e358bd932736307chrisd# Year: 2004
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna# This Makefile will compile the new hetcats system and provides also
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna# targets for test programs during implementation phases.
46bc411d64953033b7f8af8a0493095a5cf21c0djim
a5cce34e21a5b472f3806b4526043887bcb7e9eajim# !!! Note: This makefile is written for GNU make !!!
a5cce34e21a5b472f3806b4526043887bcb7e9eajim# (gmake on solaris ; make on linux)
a5cce34e21a5b472f3806b4526043887bcb7e9eajim
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq####################################################################
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq## Some varibles, which control the compilation
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq
8c3667cd1d0db08647793137c0d1aa7f6526bebfniqINCLUDE_PATH = ghc:hetcats
8c3667cd1d0db08647793137c0d1aa7f6526bebfniqCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
8c3667cd1d0db08647793137c0d1aa7f6526bebfniqCLEAN_PATH = Common:Logic:CASL:Syntax:Static:GUI:HasCASL:Haskell:Modal:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:$(INCLUDE_PATH):Haskell/Hatchet
6824182b3b8e045db97a228d3127bdfcbdfeb0bcniq## set ghc imports properly for your system
6824182b3b8e045db97a228d3127bdfcbdfeb0bcniqDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:/home/linux-bkb/ghc/ghc-latest/lib/ghc-6.2/imports:${GHC_IMPORTS}'
6824182b3b8e045db97a228d3127bdfcbdfeb0bcniq
0c26d213d85bc40fc05963c63bf670b42b352d25niqHC = ghc
0c26d213d85bc40fc05963c63bf670b42b352d25niqPERL = perl
0c26d213d85bc40fc05963c63bf670b42b352d25niqHAPPY = happy
0c26d213d85bc40fc05963c63bf670b42b352d25niqDRIFT = $(DRIFT_ENV) utils/DrIFT
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niqHADDOCK = haddock
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niq
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niqHC_FLAGS = -fglasgow-exts -Wall
9f07b6dc343a4e3eba5f4c47050a77441723ce89nd
9f07b6dc343a4e3eba5f4c47050a77441723ce89ndHC_INCLUDE = -i$(INCLUDE_PATH)
f7cec4a86292b160401472286a17497ae0d4df18covenerHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
f7cec4a86292b160401472286a17497ae0d4df18covener -package uni-server
f7cec4a86292b160401472286a17497ae0d4df18covener
f7cec4a86292b160401472286a17497ae0d4df18covener### Profiling and Warnings (only for debugging)
1464434c2c104e0ba224644c42552330f5158537covener### Attention every module must be compiled with profiling or the linker
1464434c2c104e0ba224644c42552330f5158537covener### cannot link the various .o files properly. So after switching on
1464434c2c104e0ba224644c42552330f5158537covener### Profiling, do an 'gmake clean; gmake'
1464434c2c104e0ba224644c42552330f5158537covener### If you need Profiling comment out the following line
1464434c2c104e0ba224644c42552330f5158537covener#HC_PROF = -prof -auto-all
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluemHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluemHC_OPTS = $(HCI_OPTS) $(HC_PROF)
7f4ac5a4cd99a9cae866b5908e358bd932736307chrisd#DRIFT_OPTS = +RTS -K10 -RTS
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niq
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem### list of directories to run checks in
509111f5f58a9effd4c832f6a0cbd6ad9d549188jortonTESTDIRS = Common CASL HasCASL
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton####################################################################
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin## sources for hetcats (semi - manually produced with a perl script)
235b900b78cf6849f8344e377a91ded37d9cc9depquerna
235b900b78cf6849f8344e377a91ded37d9cc9depquernaifneq ($(MAKECMDGOALS),clean)
235b900b78cf6849f8344e377a91ded37d9cc9depquernaifneq ($(MAKECMDGOALS),bin_clean)
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jortonifneq ($(MAKECMDGOALS),d_clean)
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jortonifneq ($(MAKECMDGOALS),real_clean)
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jortonifneq ($(MAKECMDGOALS),distclean)
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jortonifneq ($(MAKECMDGOALS),genRules)
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrinifneq ($(MAKECMDGOALS),hets-opt)
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrinifneq ($(MAKECMDGOALS),hets-optimized)
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrinifneq ($(MAKECMDGOALS),derivedSources)
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrinifneq ($(MAKECMDGOALS),release)
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrinifneq ($(MAKECMDGOALS),check)
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluemifneq ($(MAKECMDGOALS),apache_doc)
6f33babce8f8bc723f0b2c755aef049cd509504fpquernaifneq ($(MAKECMDGOALS),clean_genRules)
6f33babce8f8bc723f0b2c755aef049cd509504fpquernaifneq ($(MAKECMDGOALS),atctest2)
0a12339f39799193ac6866fce812a1deb8f4a1abpquernainclude sources_hetcats.mk
0a12339f39799193ac6866fce812a1deb8f4a1abpquernaendif
0a12339f39799193ac6866fce812a1deb8f4a1abpquernaendif
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquernaendif
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquernaendif
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquernaendif
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jimendif
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jimendif
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jimendif
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jimendif
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernaendif
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernaendif
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernaendif
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernaendif
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernaendif
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernaobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquernadrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna $(gendrifted_files)
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna
19e5deda3a29d71ac1cc4bfecce39f96ea3ab55dcovenergenrule_header_files = $(wildcard ATC/*.header.hs)
19e5deda3a29d71ac1cc4bfecce39f96ea3ab55dcovener
19e5deda3a29d71ac1cc4bfecce39f96ea3ab55dcovenergenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
19e5deda3a29d71ac1cc4bfecce39f96ea3ab55dcovener Common/AS_Annotation.der.hs \
19e5deda3a29d71ac1cc4bfecce39f96ea3ab55dcovener Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna CASL/Sublogic.hs \
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna HasCASL/Le.hs HasCASL/As.hs HasCASL/Symbol.hs \
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna HasCASL/Morphism.hs HasCASL/AsToIds.hs \
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna CspCASL/AS_CSP_CASL.hs \
847db8b2f0188cd9c840acbe4fea77a32748b2edpquerna Static/DevGraph.hs \
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna Haskell/Hatchet/AnnotatedHsSyn.hs \
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna Haskell/Hatchet/MultiModuleBasics.hs \
527fc83e2bf315b2026a9ac6b1e6ce83143609bbcovener Haskell/Hatchet/HsSyn.hs \
527fc83e2bf315b2026a9ac6b1e6ce83143609bbcovener Haskell/Hatchet/Representation.hs\
527fc83e2bf315b2026a9ac6b1e6ce83143609bbcovener Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
527fc83e2bf315b2026a9ac6b1e6ce83143609bbcovener Haskell/Hatchet/Env.hs
527fc83e2bf315b2026a9ac6b1e6ce83143609bbcovener
99c8705f69fae71940ad9b091bd2f588a7b9f484minfringendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin ATC/AS_Structured.hs ATC/AS_Architecture.hs \
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin ATC/DevGraph.hs \
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfringenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrinhappy_files = Haskell/Hatchet/HsParser.hs
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin# this variable holds the modules that should be documented
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin# the imported parsec library is not included!
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niqdoc_sources = $(filter-out Nothing/Nothing% ,$(sources))
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq####################################################################
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq### targets
6ad55f63504cf5fe5205ed9495664519afeadcd9chrisd
6ad55f63504cf5fe5205ed9495664519afeadcd9chrisd.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
6ad55f63504cf5fe5205ed9495664519afeadcd9chrisd clean_genRules genRules
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd.SECONDARY : %.hs %.d $(generated_rule_files)
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd#.PRECIOUS: sources_hetcats.mk
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisdall: hets
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd
f436f5cf34615c3c7d49dd229560ba658033f9eachrisdhets: $(sources)
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
ce6098001014d149e90e56ab0e89c1b4aab30136chrisd
ce6098001014d149e90e56ab0e89c1b4aab30136chrisdhets-opt: hetcats/Version.hs
ce6098001014d149e90e56ab0e89c1b4aab30136chrisd $(MAKE) distclean
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd $(MAKE) derivedSources
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd $(MAKE) hets-optimized
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisdhets-optimized:
38b062650152074931a68e933461762c5e233cfcniq $(HC) --make -O -o hets hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
38b062650152074931a68e933461762c5e233cfcniq strip hets
38b062650152074931a68e933461762c5e233cfcniq
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluemhets-old: $(objects)
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem $(RM) $@
d1c1b82647a997922859ec76b82e62a956078dbccovener $(HC) -o hets $(HC_OPTS) $(objects)
63de18ba5e922ffaab500317d7d1d0ad6b27b7e2covener
63de18ba5e922ffaab500317d7d1d0ad6b27b7e2covenerhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
91ef999a69527d2a64983681c92aaef9270697b4rpluem $(RM) hetcats-make sources_hetcats.mk
91ef999a69527d2a64983681c92aaef9270697b4rpluem $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
91ef999a69527d2a64983681c92aaef9270697b4rpluem
cf95511601acd18c75339ef5d90a298e070617ccminfrin###############################
cf95511601acd18c75339ef5d90a298e070617ccminfrin### TAGS files for (x)emacs
cf95511601acd18c75339ef5d90a298e070617ccminfrin# load them with "M-x" "visit-tags-table" from
cf95511601acd18c75339ef5d90a298e070617ccminfrin# "HetCATS/hetcats/hetcats.TAGS"
e82c197ca8872669af89367746826fe6b9955bb3niq# use "M-." to search for a tag
e82c197ca8872669af89367746826fe6b9955bb3niq# !!Beware this is somewhat instable, because it uses an absolute path!!
e82c197ca8872669af89367746826fe6b9955bb3niqhetcats.TAGS: $(sources)
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq $(sources); mv TAGS $@; mv tags hetcats.tags
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq###############################
742ec45ed2ac00ab03080e898332352220cc1f13niq### Documentation via haddock
742ec45ed2ac00ab03080e898332352220cc1f13niqdoc: docs/index.html
a5e068c4aa3d0084a41e178c7c0c1b1ae2f28125jim
742ec45ed2ac00ab03080e898332352220cc1f13niq# index for prelude is missing
f82568a780e35e8786958c49a1259434e2088b9cniqdocs/index.html: $(doc_sources)
f82568a780e35e8786958c49a1259434e2088b9cniq $(HADDOCK) $(doc_sources) -o docs -h \
f82568a780e35e8786958c49a1259434e2088b9cniq -i docs/base.haddock \
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrin -t 'hets -- a heterogenous Specification (CASL) tool set'
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrin
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrinapache_doc:
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin cvs up -d
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin $(MAKE) distclean
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin $(MAKE) hetcats-make
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin $(RM) docs/*.html
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin (cd docs; cvs up -d)
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin $(MAKE) doc
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin $(MAKE) post_doc4apache
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrinpost_doc4apache:
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin $(PERL) utils/post_process_docs.pl docs \
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin 'Common.Lib.Map.html:Common.Lib._Map.html'
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin cp docs/*.* a-docs/
fffe2d3830e52ed28703d042c5049b5e8fa047e2niq $(RM) docs/index.html
fffe2d3830e52ed28703d042c5049b5e8fa047e2niq
fffe2d3830e52ed28703d042c5049b5e8fa047e2niq###############################
13d29a334cfa69f2995b70a48aeacacc1ac7125frpluem### release management
13d29a334cfa69f2995b70a48aeacacc1ac7125frpluem
6951fc02abfd7642e45333902c14855836717fadrpluemderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs
6951fc02abfd7642e45333902c14855836717fadrpluem
6951fc02abfd7642e45333902c14855836717fadrpluemutils/DrIFT:
6951fc02abfd7642e45333902c14855836717fadrpluem (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT)
6951fc02abfd7642e45333902c14855836717fadrpluem
aced0f6381ba4b9ec6ca8b9f9253f5aeb1a0b1actdonovanutils/genRules:
aced0f6381ba4b9ec6ca8b9f9253f5aeb1a0b1actdonovan (cd utils/GenerateRules; \
aced0f6381ba4b9ec6ca8b9f9253f5aeb1a0b1actdonovan $(HC) --make -i../.. -package text GenerateRules.hs -o ../genRules)
db455cbc662c98dbbf53175393c50086ff63370cchrisd
db455cbc662c98dbbf53175393c50086ff63370cchrisdrelease:
db455cbc662c98dbbf53175393c50086ff63370cchrisd $(RM) -r HetCATS
db455cbc662c98dbbf53175393c50086ff63370cchrisd cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
db455cbc662c98dbbf53175393c50086ff63370cchrisd $(RM) -r uni
2e242dca7111f99d54dd144b7b8418d88d560032chrisd ln -s ../uni uni
7cb45b833e465d46f6b61de983cc68112587d04bchrisd (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
2e242dca7111f99d54dd144b7b8418d88d560032chrisd find . -name CVS -o -name \*.o -o -name \*.hi | xargs -r $(RM) -r; \
eaf6fff54e1bcc02893d1d8a64ba43eb6d89184brpluem $(RM) clean.*; $(RM) Makefile; mv ReleaseMakefile Makefile)
eacd93a9763f18f9cfd5f61ad1526f7ef32dd8d1rpluem tar zcvf HetCATS.tgz HetCATS
b5d91f803b61ef5b13666e423173eb72d96f8938niq
b5d91f803b61ef5b13666e423173eb72d96f8938niq#############################
b5d91f803b61ef5b13666e423173eb72d96f8938niq### ATC DrIFT-rule generation
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisdgenRules: $(generated_rule_files) utils/genRules
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd $(MAKE) clean_genRules
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin $(foreach file,$(atc_files),$(gen_atc_files))
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin utils/genRules -r $(rule) -o CASL -h ATC/CASL.header.hs \
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin $(casl_files)
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin utils/genRules -r $(rule) -o HasCASL -h ATC/HasCASL.header.hs \
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin $(hascasl_files)
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin utils/genRules -r $(rule) -o CspCASL -h ATC/CspCASL.header.hs \
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin $(cspcasl_files)
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin $(haskell_files)
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin
66a8e1cc29cc4612cd938bc8fcabc0ef569e5769rpluemrule = ShATermConvertible
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin
e02cb8f5090d904c054633ff33dfd1111e16e404minfringen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin else \
66a8e1cc29cc4612cd938bc8fcabc0ef569e5769rpluem utils/genRules -r $(rule) -o ATC $(file); \
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin fi ;
8a3e2ef19ddfb8addcccdc61da0d1442695a8280rpluem
8a3e2ef19ddfb8addcccdc61da0d1442695a8280rpluematc_files := $(filter-out CASL/% HasCASL/% CspCASL/% Haskell/% ,$(genrule_files))
8a3e2ef19ddfb8addcccdc61da0d1442695a8280rpluemcasl_files := $(filter CASL/% ,$(genrule_files))
213e520edc00641400771fc8f90b37a967a2d9ebdirkxhascasl_files := $(filter HasCASL/% ,$(genrule_files))
213e520edc00641400771fc8f90b37a967a2d9ebdirkxcspcasl_files := $(filter CspCASL/% ,$(genrule_files))
213e520edc00641400771fc8f90b37a967a2d9ebdirkxhaskell_files := $(filter Haskell/%,$(genrule_files))
213e520edc00641400771fc8f90b37a967a2d9ebdirkx
213e520edc00641400771fc8f90b37a967a2d9ebdirkxclean_genRules:
a449830d5caa5b9900fe64cc383658b3641f9810dirkx $(RM) $(generated_rule_files)
a449830d5caa5b9900fe64cc383658b3641f9810dirkx
a449830d5caa5b9900fe64cc383658b3641f9810dirkx###############
a449830d5caa5b9900fe64cc383658b3641f9810dirkx### clean up
a449830d5caa5b9900fe64cc383658b3641f9810dirkx
a449830d5caa5b9900fe64cc383658b3641f9810dirkx### removes *.hi and *.o in all include directories
a449830d5caa5b9900fe64cc383658b3641f9810dirkxclean: bin_clean
a449830d5caa5b9900fe64cc383658b3641f9810dirkx for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
06d3a46db9574ad55b65fed36b856fee72bd71a7rpluem (cd $$p ; $(RM) *.hi *.o) ; done
06d3a46db9574ad55b65fed36b856fee72bd71a7rpluem
06d3a46db9574ad55b65fed36b856fee72bd71a7rpluem### remove binaries
82632a19f2f9c346fee2b28a65920ba9737b3973minfrinbin_clean:
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin $(RM) hets
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin $(RM) test_parser
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin $(RM) CASL/capa
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin $(RM) HasCASL/hacapa
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd $(RM) Haskell/hapa
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd $(RM) Haskell/wrap
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd $(RM) Syntax/hetpa
835d676191444a46d695171e8760d55a66c60fecminfrin $(RM) Static/hetana
835d676191444a46d695171e8760d55a66c60fecminfrin $(RM) Static/hetana
835d676191444a46d695171e8760d55a66c60fecminfrin $(RM) GUI/hetdg
835d676191444a46d695171e8760d55a66c60fecminfrin $(RM) hetpa
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin $(RM) hetana
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin $(RM) hetdg
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin### additonally removes *.d (dependency files) in every include directory
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin### also delete *.d.bak (dependency file backups)
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrind_clean: clean
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin (cd $$p ; $(RM) *.d *.d.bak) ; done
d4562e99f620170ce0bedddc16887b900b34913bminfrin
d4562e99f620170ce0bedddc16887b900b34913bminfrin### remove files also in own libraries
d4562e99f620170ce0bedddc16887b900b34913bminfrinlib_clean: clean
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin (cd $$p ; $(RM) *.hi *.d *.o) ; done
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin### additionally removes the files that define the sources-variable
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrinreal_clean: bin_clean lib_clean
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin $(RM) hetcats-make sources_hetcats.mk
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin### additionally removes files not in CVS tree
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrindistclean: real_clean clean_genRules d_clean
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin $(RM) hetcats/Version.hs
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin $(RM) $(drifted_files)
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin $(RM) $(happy_files)
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin####################################################################
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin### test targets
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin####################################################################
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin### a parser to test annotation parser and Id parsers
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisdtest_parser: Common/test_parser
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisdCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd $(RM) $@
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd $(HC) --make -o $@ $< $(HC_OPTS)
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd### interactive
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisdghci:
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq $(HC)i $(HCI_OPTS)
9582ad6e149d28b118d4e8571101ecb6f85e0191niq
9582ad6e149d28b118d4e8571101ecb6f85e0191niq### christian's target
9582ad6e149d28b118d4e8571101ecb6f85e0191niq### CASL parser
78a20a6e7ad3a0229900ee54c7d11a65f647b663niqcapa: CASL/capa
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd
d56bacbfefa5aa883ce5162a115747372fc38d13chrisdCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd $(RM) $@
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd $(HC) --make -o $@ $< $(HC_OPTS)
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener### HasCASL parser
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covenerhacapa: HasCASL/hacapa
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener
ed0d39878e79220baaa50c15b79b1fdf877cb919niqHasCASL/hacapa: HasCASL/hacapa.hs CASL/capa HasCASL/*.hs
1e911973bcb9df6701a4c16c037771ecf25ade13niq $(RM) $@
1e911973bcb9df6701a4c16c037771ecf25ade13niq $(HC) --make -o $@ $< $(HC_OPTS)
1e911973bcb9df6701a4c16c037771ecf25ade13niq
1e911973bcb9df6701a4c16c037771ecf25ade13niq### Haskell parser
1e911973bcb9df6701a4c16c037771ecf25ade13niqhapa: Haskell/hapa
1e911973bcb9df6701a4c16c037771ecf25ade13niq
e47d58d5d983426584c8d16416c50f5c58070746dirkxHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
e47d58d5d983426584c8d16416c50f5c58070746dirkx $(RM) $@
e47d58d5d983426584c8d16416c50f5c58070746dirkx $(HC) --make -o $@ $< $(HC_OPTS)
e47d58d5d983426584c8d16416c50f5c58070746dirkx
33aad3911b15cb5d523075f7df829274fe298a13dirkx### HetCASL parser
33aad3911b15cb5d523075f7df829274fe298a13dirkxhetpa: Syntax/hetpa.hs Syntax/*.hs
76f68128bb8fcea0f772d522c05dc7ec872040c2dirkx $(RM) $@
33aad3911b15cb5d523075f7df829274fe298a13dirkx $(HC) --make -o $@ $< $(HC_OPTS)
433dcb1fbaae82d36634f5120bff71a04296904ddirkx
433dcb1fbaae82d36634f5120bff71a04296904ddirkx### HetCASL parser
433dcb1fbaae82d36634f5120bff71a04296904ddirkxhetana: Static/hetana.hs Static/*.hs
433dcb1fbaae82d36634f5120bff71a04296904ddirkx $(RM) $@
433dcb1fbaae82d36634f5120bff71a04296904ddirkx $(HC) --make -o $@ $< $(HC_OPTS)
433dcb1fbaae82d36634f5120bff71a04296904ddirkx
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj### ATC test system
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpjatctest: ATC/ATCTest.hs ATC/*.hs
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj $(RM) $@
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj $(HC) --make -o $@ $< $(HC_OPTS)
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpjatctest2: ATC/ATCTest2.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
c002c44ee5c7e7258f4ba5c162461c24a0c179c2dirkx $(RM) $@
c002c44ee5c7e7258f4ba5c162461c24a0c179c2dirkx $(HC) --make -o $@ $< $(HC_OPTS)
c002c44ee5c7e7258f4ba5c162461c24a0c179c2dirkx
40beb03c240a9c60805388592f1005d9bf9d2362fuankg### ATerm.Lib test system
65cb7f00eca6689c8a89dc809359991ade1285bcwroweatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe $(RM) $@
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe $(HC) --make -o $@ $< $(HC_OPTS)
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe### HetCASL with dev graph
39c7699ec0799d394d3f67145d4a12ed82f587b8jortonhetdg: GUI/hetdg.hs $(drifted_files) *.hs
39c7699ec0799d394d3f67145d4a12ed82f587b8jorton $(RM) $@
39c7699ec0799d394d3f67145d4a12ed82f587b8jorton $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
c6d33447e28403a90ad817dba4df75fae785be28pquerna
c6d33447e28403a90ad817dba4df75fae785be28pquerna
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin### run tests in other directories
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrincheck: hetcats
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin####################################################################
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin## Preparing the version of HetCATS
4ede070ca63bd4c48045e35a7192582769770290jortonhetcats/Version.hs: hetcats/Version.in version_nr
4ede070ca63bd4c48045e35a7192582769770290jorton $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
795c9499a77c25695bcb9710ed67bbe51492e181rpluem
795c9499a77c25695bcb9710ed67bbe51492e181rpluem## two hardcoded dependencies for a correct generation of Version.hs
795c9499a77c25695bcb9710ed67bbe51492e181rpluemhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
a72ba68ecbbc61e4b513e50d6000245c33f753dcwrowehets.hs: hetcats/Version.hs
a72ba68ecbbc61e4b513e50d6000245c33f753dcwrowe####################################################################
7a079e0cd696baca90ac43e325f64582e2945c68wrowe## rules for DrIFT
a72ba68ecbbc61e4b513e50d6000245c33f753dcwrowe
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq%.hs: %.ly
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq $(HAPPY) $<
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin%.hs: %.der.hs utils/DrIFT
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin $(DRIFT) $(DRIFT_OPTS) $< > $@
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin## compiling rules for object and interface files
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj%.o %.hi: %.hs
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj $(HC) -c $< $(HC_OPTS)
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj%.o %.hi: %.lhs
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj $(HC) -c $< $(HC_OPTS)
e4b96ba15dc8b2b27d251d53e29b86da32cd5066pquerna
e4b96ba15dc8b2b27d251d53e29b86da32cd5066pquerna## compiling rules for dependencies
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick%.d : %.hs
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick%.d : %.lhs
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme####################################################################
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme## Setting a global search path (for dependency files)
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjortonifneq ($(MAKECMDGOALS),clean)
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjortonifneq ($(MAKECMDGOALS),real_clean)
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisdifneq ($(MAKECMDGOALS),d_clean)
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisdifneq ($(MAKECMDGOALS),real_clean)
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisdifneq ($(MAKECMDGOALS),distclean)
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisdifneq ($(MAKECMDGOALS),genRules)
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisdifneq ($(MAKECMDGOALS),derivedSources)
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisdifneq ($(MAKECMDGOALS),release)
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisdifneq ($(MAKECMDGOALS),clean_genRules)
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisdifeq ($(MAKECMDGOALS),hets-old)
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd## include every .d file in INCLUDE_PATH
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd-include $(objects:.o=.d)
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisdendif
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjortonsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjortonendif
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jimendif
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjimendif
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jimendif
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jimendif
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jimendif
a4ab95921be8ce5de50913cd6505d41b672eb375minfrinendif
a4ab95921be8ce5de50913cd6505d41b672eb375minfrinendif
a4ab95921be8ce5de50913cd6505d41b672eb375minfrinendif
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin