Makefile revision b905126bab9454b89041f92b3c50bb9efc85e427
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley# hetcats/Makefile
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington# $Header$
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley# Year: 2004
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley# This Makefile will compile the new hetcats system and provides also
68b952dc98a9e02b269c0712da120cd773679652Brian Wellington# targets for test programs during implementation phases.
68b952dc98a9e02b269c0712da120cd773679652Brian Wellington
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson# !!! Note: This makefile is written for GNU make !!!
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson# (gmake on solaris ; make on linux)
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson####################################################################
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson## Some varibles, which control the compilation
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas GustafssonINCLUDE_PATH = ghc:hetcats
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas GustafssonCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas GustafssonCLEAN_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
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson## set ghc imports properly for your system
ed0a4f1a302a5e543a9a2e4f8e61ca8a0673c6a7Mark AndrewsLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
ed0a4f1a302a5e543a9a2e4f8e61ca8a0673c6a7Mark AndrewsDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
a93cf7e83be621d3d68f51e37121a47a70a6757bMark Andrews
a93cf7e83be621d3d68f51e37121a47a70a6757bMark Andrews# override on commandline for other architectures
a93cf7e83be621d3d68f51e37121a47a70a6757bMark AndrewsINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
a97b72bac75dd2b4294108f59e1273f50495583cAndreas Gustafsson
c05eeed3c915d55a4949f5c2ce8700a0b0f9381bAndreas GustafssonDRIFT_deps = utils/DrIFT-src/*hs
1c1156b6e71555e593ed4bbca2284055c9f6fa45Andreas GustafssonGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
1c1156b6e71555e593ed4bbca2284055c9f6fa45Andreas GustafssonINLINEAXIOMS_deps = utils/InlineAxioms/*hs
c05eeed3c915d55a4949f5c2ce8700a0b0f9381bAndreas Gustafsson
c05eeed3c915d55a4949f5c2ce8700a0b0f9381bAndreas GustafssonHC = ghc
3bb043a8b8b15eece3794ec31ad0ccab103a1c21Brian WellingtonPERL = perl
3bb043a8b8b15eece3794ec31ad0ccab103a1c21Brian WellingtonHAPPY = happy
3bb043a8b8b15eece3794ec31ad0ccab103a1c21Brian WellingtonDRIFT = $(DRIFT_ENV) utils/DrIFT
14c615e979f674aa61b0ca65c6a252009e521dd8Brian WellingtonINLINEAXIOMS = utils/outlineAxioms
3bb043a8b8b15eece3794ec31ad0ccab103a1c21Brian WellingtonHADDOCK = haddock
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas GustafssonHC_FLAGS = -Wall
df0f58959ed82a2a43ca8d816ce9592541df9f2fMark Andrews# -fglasgow-exts comes in via ../uni/uni-package.conf
4d35b6836eb57387a9da6b103331b59cc988b827Mark Andrews
903e9d41ef730f098d38da9588f2824f37b7d73cMark AndrewsHC_INCLUDE = -i$(INCLUDE_PATH)
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob HalleyHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley -package uni-server
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley### Profiling and Warnings (only for debugging)
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley### Attention every module must be compiled with profiling or the linker
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley### cannot link the various .o files properly. So after switching on
6211baaa66d7cac28a21b6426681e597ff04ca9eAndreas Gustafsson### Profiling, do an 'gmake clean; gmake'
6211baaa66d7cac28a21b6426681e597ff04ca9eAndreas Gustafsson### If you need Profiling comment out the following line
4e605108c6533c2ec6311ee7a466582392656dddAndreas Gustafsson#HC_PROF = -prof -auto-all
6211baaa66d7cac28a21b6426681e597ff04ca9eAndreas Gustafsson
ea544b0511a66bc5f3700d56a72dcd808fdf22e8Brian WellingtonHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
ea544b0511a66bc5f3700d56a72dcd808fdf22e8Brian WellingtonHC_OPTS = $(HCI_OPTS) $(HC_PROF)
762a538eed7f4de4c340090536553f9c73f6432aBrian WellingtonDRIFT_OPTS = +RTS -K10m -RTS
ea544b0511a66bc5f3700d56a72dcd808fdf22e8Brian Wellington
a012d6dbfb100390efa7d0d4be64ada0210b09ddBrian Wellington### list of directories to run checks in
a012d6dbfb100390efa7d0d4be64ada0210b09ddBrian WellingtonTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
a012d6dbfb100390efa7d0d4be64ada0210b09ddBrian Wellington
c44ab73a0f37fa8c8a52069ca20dd060492dbafdAndreas Gustafsson
7ae7d499f353549162ddcf6fed957ea21e4fa52bMark Andrews####################################################################
c8d185ad5827bf2cf9982075e3336f680759a260Andreas Gustafsson## sources for hetcats (semi - manually produced with a perl script)
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halley
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halleyifneq ($(MAKECMDGOALS),clean)
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halleyifneq ($(MAKECMDGOALS),bin_clean)
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halleyifneq ($(MAKECMDGOALS),d_clean)
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halleyifneq ($(MAKECMDGOALS),real_clean)
c8d185ad5827bf2cf9982075e3336f680759a260Andreas Gustafssonifneq ($(MAKECMDGOALS),distclean)
c8d185ad5827bf2cf9982075e3336f680759a260Andreas Gustafssonifneq ($(MAKECMDGOALS),genRules)
40c1177517ca5312371da6cc697d813576cfe5a8Andreas Gustafssonifneq ($(MAKECMDGOALS),utils/genRules)
c8d185ad5827bf2cf9982075e3336f680759a260Andreas Gustafssonifneq ($(MAKECMDGOALS),hets-opt)
22cafd0ece9c8d22a1218f000afdbceda21fe8afBrian Wellingtonifneq ($(MAKECMDGOALS),hets-optimized)
22cafd0ece9c8d22a1218f000afdbceda21fe8afBrian Wellingtonifneq ($(MAKECMDGOALS),derivedSources)
2cb74c5bc52ef415a771fafe0bf504eab609feadBrian Wellingtonifneq ($(MAKECMDGOALS),utils/outlineAxioms)
2cb74c5bc52ef415a771fafe0bf504eab609feadBrian Wellingtonifneq ($(MAKECMDGOALS),release)
3d60fe9bafbf633e3a7811c11227baebb17878a4Brian Wellingtonifneq ($(MAKECMDGOALS),check)
3d60fe9bafbf633e3a7811c11227baebb17878a4Brian Wellingtonifneq ($(MAKECMDGOALS),apache_doc)
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellingtonifneq ($(MAKECMDGOALS),clean_genRules)
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellingtonifneq ($(MAKECMDGOALS),atctest2)
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellingtonifneq ($(MAKECMDGOALS),hetana)
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellingtoninclude sources_hetcats.mk
f24c135e09214c3843a49fd32ebef2f6a436ba8eBrian Wellingtonendif
f24c135e09214c3843a49fd32ebef2f6a436ba8eBrian Wellingtonendif
d77312050f1fb1d41b450d4fe6908ea155264d08Brian Wellingtonendif
f24c135e09214c3843a49fd32ebef2f6a436ba8eBrian Wellingtonendif
4b9f0fd0791cb9cb31087789a03fa3a28dd4b583Andreas Gustafssonendif
02940eaf0f732c28c0b39ed114a3803074a80138Andreas Gustafssonendif
02940eaf0f732c28c0b39ed114a3803074a80138Andreas Gustafssonendif
02940eaf0f732c28c0b39ed114a3803074a80138Andreas Gustafssonendif
dc1453b15d6656cd0661d5bec56359efa649268dAndreas Gustafssonendif
9a7d163f6f305d48771b4c56d8d18efc6dfc8fc3Mark Andrewsendif
80aba3d49a872ca11d7cf8550c3a993162e7939fMark Andrewsendif
31039b15173fb3e375269991920e4843f664457eMark Andrewsendif
31039b15173fb3e375269991920e4843f664457eMark Andrewsendif
aa23a35d81a9618a40c4a9b44be48009553e4777Andreas Gustafssonendif
aa23a35d81a9618a40c4a9b44be48009553e4777Andreas Gustafssonendif
936af16e0dbac26c1ec2337e684ff6ca9b2fe1bbAndreas Gustafssonendif
aa23a35d81a9618a40c4a9b44be48009553e4777Andreas Gustafssonendif
22457624d3e63e7cd255b4083cb435c16caea26dBob Halley
22457624d3e63e7cd255b4083cb435c16caea26dBob Halleyobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
019fefd77d7e77f3c841808ab604f8ce31679d2dBrian Wellington
f765672e93eb863ae86571b4a46c9d0b33264976Mark Andrewsdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellington Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellington $(gendrifted_files)
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellington
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellingtongenrule_header_files = $(wildcard ATC/*.header.hs)
b18a5b6730dcb062cf7f47c6b3cb909030b58f36Brian Wellington
b18a5b6730dcb062cf7f47c6b3cb909030b58f36Brian Wellingtongenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
e880677f633f726b7df11ba3e59d4406e22256aaMark Andrews Common/AS_Annotation.der.hs \
e880677f633f726b7df11ba3e59d4406e22256aaMark Andrews Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
7e361074bc8a2df7a0891a7040eea02ca3a5e286Andreas Gustafsson Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson CASL/Sublogic.hs \
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson HasCASL/Sublogic.hs \
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson Modal/AS_Modal.hs Modal/ModalSign.hs \
9e560b59a722d06a62b5aed761e71fec72638a7cBrian Wellington CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
9e560b59a722d06a62b5aed761e71fec72638a7cBrian Wellington CspCASL/AS_CSP_CASL.hs \
f91dc72b422479b5a0caf1fe54c4054d25ae6055Brian Wellington Static/DevGraph.hs \
f91dc72b422479b5a0caf1fe54c4054d25ae6055Brian Wellington Haskell/Hatchet/AnnotatedHsSyn.hs \
7e361074bc8a2df7a0891a7040eea02ca3a5e286Andreas Gustafsson Haskell/Hatchet/MultiModuleBasics.hs \
7e361074bc8a2df7a0891a7040eea02ca3a5e286Andreas Gustafsson Haskell/Hatchet/HsSyn.hs \
7e361074bc8a2df7a0891a7040eea02ca3a5e286Andreas Gustafsson Haskell/Hatchet/Representation.hs\
d6b3d06db7ce3b9229dc30cc0e3a72ba2603da28Bob Halley Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
d6b3d06db7ce3b9229dc30cc0e3a72ba2603da28Bob Halley Haskell/Hatchet/Env.hs \
d6b3d06db7ce3b9229dc30cc0e3a72ba2603da28Bob Halley Isabelle/IsaSign.hs
d6b3d06db7ce3b9229dc30cc0e3a72ba2603da28Bob Halley
8e68489885e744ab48907414b4199c36858c27ddMark Andrewsgendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
8e68489885e744ab48907414b4199c36858c27ddMark Andrews ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
8e68489885e744ab48907414b4199c36858c27ddMark Andrews ATC/AS_Structured.hs ATC/AS_Architecture.hs \
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson ATC/DevGraph.hs \
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs ATC/IsaSign.hs
ec4f7c6d0f0cfc72bcecdb22bf59890d590218d6Mark Andrews
d8d95c7d2eae28c5adbde097e88efa115bae6f35Andreas Gustafssongenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafsson
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafssoninline_axiom_files = Comorphisms/CASL2PCFOL.hs
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafssongen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafsson
7427490a67b9547242b57c255254f7e146127c48Bob Halleyhappy_files = Haskell/Hatchet/HsParser.hs
7427490a67b9547242b57c255254f7e146127c48Bob Halley
7427490a67b9547242b57c255254f7e146127c48Bob Halley# this variable holds the modules that should be documented
7427490a67b9547242b57c255254f7e146127c48Bob Halley# the imported parsec library is not included!
aac319b506beb2e9a77ef124ee95b18870194b05Mark Andrewsdoc_sources = $(filter-out ./Isabelle/IsaSign.hs ,$(sources))
fbe35d126f2c4df000f50662ed9d90ced13188c3Andreas Gustafsson
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson####################################################################
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson### targets
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
2d0627005d48b7657fa11792c123466b4f974b61Mark Andrews clean_genRules genRules
2d0627005d48b7657fa11792c123466b4f974b61Mark Andrews
2d0627005d48b7657fa11792c123466b4f974b61Mark Andrews.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
b1b3495eba72ea2b7270c5cd62b0bb824de74e05Mark Andrews#.PRECIOUS: sources_hetcats.mk
b1b3495eba72ea2b7270c5cd62b0bb824de74e05Mark Andrews
80ddc8b22bf2ede60038393be5cad9da99d3f03fAndreas Gustafssonall: hets
94baac869a70b529a24ff23d8dc899faa5d4fdc4Brian Wellington
94baac869a70b529a24ff23d8dc899faa5d4fdc4Brian Wellingtonhets: $(sources)
94baac869a70b529a24ff23d8dc899faa5d4fdc4Brian Wellington $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
1ac2c28488fb5de80b3ce9aac3500d215cb61728Brian Wellington
1ac2c28488fb5de80b3ce9aac3500d215cb61728Brian Wellingtonhets-opt: hetcats/Version.hs
1ac2c28488fb5de80b3ce9aac3500d215cb61728Brian Wellington $(MAKE) distclean
a1cad3b231800ca928751ff8889bdc6d312d1f88Andreas Gustafsson $(MAKE) derivedSources
a1cad3b231800ca928751ff8889bdc6d312d1f88Andreas Gustafsson $(MAKE) real_clean
a12d9cfa59b5981c52e1aaafedf652d5128f3448Brian Wellington $(MAKE) hets-optimized
702a69f04a89422968ef8fc6fc271fac058e03efBrian Wellington
702a69f04a89422968ef8fc6fc271fac058e03efBrian Wellingtonhets-optimized:
702a69f04a89422968ef8fc6fc271fac058e03efBrian Wellington $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
0f537d1c63f643924355ff9ca2cf72c547101aa4Brian Wellington strip hets
e4aeba32725a79e295c2ceed1919cba076530ba3Andreas Gustafsson
0f537d1c63f643924355ff9ca2cf72c547101aa4Brian Wellingtonhets-old: $(objects)
9ee323b64bc9dcd73f9a0a0e69a31475026721daAndreas Gustafsson $(RM) $@
4b236540be165859390f05911eda86a39ee58eedAndreas Gustafsson $(HC) -o hets $(HC_OPTS) $(objects)
9ee323b64bc9dcd73f9a0a0e69a31475026721daAndreas Gustafsson
c27148868266dd718b6677c794b3e6dca53c3bdcAndreas Gustafssonhets.cgi: $(sources) GUI/hets_cgi.hs
c27148868266dd718b6677c794b3e6dca53c3bdcAndreas Gustafsson ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi
f6987630ce2d424a34bb9d373b3c08de48010287Andreas Gustafsson
c27148868266dd718b6677c794b3e6dca53c3bdcAndreas Gustafssonhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files)
80ddc8b22bf2ede60038393be5cad9da99d3f03fAndreas Gustafsson $(RM) hetcats-make sources_hetcats.mk
f8a44ed40032e034883019ac556f3bb732491a32Mark Andrews $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
f8a44ed40032e034883019ac556f3bb732491a32Mark Andrews
f1007e99b7db3f4e65663d348530f078adb48ccbMark Andrews###############################
07d6480b684d3745e645f35a8b95dae9bda982a3Mark Andrews### TAGS files for (x)emacs
07d6480b684d3745e645f35a8b95dae9bda982a3Mark Andrews# load them with "M-x" "visit-tags-table" from
363cb30a83e8e57bc8874e621910f0e23dd84909Mark Andrews# "HetCATS/hetcats/hetcats.TAGS"
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson# use "M-." to search for a tag
ea6709ec8a66e3ffef9c9466613df499567c57f8Brian Wellington# !!Beware this is somewhat instable, because it uses an absolute path!!
ea6709ec8a66e3ffef9c9466613df499567c57f8Brian Wellingtonhetcats.TAGS: $(sources)
ea6709ec8a66e3ffef9c9466613df499567c57f8Brian Wellington /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson $(sources); mv TAGS $@; mv tags hetcats.tags
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson###############################
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson### count lines of code
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafssoncount: $(sources)
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson wc -l $(sources)
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson###############################
ce1269825c9d9c4bca42ae9750a7a2fd93a45557Mark Andrews### Documentation via haddock
49576ae7a481415d5e815ff59b71c76203259619Andreas Gustafssondoc: docs/index.html
e8af4e152413190e5553c2fb3074a1cc689c6cefAndreas Gustafsson
e8af4e152413190e5553c2fb3074a1cc689c6cefAndreas Gustafsson# index for prelude is missing
4d30acbac52fcb20a4f0ab4f8508f24861386fe7Brian Wellingtondocs/index.html: $(doc_sources)
4d30acbac52fcb20a4f0ab4f8508f24861386fe7Brian Wellington $(HADDOCK) $(doc_sources) -o docs -h \
4d30acbac52fcb20a4f0ab4f8508f24861386fe7Brian Wellington -i docs/base.haddock \
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellington -t 'hets -- a heterogenous Specification (CASL) tool set'
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellington
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellingtonapache_doc:
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellington $(RM) docs/*.*
76c9d2f6c0a5d6ea8bcc35fc3228d2019507b2bbBrian Wellington cvs up -d
76c9d2f6c0a5d6ea8bcc35fc3228d2019507b2bbBrian Wellington $(MAKE) hets-opt
76c9d2f6c0a5d6ea8bcc35fc3228d2019507b2bbBrian Wellington $(MAKE) doc
187a97287e626b2f2e9774479e145dfbf1eba66cBrian Wellington $(MAKE) post_doc4apache
187a97287e626b2f2e9774479e145dfbf1eba66cBrian Wellington
187a97287e626b2f2e9774479e145dfbf1eba66cBrian Wellingtonpost_doc4apache:
49576ae7a481415d5e815ff59b71c76203259619Andreas Gustafsson $(PERL) utils/post_process_docs.pl docs \
49576ae7a481415d5e815ff59b71c76203259619Andreas Gustafsson 'Common.Lib.Map.html:Common.Lib._Map.html'
7ed2d93fa4e12e0ceaa0c7c0da3a89e7a5d78296Andreas Gustafsson cp docs/*.* a-docs/
1ec527b71267747cc3ae4d9849aa4f6362c78ea9Brian Wellington
1ec527b71267747cc3ae4d9849aa4f6362c78ea9Brian Wellington###############################
1ec527b71267747cc3ae4d9849aa4f6362c78ea9Brian Wellington### release management
703e1c0bb66f3cd3d300358ca0c1fdf3cb5fb1c5Brian Wellington
703e1c0bb66f3cd3d300358ca0c1fdf3cb5fb1c5Brian WellingtonderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files)
703e1c0bb66f3cd3d300358ca0c1fdf3cb5fb1c5Brian Wellington
7ed2d93fa4e12e0ceaa0c7c0da3a89e7a5d78296Andreas Gustafssonutils/DrIFT: $(DRIFT_deps)
bfd14616fa53e2572e7492a21467fad239deeae7Andreas Gustafsson (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
7ed2d93fa4e12e0ceaa0c7c0da3a89e7a5d78296Andreas Gustafsson strip ../DrIFT)
14bb9cccae74676e25ae145dc14a3681cc3022b9Mark Andrews
14bb9cccae74676e25ae145dc14a3681cc3022b9Mark Andrewsutils/genRules: $(GENERATERULES_deps)
01b8865b1462ba219c90cf6c00f1bf0fdf780d9bBrian Wellington (cd utils/GenerateRules; \
01b8865b1462ba219c90cf6c00f1bf0fdf780d9bBrian Wellington $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley strip ../genRules)
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley
fcc3c131e03cb7e844eaecf74d4f9b7fd38c8398Andreas Gustafssonutils/outlineAxioms: $(INLINEAXIOMS_deps)
fb0663dbdd4811c6062fe602b511227be66aec56Mark Andrews $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
fb0663dbdd4811c6062fe602b511227be66aec56Mark Andrews $(HC_OPTS) -o utils/outlineAxioms
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson strip utils/outlineAxioms
7017ede939a5d3e7f2dc113061887a9e81fe8627Brian Wellington
7017ede939a5d3e7f2dc113061887a9e81fe8627Brian Wellingtonrelease:
7017ede939a5d3e7f2dc113061887a9e81fe8627Brian Wellington $(RM) -r HetCATS
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
fcc3c131e03cb7e844eaecf74d4f9b7fd38c8398Andreas Gustafsson $(RM) -r uni
66921d6dd259c4486a07aba19eee2b8349698575Brian Wellington ln -s ../uni uni
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
b65fc651b8aaab5d0fb9b8f6ef583d699d14a113Mark Andrews find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson $(RM) clean.*; mv Makefile Makefile.orig; \
2728a98ee4104b2fb30f273893a7f354e20002b5Mark Andrews mv ReleaseMakefile Makefile)
c50895694ef939f287aaa7505e0fcf634903bd34Mark Andrews tar cvf HetCATS.tar HetCATS
be387fd057ee54ae5d84904e69587d6e29bd3950Mark Andrews
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafssoninstall-hets:
d72269740049af28b091ba81d68a067c88f53547Mark Andrews chmod g+w hets
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
7dbb39a417a28f61ba13e6e066c2f9c711f61471Mark Andrews cp -p version_nr $(INSTALLDIR)
7dbb39a417a28f61ba13e6e066c2f9c711f61471Mark Andrews (cd $(INSTALLDIR); $(RM) hets; \
a51f77a70bba62f227fb15fe72ecf959893e3f0fMark Andrews ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
a51f77a70bba62f227fb15fe72ecf959893e3f0fMark Andrews
a51f77a70bba62f227fb15fe72ecf959893e3f0fMark Andrewsinstall: hets-opt install-hets
5e16689bd396d261779526345a1c5207e3308477Andreas Gustafsson
f7321615eaaf63461bd682513d2873d97ae31771Mark Andrews#############################
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson### ATC DrIFT-rule generation
7dec36c225ad044a6546a4e232888f3412c030a8Brian Wellington
7dec36c225ad044a6546a4e232888f3412c030a8Brian WellingtongenRules: $(generated_rule_files) utils/genRules
7dec36c225ad044a6546a4e232888f3412c030a8Brian Wellington
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson $(MAKE) clean_genRules
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson $(foreach file,$(atc_files),$(gen_atc_files))
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson utils/genRules -r $(rule) -o CASL $(casl_files)
725fec8d79ff36402b0f90a7a05aafa7964e387fBrian Wellington utils/genRules -r $(rule) -o HasCASL -h ATC/HasCASL.header.hs \
9b0c4bf7003db929fe00a345fc96fb97677d29e0Brian Wellington $(hascasl_files)
9b0c4bf7003db929fe00a345fc96fb97677d29e0Brian Wellington utils/genRules -r $(rule) -o Modal $(modal_files)
19c7cce8555ccc0c95455a0c35dedd017d420d05Mark Andrews utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
19c7cce8555ccc0c95455a0c35dedd017d420d05Mark Andrews utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson $(haskell_files)
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafssonrule = ShATermConvertible
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson
0c70ab306505d89983186e9f8bb8647de55b5d04Mark Andrewsgen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
0c70ab306505d89983186e9f8bb8647de55b5d04Mark Andrews utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
0c70ab306505d89983186e9f8bb8647de55b5d04Mark Andrews else \
32e64787d9bd84a012ddac506f88fbc677b49377Brian Wellington utils/genRules -r $(rule) -o ATC $(file); \
32e64787d9bd84a012ddac506f88fbc677b49377Brian Wellington fi ;
32e64787d9bd84a012ddac506f88fbc677b49377Brian Wellington
fa5a42fbad42f4e033376d5d4624e29d018d97b7Brian Wellingtonatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% CspCASL/% Haskell/% ,$(genrule_files))
fa5a42fbad42f4e033376d5d4624e29d018d97b7Brian Wellingtoncasl_files := $(filter CASL/% ,$(genrule_files))
fa5a42fbad42f4e033376d5d4624e29d018d97b7Brian Wellingtonhascasl_files := $(filter HasCASL/% ,$(genrule_files))
fa5a42fbad42f4e033376d5d4624e29d018d97b7Brian Wellingtonmodal_files := $(filter Modal/% ,$(genrule_files))
523dd6a979865b8b1b8f1ecc81e5ce47a168c63fBrian Wellingtoncocasl_files := $(filter CoCASL/% ,$(genrule_files))
523dd6a979865b8b1b8f1ecc81e5ce47a168c63fBrian Wellingtoncspcasl_files := $(filter CspCASL/% ,$(genrule_files))
523dd6a979865b8b1b8f1ecc81e5ce47a168c63fBrian Wellingtonhaskell_files := $(filter Haskell/%,$(genrule_files))
5bb4ceb2a67fd558962f8a786c93daedc148a599Mark Andrews
5bb4ceb2a67fd558962f8a786c93daedc148a599Mark Andrewsclean_genRules:
5bb4ceb2a67fd558962f8a786c93daedc148a599Mark Andrews $(RM) $(generated_rule_files)
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington###############
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington### clean up
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington
3f8ad70264645ebd6a2a8bc7e923271eb5bf8416Brian Wellington### removes *.hi and *.o in all include directories
3f8ad70264645ebd6a2a8bc7e923271eb5bf8416Brian Wellingtonclean: bin_clean
9b0e404e5fc71a2bd4fba8a66296477f815af7d5Brian Wellington for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
fff07c1022643da7274d4ba1b086c9c218762dc9Brian Wellington (cd $$p ; $(RM) *.hi *.o) ; done
fff07c1022643da7274d4ba1b086c9c218762dc9Brian Wellington
fff07c1022643da7274d4ba1b086c9c218762dc9Brian Wellington### remove binaries
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafssonbin_clean:
c26c349eab7ca0499786c2091f0e407ec90eee6bAndreas Gustafsson $(RM) hets
c26c349eab7ca0499786c2091f0e407ec90eee6bAndreas Gustafsson $(RM) test_parser
c26c349eab7ca0499786c2091f0e407ec90eee6bAndreas Gustafsson $(RM) CASL/capa
c26c349eab7ca0499786c2091f0e407ec90eee6bAndreas Gustafsson $(RM) HasCASL/hacapa
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson $(RM) Haskell/hapa
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson $(RM) Haskell/wrap
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson $(RM) Syntax/hetpa
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson $(RM) Static/hetana
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson $(RM) Static/hetana
228c679d7a269423019f7c528db92e855f08240bMark Andrews $(RM) GUI/hetdg
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington $(RM) hetpa
8c6058d00f89792733b5c8d4ceee84ab5025857bAndreas Gustafsson $(RM) hetana
8c6058d00f89792733b5c8d4ceee84ab5025857bAndreas Gustafsson $(RM) hetdg
148af05e15f5d7ae3b076231617369fdaf57d26dAndreas Gustafsson $(RM) atctest2
d31498a54482c8d5d934875d3fdeaa621c962d6fBrian Wellington $(RM) atctest
d31498a54482c8d5d934875d3fdeaa621c962d6fBrian Wellington $(RM) Common/annos
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington### additonally removes *.d (dependency files) in every include directory
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington### also delete *.d.bak (dependency file backups)
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellingtond_clean: clean
54ce9b2e29aafe1cb5f898a0983fb66e450e9559Brian Wellington for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
175ba246fb074ae8caca0e76ecc8055517ab486cBrian Wellington (cd $$p ; $(RM) *.d *.d.bak) ; done
54ce9b2e29aafe1cb5f898a0983fb66e450e9559Brian Wellington
54ce9b2e29aafe1cb5f898a0983fb66e450e9559Brian Wellington### remove files also in own libraries
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellingtonlib_clean: clean
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellington for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellington (cd $$p ; $(RM) *.hi *.d *.o) ; done
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellington
8dd5237a27e2e824d18f835dc711573aeb23a173Mark Andrews### additionally removes the files that define the sources-variable
8dd5237a27e2e824d18f835dc711573aeb23a173Mark Andrewsreal_clean: bin_clean lib_clean
8dd5237a27e2e824d18f835dc711573aeb23a173Mark Andrews $(RM) hetcats-make sources_hetcats.mk
3b5102fc018a29e52befde5991844843c7b70786Michael Sawyer
bbd3d20d0843165a74698166a3180897fd019e18Andreas Gustafsson### additionally removes files not in CVS tree
3b5102fc018a29e52befde5991844843c7b70786Michael Sawyerdistclean: real_clean clean_genRules d_clean
bbd3d20d0843165a74698166a3180897fd019e18Andreas Gustafsson $(RM) hetcats/Version.hs
bbd3d20d0843165a74698166a3180897fd019e18Andreas Gustafsson $(RM) $(drifted_files)
3b5102fc018a29e52befde5991844843c7b70786Michael Sawyer $(RM) utils/DrIFT utils/genRules
f7e900edbc368275aa7cec7ebec0986e45aeadd7Mark Andrews# $(RM) $(happy_files)
f7e900edbc368275aa7cec7ebec0986e45aeadd7Mark Andrews
ec772e873bd7f24418049b5b1b5d7c44ff781356Brian Wellington####################################################################
ec772e873bd7f24418049b5b1b5d7c44ff781356Brian Wellington### test targets
ec772e873bd7f24418049b5b1b5d7c44ff781356Brian Wellington####################################################################
abfbf760f3bc2a6744b0249a31ca5153234b49e8Brian Wellington
abfbf760f3bc2a6744b0249a31ca5153234b49e8Brian Wellington### a parser to test annotation parser and Id parsers
abfbf760f3bc2a6744b0249a31ca5153234b49e8Brian Wellingtontest_parser: Common/test_parser
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob HalleyCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley $(RM) $@
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley $(HC) --make -o $@ $< $(HC_OPTS)
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley### interactive
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halleyghci:
065958bd3d26dbc25ff313cfcee07bb6a77ee47eBrian Wellington $(HC)i $(HCI_OPTS)
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley
4e7942dc7612acb71b111a5e8d919960f5a9efc5Mark Andrews### christian's target
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence### CASL parser
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafssoncapa: CASL/capa
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas GustafssonCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson $(RM) $@
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson $(HC) --make -o $@ $< $(HC_OPTS)
184867e88b5a30bbc29f17edbc7b50a6c8a944e7David Lawrence
184867e88b5a30bbc29f17edbc7b50a6c8a944e7David Lawrence### HasCASL parser
184867e88b5a30bbc29f17edbc7b50a6c8a944e7David Lawrencehacapa: HasCASL/hacapa
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid LawrenceHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence $(RM) $@
046a9aca49bdc25bd57d75fd0dd34c021722f095Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
f4e4111795ceb13066d09c38723afacb04e33ad4Mark Andrews
f4e4111795ceb13066d09c38723afacb04e33ad4Mark Andrews### Haskell parser
f4e4111795ceb13066d09c38723afacb04e33ad4Mark Andrewshapa: Haskell/hapa
253ab81bf2760d3d7f68512b43710afc02d788daMark Andrews
253ab81bf2760d3d7f68512b43710afc02d788daMark AndrewsHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
253ab81bf2760d3d7f68512b43710afc02d788daMark Andrews $(RM) $@
be171be1799e0ba8cdd35d4f67b772ff086d0d81Andreas Gustafsson $(HC) --make -o $@ $< $(HC_OPTS)
be171be1799e0ba8cdd35d4f67b772ff086d0d81Andreas Gustafsson
9f28451bca8377ef6c9ea3b0a49bf342c9fa6800Mark Andrews### HetCASL parser
9f28451bca8377ef6c9ea3b0a49bf342c9fa6800Mark Andrewshetpa: Syntax/hetpa.hs Syntax/*.hs
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson $(RM) $@
af5dc286ff4b750deec50d1c006aae5fc38019c0Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
af5dc286ff4b750deec50d1c006aae5fc38019c0Mark Andrews
ef9f9001fca9445ef315b1e76a66fc84fef6fdc6Andreas Gustafsson### HetCASL parser
ee303f481dfefcd4e4994f8b8b17f2de32aa4d69Brian Wellingtonhetana: Static/hetana.hs Static/*.hs
ee303f481dfefcd4e4994f8b8b17f2de32aa4d69Brian Wellington $(RM) $@
ee303f481dfefcd4e4994f8b8b17f2de32aa4d69Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
9b2a2a9016980fbed6b2025d365a8ae99897608cDavid Lawrence
9b2a2a9016980fbed6b2025d365a8ae99897608cDavid Lawrence### ATC test system
9b2a2a9016980fbed6b2025d365a8ae99897608cDavid Lawrenceatctest: ATC/ATCTest.hs ATC/*.hs
86b8c485762daa54a96d033110f6f41ea96e5213David Lawrence $(RM) $@
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence $(HC) --make -o $@ $< $(HC_OPTS)
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrenceatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence $(RM) $@
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence $(HC) --make -o $@ $< $(HC_OPTS)
2115bc7d6433c92499d8e4f67e1c1dfa42ecd6f0David Lawrence
2115bc7d6433c92499d8e4f67e1c1dfa42ecd6f0David Lawrence### ATerm.Lib test system
2115bc7d6433c92499d8e4f67e1c1dfa42ecd6f0David Lawrenceatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
02e38214502c3a946cdfe87e16525747617a1150Brian Wellington $(RM) $@
02e38214502c3a946cdfe87e16525747617a1150Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
02e38214502c3a946cdfe87e16525747617a1150Brian Wellington
f8da2d95835c5216570a45e9000f740321503ae3David Lawrence### HetCASL with dev graph
f8da2d95835c5216570a45e9000f740321503ae3David Lawrencehetdg: GUI/hetdg.hs $(drifted_files) *.hs
f8da2d95835c5216570a45e9000f740321503ae3David Lawrence $(RM) $@
f8da2d95835c5216570a45e9000f740321503ae3David Lawrence $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
fdb2cda3ed366699d70aaf67ee5ae7fcd2ca7561David Lawrence
fdb2cda3ed366699d70aaf67ee5ae7fcd2ca7561David Lawrence
6094a7774954463e312f7266c8d4d3f26aa07d4aAndreas Gustafsson### run tests in other directories
6094a7774954463e312f7266c8d4d3f26aa07d4aAndreas Gustafssoncheck: hetcats
8dc3d2006f679d0a291f7a20612c37e2a7146096Brian Wellington for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson####################################################################
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson## Preparing the version of HetCATS
ef9f9001fca9445ef315b1e76a66fc84fef6fdc6Andreas Gustafssonhetcats/Version.hs: hetcats/Version.in version_nr
bd5f2ac1880f5f2e96b291378c3dff296fc011f1Mark Andrews $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
a06df85974344892431b14bec51c1beeee971eccAndreas Gustafsson
24c5978e0b32137305c2bef2c6e116ee7680a610Andreas Gustafsson## two hardcoded dependencies for a correct generation of Version.hs
f0f61db621eed0c453e31bb85f6803c550e19a6bAndreas Gustafssonhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
63612a0fe1abbeb8ab6d727a4cfe46831c481387Brian Wellingtonhets.hs: hetcats/Version.hs
63612a0fe1abbeb8ab6d727a4cfe46831c481387Brian Wellington####################################################################
63612a0fe1abbeb8ab6d727a4cfe46831c481387Brian Wellington## rules for DrIFT
9be0c3d823200bed1286cff6bddf2a8c639f5287Brian Wellington
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence%.hs: %.ly
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence $(HAPPY) $<
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence%.hs: %.der.hs utils/DrIFT
32bb863ea960caa650105b60dcd45e3db6840a6fAndreas Gustafsson $(DRIFT) $(DRIFT_OPTS) $< > $@
32bb863ea960caa650105b60dcd45e3db6840a6fAndreas Gustafsson
7d33e8996948523e0180bc7e28a93d534d878dccAndreas Gustafsson## rules for inlineAxioms
736aab3076e9bec708cec073f5cf8e6c4b588886Brian Wellington%.hs: %.inline.hs utils/outlineAxioms
736aab3076e9bec708cec073f5cf8e6c4b588886Brian Wellington $(INLINEAXIOMS) $< > $@
736aab3076e9bec708cec073f5cf8e6c4b588886Brian Wellington
732f883c12f171186d7f3331ebdf5d16044b14b0Brian Wellington## compiling rules for object and interface files
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson%.o %.hi: %.hs
7cb10f77890fe36b14079c7beb848ec390a53e44Andreas Gustafsson $(HC) -c $< $(HC_OPTS)
7cb10f77890fe36b14079c7beb848ec390a53e44Andreas Gustafsson
7cb10f77890fe36b14079c7beb848ec390a53e44Andreas Gustafsson%.o %.hi: %.lhs
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson $(HC) -c $< $(HC_OPTS)
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson## compiling rules for dependencies
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson%.d : %.hs
f53848e17123569387b279578f0100dca5407da5Mark Andrews $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
f53848e17123569387b279578f0100dca5407da5Mark Andrews
f53848e17123569387b279578f0100dca5407da5Mark Andrews%.d : %.lhs
d46bf932ed5e1f58a4c424ce1ce7525963354482Brian Wellington $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
d46bf932ed5e1f58a4c424ce1ce7525963354482Brian Wellington
d46bf932ed5e1f58a4c424ce1ce7525963354482Brian Wellington####################################################################
64a84169d7eed05486b10be90afea58f4af146f9Brian Wellington## Setting a global search path (for dependency files)
1599bd6998f54b2b34804d7332f543744368a586Mark Andrews
09671f9551077f9eae8c41619b61272cb9821100Andreas Gustafssonifneq ($(MAKECMDGOALS),clean)
1599bd6998f54b2b34804d7332f543744368a586Mark Andrewsifneq ($(MAKECMDGOALS),real_clean)
acc63b06d9e4e2137950dabddcccd17d8b336ca0Olafur Gudmundssonifneq ($(MAKECMDGOALS),d_clean)
c8fc692fa1445ccfc39b68902546cdfc7ee30d3eBrian Wellingtonifneq ($(MAKECMDGOALS),real_clean)
c8fc692fa1445ccfc39b68902546cdfc7ee30d3eBrian Wellingtonifneq ($(MAKECMDGOALS),distclean)
c8fc692fa1445ccfc39b68902546cdfc7ee30d3eBrian Wellingtonifneq ($(MAKECMDGOALS),genRules)
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafssonifneq ($(MAKECMDGOALS),utils/genRules)
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafssonifneq ($(MAKECMDGOALS),derivedSources)
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafssonifneq ($(MAKECMDGOALS),release)
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafssonifneq ($(MAKECMDGOALS),clean_genRules)
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafssonifeq ($(MAKECMDGOALS),hets-old)
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson## include every .d file in INCLUDE_PATH
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson-include $(objects:.o=.d)
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafssonendif
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafssonsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
10e22ebcc3629be94d37bf408157e2c5ee5740e0Andreas Gustafssonendif
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafssonendif
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafssonendif
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafssonendif
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafssonendif
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafssonendif
3d509f54ac6bbcc19de5aa6d1ce37e001821dc7bDavid Lawrenceendif
3d509f54ac6bbcc19de5aa6d1ce37e001821dc7bDavid Lawrenceendif
3d509f54ac6bbcc19de5aa6d1ce37e001821dc7bDavid Lawrenceendif
3d509f54ac6bbcc19de5aa6d1ce37e001821dc7bDavid Lawrenceendif
a59ed6543bbc13e7c784d6badce7b757c2620e28David Lawrence