Makefile revision 2b770da5668af0faade8133dc6377a0fcaf44134
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein# hetcats/Makefile
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard# $Header$
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# Year: 2004
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard# This Makefile will compile the new hetcats system and provides also
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb# targets for test programs during implementation phases.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb# !!! Note: This makefile is written for GNU make !!!
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb# (gmake on solaris ; make on linux)
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick####################################################################
6f6f4a4bca281779d196acbdd5c017bb90858305trawick## Some varibles, which control the compilation
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawickINCLUDE_PATH = ghc:hetcats
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbbCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
bd929c73ef04789b7183b840d8db6e01d03a4d86rbbCLEAN_PATH = utils/DrIFT-src:utils/GenerateRules:Common:Logic:CASL:Syntax:Static:GUI:HasCASL:Haskell:Modal:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:Isabelle:$(INCLUDE_PATH):Haskell/Hatchet
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj## set ghc imports properly for your system
2a6c49cfaef5979a5a06098f3ce987cd76769409manojLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
2a4b7a53f3573605d4f5686f03a67c37425dc22bgregamesDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
2a4b7a53f3573605d4f5686f03a67c37425dc22bgregames
5ac928b7a71a12bc1a6b42194c47edbff1dcc02fgregamesDRIFT_deps = utils/DrIFT-src/*hs
5ac928b7a71a12bc1a6b42194c47edbff1dcc02fgregamesGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
2a4b7a53f3573605d4f5686f03a67c37425dc22bgregamesINLINEAXIOMS_deps = utils/InlineAxioms/*hs
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawickHC = ghc
f467b575e2698cfeb818b357b00b2a13873eb309trawickPERL = perl
f467b575e2698cfeb818b357b00b2a13873eb309trawickHAPPY = happy
f467b575e2698cfeb818b357b00b2a13873eb309trawickDRIFT = $(DRIFT_ENV) utils/DrIFT
f467b575e2698cfeb818b357b00b2a13873eb309trawickINLINEAXIOMS = utils/inlineAxioms
f467b575e2698cfeb818b357b00b2a13873eb309trawickHADDOCK = haddock
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawickHC_FLAGS = -Wall
f467b575e2698cfeb818b357b00b2a13873eb309trawick# -fglasgow-exts comes in via ../uni/uni-package.conf
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawickHC_INCLUDE = -i$(INCLUDE_PATH)
f467b575e2698cfeb818b357b00b2a13873eb309trawickHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
f467b575e2698cfeb818b357b00b2a13873eb309trawick -package uni-server
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawick### Profiling and Warnings (only for debugging)
f467b575e2698cfeb818b357b00b2a13873eb309trawick### Attention every module must be compiled with profiling or the linker
f467b575e2698cfeb818b357b00b2a13873eb309trawick### cannot link the various .o files properly. So after switching on
f467b575e2698cfeb818b357b00b2a13873eb309trawick### Profiling, do an 'gmake clean; gmake'
f467b575e2698cfeb818b357b00b2a13873eb309trawick### If you need Profiling comment out the following line
f467b575e2698cfeb818b357b00b2a13873eb309trawick#HC_PROF = -prof -auto-all
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawickHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
f467b575e2698cfeb818b357b00b2a13873eb309trawickHC_OPTS = $(HCI_OPTS) $(HC_PROF)
f467b575e2698cfeb818b357b00b2a13873eb309trawickDRIFT_OPTS = +RTS -K10m -RTS
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawick### list of directories to run checks in
f467b575e2698cfeb818b357b00b2a13873eb309trawickTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawick####################################################################
f467b575e2698cfeb818b357b00b2a13873eb309trawick## sources for hetcats (semi - manually produced with a perl script)
f467b575e2698cfeb818b357b00b2a13873eb309trawick
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),clean)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),bin_clean)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),d_clean)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),real_clean)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),distclean)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),genRules)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),utils/genRules)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),hets-opt)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),hets-optimized)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),derivedSources)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),release)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),check)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),apache_doc)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),clean_genRules)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),atctest2)
f467b575e2698cfeb818b357b00b2a13873eb309trawickifneq ($(MAKECMDGOALS),hetana)
f467b575e2698cfeb818b357b00b2a13873eb309trawickinclude sources_hetcats.mk
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
f467b575e2698cfeb818b357b00b2a13873eb309trawickendif
2a6c49cfaef5979a5a06098f3ce987cd76769409manojendif
531c23ff01a2489646f0a2029097013b328d935agstein
50298555098049d0ebddd539668502fb5b796de0wroweobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
50298555098049d0ebddd539668502fb5b796de0wrowe
776e1de1acb79f624ff097edb15a3b32c832ea21trawickdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
776e1de1acb79f624ff097edb15a3b32c832ea21trawick Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
776e1de1acb79f624ff097edb15a3b32c832ea21trawick $(gendrifted_files)
776e1de1acb79f624ff097edb15a3b32c832ea21trawick
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbbgenrule_header_files = $(wildcard ATC/*.header.hs)
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbbgenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb Common/AS_Annotation.der.hs \
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb CASL/Sublogic.hs \
447c6ce3ff08073c44f6785d5256271fcb877512wrowe CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
447c6ce3ff08073c44f6785d5256271fcb877512wrowe HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
447c6ce3ff08073c44f6785d5256271fcb877512wrowe Modal/AS_Modal.hs Modal/ModalSign.hs \
447c6ce3ff08073c44f6785d5256271fcb877512wrowe CspCASL/AS_CSP_CASL.hs \
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard Static/DevGraph.hs \
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard Haskell/Hatchet/AnnotatedHsSyn.hs \
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard Haskell/Hatchet/MultiModuleBasics.hs \
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard Haskell/Hatchet/HsSyn.hs \
10b386767f6c87b45937244371cb751f0b454d16wrowe Haskell/Hatchet/Representation.hs\
10b386767f6c87b45937244371cb751f0b454d16wrowe Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe Haskell/Hatchet/Env.hs \
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe Isabelle/IsaSign.hs
75960f20f88dad6bc67892c711c429946063d133stoddard
75960f20f88dad6bc67892c711c429946063d133stoddardgendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
75960f20f88dad6bc67892c711c429946063d133stoddard ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
75960f20f88dad6bc67892c711c429946063d133stoddard ATC/AS_Structured.hs ATC/AS_Architecture.hs \
75960f20f88dad6bc67892c711c429946063d133stoddard ATC/DevGraph.hs \
75960f20f88dad6bc67892c711c429946063d133stoddard CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
75960f20f88dad6bc67892c711c429946063d133stoddard HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
10b386767f6c87b45937244371cb751f0b454d16wrowe Modal/ATC_Modal.hs ATC/IsaSign.hs
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowegenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wroweinline_axiom_files = Comorphisms/CASL2PCFOL.hs
10b386767f6c87b45937244371cb751f0b454d16wrowegen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
50298555098049d0ebddd539668502fb5b796de0wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowehappy_files = Haskell/Hatchet/HsParser.hs
a9e07e4f90adcc7bc768db3055431c3dcd560cd1manoj
f6a6245816cd866361da8c576b1f47c7a54b6610fanf# this variable holds the modules that should be documented
f6a6245816cd866361da8c576b1f47c7a54b6610fanf# the imported parsec library is not included!
97b758d0b174d7b7c5a1de1a583f5840ec3fc910trawickdoc_sources = $(filter-out ./Isabelle/IsaSign.hs ,$(sources))
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick####################################################################
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick### targets
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick clean_genRules genRules
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick
9eccc0a669a3e711629345b357c46acce5fefdb4gstein.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
9eccc0a669a3e711629345b357c46acce5fefdb4gstein#.PRECIOUS: sources_hetcats.mk
750fcd3495b59eff6d4844409ae1dfb46d026059gstein
750fcd3495b59eff6d4844409ae1dfb46d026059gsteinall: hets
750fcd3495b59eff6d4844409ae1dfb46d026059gstein
750fcd3495b59eff6d4844409ae1dfb46d026059gsteinhets: $(sources)
750fcd3495b59eff6d4844409ae1dfb46d026059gstein $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
750fcd3495b59eff6d4844409ae1dfb46d026059gstein
750fcd3495b59eff6d4844409ae1dfb46d026059gsteinhets-opt: hetcats/Version.hs
750fcd3495b59eff6d4844409ae1dfb46d026059gstein $(MAKE) distclean
750fcd3495b59eff6d4844409ae1dfb46d026059gstein $(MAKE) derivedSources
750fcd3495b59eff6d4844409ae1dfb46d026059gstein $(MAKE) hets-optimized
9eccc0a669a3e711629345b357c46acce5fefdb4gstein
e9cfc70fceb74521ba0814cdc88808c7d4d00c97gsteinhets-optimized:
e9cfc70fceb74521ba0814cdc88808c7d4d00c97gstein $(HC) --make -O -o hets hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
e9cfc70fceb74521ba0814cdc88808c7d4d00c97gstein strip hets
e9cfc70fceb74521ba0814cdc88808c7d4d00c97gstein
e9cfc70fceb74521ba0814cdc88808c7d4d00c97gsteinhets-old: $(objects)
26ef89f716a43048630e73f527dd2f0ee84f72c2rbb $(RM) $@
26ef89f716a43048630e73f527dd2f0ee84f72c2rbb $(HC) -o hets $(HC_OPTS) $(objects)
26ef89f716a43048630e73f527dd2f0ee84f72c2rbb
26ef89f716a43048630e73f527dd2f0ee84f72c2rbbhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files)
9eccc0a669a3e711629345b357c46acce5fefdb4gstein $(RM) hetcats-make sources_hetcats.mk
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein###############################
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein### TAGS files for (x)emacs
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein# load them with "M-x" "visit-tags-table" from
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein# "HetCATS/hetcats/hetcats.TAGS"
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein# use "M-." to search for a tag
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein# !!Beware this is somewhat instable, because it uses an absolute path!!
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gsteinhetcats.TAGS: $(sources)
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein $(sources); mv TAGS $@; mv tags hetcats.tags
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard###############################
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard### Documentation via haddock
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddarddoc: docs/index.html
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard# index for prelude is missing
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddarddocs/index.html: $(doc_sources)
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard $(HADDOCK) $(doc_sources) -o docs -h \
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard -i docs/base.haddock \
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard -t 'hets -- a heterogenous Specification (CASL) tool set'
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddardapache_doc:
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard $(RM) docs/*.*
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard cvs up -d
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard $(MAKE) hets-opt
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard $(MAKE) doc
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard $(MAKE) post_doc4apache
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddardpost_doc4apache:
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard $(PERL) utils/post_process_docs.pl docs \
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard 'Common.Lib.Map.html:Common.Lib._Map.html'
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard cp docs/*.* a-docs/
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard $(RM) docs/index.html
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard###############################
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard### release management
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddardderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files)
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddardutils/DrIFT: $(DRIFT_deps)
b08eb15d0f6fc054bc997b4ba52b2e3b1eda3a92stoddard (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj strip ../DrIFT)
33a70d93b992bbb63b809c24df29451f38f017c1rbb
bebc7b9445f95339822c26bfd470349006f9ec40stoddardutils/genRules: $(GENERATERULES_deps)
bebc7b9445f95339822c26bfd470349006f9ec40stoddard (cd utils/GenerateRules; \
bebc7b9445f95339822c26bfd470349006f9ec40stoddard $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
bebc7b9445f95339822c26bfd470349006f9ec40stoddard strip ../genRules)
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddardutils/inlineAxioms: $(INLINEAXIOMS_deps)
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard (cd utils/InlineAxioms; \
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard $(MAKE) install && \
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard strip ../inlineAxioms)
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddardrelease:
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard $(RM) -r HetCATS
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard $(RM) -r uni
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard ln -s ../uni uni
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
93db592309ba9e5ab230f67611a2c74fece9cdb2marc $(RM) clean.*; $(RM) Makefile; mv ReleaseMakefile Makefile)
93db592309ba9e5ab230f67611a2c74fece9cdb2marc tar cvf HetCATS.tar HetCATS
93db592309ba9e5ab230f67611a2c74fece9cdb2marc
93db592309ba9e5ab230f67611a2c74fece9cdb2marc#############################
93db592309ba9e5ab230f67611a2c74fece9cdb2marc### ATC DrIFT-rule generation
93db592309ba9e5ab230f67611a2c74fece9cdb2marc
93db592309ba9e5ab230f67611a2c74fece9cdb2marcgenRules: $(generated_rule_files) utils/genRules
90aa1045e25f8ae38b16905abafbb37c89553469jwoolley
90aa1045e25f8ae38b16905abafbb37c89553469jwoolley$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
90aa1045e25f8ae38b16905abafbb37c89553469jwoolley $(MAKE) clean_genRules
164a65065e0e61efa779c3a66c2242be6d88b9e2rbb $(foreach file,$(atc_files),$(gen_atc_files))
0b54edee18a0ec095640e1038ff6da7d35042b44rbb utils/genRules -r $(rule) -o CASL $(casl_files)
0b54edee18a0ec095640e1038ff6da7d35042b44rbb utils/genRules -r $(rule) -o HasCASL -h ATC/HasCASL.header.hs \
0b54edee18a0ec095640e1038ff6da7d35042b44rbb $(hascasl_files)
0b54edee18a0ec095640e1038ff6da7d35042b44rbb utils/genRules -r $(rule) -o Modal $(modal_files)
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard $(haskell_files)
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddardrule = ShATermConvertible
8bed76428f56e5c643174a2d6807c3f18016af5cbjh
8bed76428f56e5c643174a2d6807c3f18016af5cbjhgen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
10b386767f6c87b45937244371cb751f0b454d16wrowe utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
10b386767f6c87b45937244371cb751f0b454d16wrowe else \
50298555098049d0ebddd539668502fb5b796de0wrowe utils/genRules -r $(rule) -o ATC $(file); \
50298555098049d0ebddd539668502fb5b796de0wrowe fi ;
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wroweatc_files := $(filter-out CASL/% HasCASL/% Modal/% CspCASL/% Haskell/% ,$(genrule_files))
10b386767f6c87b45937244371cb751f0b454d16wrowecasl_files := $(filter CASL/% ,$(genrule_files))
10b386767f6c87b45937244371cb751f0b454d16wrowehascasl_files := $(filter HasCASL/% ,$(genrule_files))
50298555098049d0ebddd539668502fb5b796de0wrowemodal_files := $(filter Modal/% ,$(genrule_files))
75960f20f88dad6bc67892c711c429946063d133stoddardcspcasl_files := $(filter CspCASL/% ,$(genrule_files))
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddardhaskell_files := $(filter Haskell/%,$(genrule_files))
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb
d2f8b010487ffa990a9c268df5a25579e7291bcdrbbclean_genRules:
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard $(RM) $(generated_rule_files)
0bff2f28ef945280c17099c142126178a78e1e54manoj
0bff2f28ef945280c17099c142126178a78e1e54manoj###############
0bff2f28ef945280c17099c142126178a78e1e54manoj### clean up
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard
0bff2f28ef945280c17099c142126178a78e1e54manoj### removes *.hi and *.o in all include directories
35330e0d79ceb8027223bbb8330a381b1f989d6etrawickclean: bin_clean
0bff2f28ef945280c17099c142126178a78e1e54manoj for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard (cd $$p ; $(RM) *.hi *.o) ; done
75960f20f88dad6bc67892c711c429946063d133stoddard
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj### remove binaries
ff849e4163ed879288f0df15f78b6c9d278ec804fanfbin_clean:
ff849e4163ed879288f0df15f78b6c9d278ec804fanf $(RM) hets
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) test_parser
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) CASL/capa
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) HasCASL/hacapa
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) Haskell/hapa
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) Haskell/wrap
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) Syntax/hetpa
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein $(RM) Static/hetana
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein $(RM) Static/hetana
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein $(RM) GUI/hetdg
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein $(RM) hetpa
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein $(RM) hetana
0eb7ca6cf812d98c534661ac474e873a32bf6325gstein $(RM) hetdg
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein $(RM) atctest2
8d07897b52e3b7055874501f8a499e75800db206gstein $(RM) atctest
8d07897b52e3b7055874501f8a499e75800db206gstein $(RM) Common/annos
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick### additonally removes *.d (dependency files) in every include directory
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick### also delete *.d.bak (dependency file backups)
79d5106a9b65b956d646f5daae4b94bc79e315b8trawickd_clean: clean
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein (cd $$p ; $(RM) *.d *.d.bak) ; done
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbb### remove files also in own libraries
93c5cba06b623ebe8e4372e886eece12d9a80c3egsteinlib_clean: clean
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein (cd $$p ; $(RM) *.hi *.d *.o) ; done
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein### additionally removes the files that define the sources-variable
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgsteinreal_clean: bin_clean lib_clean
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein $(RM) hetcats-make sources_hetcats.mk
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein### additionally removes files not in CVS tree
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanojdistclean: real_clean clean_genRules d_clean
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj $(RM) hetcats/Version.hs
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj $(RM) $(drifted_files)
531c23ff01a2489646f0a2029097013b328d935agstein $(RM) utils/DrIFT utils/genRules
531c23ff01a2489646f0a2029097013b328d935agstein# $(RM) $(happy_files)
531c23ff01a2489646f0a2029097013b328d935agstein
531c23ff01a2489646f0a2029097013b328d935agstein####################################################################
531c23ff01a2489646f0a2029097013b328d935agstein### test targets
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein####################################################################
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein
333eac96e4fb7d6901cb75e6ca7bb22b2ccb84cetrawick### a parser to test annotation parser and Id parsers
333eac96e4fb7d6901cb75e6ca7bb22b2ccb84cetrawicktest_parser: Common/test_parser
2f728b2e8555fee1b7cc11e886488692f2575fbddougm
2f728b2e8555fee1b7cc11e886488692f2575fbddougmCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
2f728b2e8555fee1b7cc11e886488692f2575fbddougm $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### interactive
64ad864fa0f4493eebb181e393b40a8a90beccb9coarghci:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC)i $(HCI_OPTS)
28d1da9ca818f831ea491f110dafcc10f7f07050coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### christian's target
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### CASL parser
64ad864fa0f4493eebb181e393b40a8a90beccb9coarcapa: CASL/capa
28d1da9ca818f831ea491f110dafcc10f7f07050coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
28d1da9ca818f831ea491f110dafcc10f7f07050coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### HasCASL parser
64ad864fa0f4493eebb181e393b40a8a90beccb9coarhacapa: HasCASL/hacapa
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coarHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### Haskell parser
28d1da9ca818f831ea491f110dafcc10f7f07050coarhapa: Haskell/hapa
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### HetCASL parser
64ad864fa0f4493eebb181e393b40a8a90beccb9coarhetpa: Syntax/hetpa.hs Syntax/*.hs
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### HetCASL parser
28d1da9ca818f831ea491f110dafcc10f7f07050coarhetana: Static/hetana.hs Static/*.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### ATC test system
28d1da9ca818f831ea491f110dafcc10f7f07050coaratctest: ATC/ATCTest.hs ATC/*.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coaratctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coar### ATerm.Lib test system
64ad864fa0f4493eebb181e393b40a8a90beccb9coaratermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) --make -o $@ $< $(HC_OPTS)
28d1da9ca818f831ea491f110dafcc10f7f07050coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### HetCASL with dev graph
64ad864fa0f4493eebb181e393b40a8a90beccb9coarhetdg: GUI/hetdg.hs $(drifted_files) *.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar### run tests in other directories
28d1da9ca818f831ea491f110dafcc10f7f07050coarcheck: hetcats
64ad864fa0f4493eebb181e393b40a8a90beccb9coar for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar####################################################################
28d1da9ca818f831ea491f110dafcc10f7f07050coar## Preparing the version of HetCATS
64ad864fa0f4493eebb181e393b40a8a90beccb9coarhetcats/Version.hs: hetcats/Version.in version_nr
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coar## two hardcoded dependencies for a correct generation of Version.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coarhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coarhets.hs: hetcats/Version.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar####################################################################
28d1da9ca818f831ea491f110dafcc10f7f07050coar## rules for DrIFT
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.hs: %.ly
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HAPPY) $<
28d1da9ca818f831ea491f110dafcc10f7f07050coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.hs: %.der.hs utils/DrIFT
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(DRIFT) $(DRIFT_OPTS) $< > $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar## rules for inlineAxioms
28d1da9ca818f831ea491f110dafcc10f7f07050coar%.hs: %.inline.hs utils/inlineAxioms
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(INLINEAXIOMS) $< > $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar## compiling rules for object and interface files
28d1da9ca818f831ea491f110dafcc10f7f07050coar%.o %.hi: %.hs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) -c $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.o %.hi: %.lhs
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(HC) -c $< $(HC_OPTS)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar## compiling rules for dependencies
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.d : %.hs
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.d : %.lhs
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
28d1da9ca818f831ea491f110dafcc10f7f07050coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar####################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar## Setting a global search path (for dependency files)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coarifneq ($(MAKECMDGOALS),clean)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),real_clean)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),d_clean)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),real_clean)
28d1da9ca818f831ea491f110dafcc10f7f07050coarifneq ($(MAKECMDGOALS),distclean)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),genRules)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),utils/genRules)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),derivedSources)
28d1da9ca818f831ea491f110dafcc10f7f07050coarifneq ($(MAKECMDGOALS),release)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifneq ($(MAKECMDGOALS),clean_genRules)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifeq ($(MAKECMDGOALS),hets-old)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar## include every .d file in INCLUDE_PATH
28d1da9ca818f831ea491f110dafcc10f7f07050coar-include $(objects:.o=.d)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
28d1da9ca818f831ea491f110dafcc10f7f07050coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
28d1da9ca818f831ea491f110dafcc10f7f07050coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coar