Makefile revision 51e836611726885f6d2719d959ed1b51f8fd06f4
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# hetcats/Makefile
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# $Header$
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# Year: 2004
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# This Makefile will compile the new hetcats system and provides also
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# targets for test programs during implementation phases.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!! Note: This makefile is written for GNU make !!!
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# (gmake on solaris ; make on linux)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Some varibles, which control the compilation
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b9625461755578f3eed04676d42a63fd2caebd0cChristian MaederINCLUDE_PATH = ghc:hetcats
b9625461755578f3eed04676d42a63fd2caebd0cChristian MaederCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till MossakowskiCLEAN_PATH = utils/DrIFT-src:utils/GenerateRules:utils/inlineAxioms:Common:Logic:CASL:CASL/CCC:Syntax:Static:GUI:HasCASL:Haskell:Modal:CoCASL:COL:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:Isabelle:$(INCLUDE_PATH):Haskell/Hatchet
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder## set ghc imports properly for your system
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder# override on commandline for other architectures
8410667510a76409aca9bb24ff0eda0420088274Christian MaederINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichDRIFT_deps = utils/DrIFT-src/*hs
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till MossakowskiINLINEAXIOMS_deps = utils/InlineAxioms/*hs
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHC = ghc
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederPERL = perl
d67a33b40578beef2e255a274f89bb9c34aaf056Christian MaederHAPPY = happy
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederDRIFT = $(DRIFT_ENV) utils/DrIFT
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederINLINEAXIOMS = utils/outlineAxioms
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederHADDOCK = haddock
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederHC_FLAGS = -Wall
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder# -fglasgow-exts comes in via ../uni/uni-package.conf
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHC_INCLUDE = -i$(INCLUDE_PATH)
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder -package uni-server
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Profiling and Warnings (only for debugging)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Attention every module must be compiled with profiling or the linker
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### cannot link the various .o files properly. So after switching on
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Profiling, do an 'gmake clean; gmake'
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### If you need Profiling comment out the following line
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich#HC_PROF = -prof -auto-all
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b0294d73dcefc502ddaa13e18b46103a5916971fTill MossakowskiHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederHC_OPTS = $(HCI_OPTS) $(HC_PROF)
77a65251ee036c6aaf09c2775315a4ee24259fbdJorina Freya GerkenDRIFT_OPTS = +RTS -K10m -RTS
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### list of directories to run checks in
4d7d7f9a423490731c73403c7806bd66967da946Christian MaederTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
97812b7ce9860bf514a8822a63503451795dbc65Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## sources for hetcats (semi - manually produced with a perl script)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),bin_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),d_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),real_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),distclean)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),genRules)
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettichifneq ($(MAKECMDGOALS),utils/genRules)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),hets-opt)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),hets-optimized)
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederifneq ($(MAKECMDGOALS),derivedSources)
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maederifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),release)
ce50fe187cdae64e75e510daafb78156280bdb91Christian Maederifneq ($(MAKECMDGOALS),check)
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettichifneq ($(MAKECMDGOALS),apache_doc)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),clean_genRules)
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettichifneq ($(MAKECMDGOALS),atctest2)
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maederifneq ($(MAKECMDGOALS),hetana)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinclude sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettichendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettichendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ce50fe187cdae64e75e510daafb78156280bdb91Christian Maederendif
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettichendif
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maederendif
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maederdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maeder Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder $(gendrifted_files)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettichgenrule_header_files = $(wildcard ATC/*.header.hs)
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maedergenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
c432483b64662e8db604a58758cd18ea7fa65659Christian Maeder Common/AS_Annotation.der.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder CASL/Sublogic.hs \
e8d782e6e650b71a2b0ee8461fd8d9fa31525591Christian Maeder CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
0310dabcd02da51f78f84e7a73d4c7b2dd3e8507Christian Maeder HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
c5e10ba19c9854112e5d29f491759e8e89f83652Christian Maeder HasCASL/Sublogic.hs \
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder Modal/AS_Modal.hs Modal/ModalSign.hs \
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski COL/AS_COL.hs COL/COLSign.hs \
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning CspCASL/AS_CSP_CASL.hs \
8659594bb40eb5f3da5439692f0908300947191eSonja Gröning Static/DevGraph.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder Haskell/Hatchet/AnnotatedHsSyn.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder Haskell/Hatchet/MultiModuleBasics.hs \
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning Haskell/Hatchet/HsSyn.hs \
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning Haskell/Hatchet/Representation.hs\
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill Mossakowski Haskell/Hatchet/Env.hs \
eeb419aa20c97b4af973e97ee6ae77a8eed29e15Till Mossakowski Isabelle/IsaSign.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maedergendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder ATC/AS_Structured.hs ATC/AS_Architecture.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder ATC/DevGraph.hs \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill Mossakowski HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski ATC/IsaSign.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersgenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus Luettichinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowskigen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
327a9b9bf44b6e33f71fee7526dc1c0035251591Christian Maederhappy_files = Haskell/Hatchet/HsParser.hs
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# this variable holds the modules that should be documented
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# the imported parsec library is not included!
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettichdoc_sources = $(filter-out ./Isabelle/IsaSign.hs ,$(sources))
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### targets
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder clean_genRules genRules
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#.PRECIOUS: sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersall: hets
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettichhets: $(sources)
ed9207cf24e96b0d6f59985822054ae28cb69b2eChristian Maeder $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederhets-opt: hetcats/Version.hs
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(MAKE) distclean
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder $(MAKE) derivedSources
b10267ae0a6523b73113fc2dee9ea628266fce60Christian Maeder $(MAKE) real_clean
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder $(MAKE) hets-optimized
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederhets-optimized:
05a8b581f98b928baca6dab60cd20277659ac760Christian Maeder $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
ed9207cf24e96b0d6f59985822054ae28cb69b2eChristian Maeder strip hets
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maederhets-old: $(objects)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder $(HC) -o hets $(HC_OPTS) $(objects)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettichhets.cgi: $(sources) GUI/hets_cgi.hs
c18fea93f234ac2dc23f8da4178f8c43069e226dKlaus Luettich ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS)
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus Luettichhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hetcats-make sources_hetcats.mk
f29371d8bd5a232c974e736b06d0d8a655d320fbKlaus Luettich $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### TAGS files for (x)emacs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# load them with "M-x" "visit-tags-table" from
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# "HetCATS/hetcats/hetcats.TAGS"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# use "M-." to search for a tag
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# !!Beware this is somewhat instable, because it uses an absolute path!!
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetcats.TAGS: $(sources)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(sources); mv TAGS $@; mv tags hetcats.tags
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############################
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich### count lines of code
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettichcount: $(sources)
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich wc -l $(sources)
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich###############################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Documentation via haddock
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederdoc: docs/index.html
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder# index for prelude is missing
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederdocs/index.html: $(doc_sources)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HADDOCK) $(doc_sources) -o docs -h \
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder -i docs/base.haddock \
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich -t 'hets -- a heterogenous Specification (CASL) tool set'
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich
ef67402074be14deb95e4ff564737d5593144130Klaus Luettichapache_doc:
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettich $(RM) docs/*.*
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettich cvs up -d
e7e1ab2ac3f1fded8611bb92ae00e8f3b8c693fbKlaus Luettich $(MAKE) hets-opt
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich $(MAKE) doc
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich $(MAKE) post_doc4apache
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettichpost_doc4apache:
725a68ec81cba9b8aa8647bebfb5baa449803e7eKlaus Luettich $(PERL) utils/post_process_docs.pl docs \
d579f5b263e6c73d466c265f2fbfd45b0e69ca64Klaus Luettich 'Common.Lib.Map.html:Common.Lib._Map.html'
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder cp docs/*.* a-docs/
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder###############################
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder### release management
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
2b770da5668af0faade8133dc6377a0fcaf44134Christian MaederderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichutils/DrIFT: $(DRIFT_deps)
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich strip ../DrIFT)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichutils/genRules: $(GENERATERULES_deps)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder (cd utils/GenerateRules; \
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich strip ../genRules)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus LuettichModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus Luettich $(PERL) utils/genTransMFormFunc.pl $< $@
51e836611726885f6d2719d959ed1b51f8fd06f4Klaus Luettich
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(HC_OPTS) -o $(INLINEAXIOMS)
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder strip $(INLINEAXIOMS)
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederrelease:
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(RM) -r HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(RM) -r uni
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder ln -s ../uni uni
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
94d3aa05411444596b44ede4531f05dd7ac20fdfChristian Maeder find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
dc929508a3bd3c666e9b0182d56898fcafb5d66fChristian Maeder $(RM) clean.*; mv Makefile Makefile.orig; \
dc929508a3bd3c666e9b0182d56898fcafb5d66fChristian Maeder mv ReleaseMakefile Makefile)
94d3aa05411444596b44ede4531f05dd7ac20fdfChristian Maeder tar cvf HetCATS.tar HetCATS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maederinstall-hets:
ddc9315cc0b1f5dd3d8f99a77f1c75064db33b48Christian Maeder chmod g+w hets
ddc9315cc0b1f5dd3d8f99a77f1c75064db33b48Christian Maeder cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder cp -p version_nr $(INSTALLDIR)
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder (cd $(INSTALLDIR); $(RM) hets; \
5d522dff4d0fabf57dd476d4c3de15d354a89f62Christian Maeder ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maederinstall: hets-opt install-hets
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettich#############################
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettich### ATC DrIFT-rule generation
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaedergenRules: $(generated_rule_files) utils/genRules
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettich $(MAKE) clean_genRules
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(foreach file,$(atc_files),$(gen_atc_files))
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder utils/genRules -r $(rule) -o CASL $(casl_files)
d17834302eaa101395b4b806cd73670fd864445fChristian Maeder utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder utils/genRules -r $(rule) -o Modal $(modal_files)
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski utils/genRules -r $(rule) -o COL $(col_files)
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(haskell_files)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersrule = ShATermConvertible
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ac43fa22d2d3f91a17674ac164cba3cf39a17795Klaus Luettichgen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers else \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers utils/genRules -r $(rule) -o ATC $(file); \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers fi ;
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowskiatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/% Haskell/% ,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckerscasl_files := $(filter CASL/% ,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckershascasl_files := $(filter HasCASL/% ,$(genrule_files))
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maedermodal_files := $(filter Modal/% ,$(genrule_files))
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowskicocasl_files := $(filter CoCASL/% ,$(genrule_files))
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowskicol_files := $(filter COL/% ,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckerscspcasl_files := $(filter CspCASL/% ,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckershaskell_files := $(filter Haskell/%,$(genrule_files))
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettichclean_genRules:
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettich $(RM) $(generated_rule_files)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder###############
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### clean up
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### removes *.hi and *.o in all include directories
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maederclean: bin_clean
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder (cd $$p ; $(RM) *.hi *.o) ; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder### remove binaries
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maederbin_clean:
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hets
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(RM) test_parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) CASL/capa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) HasCASL/hacapa
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(RM) Haskell/hapa
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(RM) Haskell/wrap
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder $(RM) Syntax/hetpa
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder $(RM) Static/hetana
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(RM) Static/hetana
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder $(RM) GUI/hetdg
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder $(RM) hetpa
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder $(RM) hetana
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder $(RM) hetdg
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder $(RM) atctest2
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder $(RM) atctest
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder $(RM) Common/annos
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### additonally removes *.d (dependency files) in every include directory
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### also delete *.d.bak (dependency file backups)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederd_clean: clean
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder (cd $$p ; $(RM) *.d *.d.bak) ; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder### remove files also in own libraries
75cda7e5b890d050d560d970af244a183f28328fKlaus Luettichlib_clean: clean
75cda7e5b890d050d560d970af244a183f28328fKlaus Luettich for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder (cd $$p ; $(RM) *.hi *.d *.o) ; done
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### additionally removes the files that define the sources-variable
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maederreal_clean: bin_clean lib_clean
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hetcats-make sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### additionally removes files not in CVS tree
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersdistclean: real_clean clean_genRules d_clean
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) hetcats/Version.hs
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(RM) $(drifted_file) $(inline_axiom_files)
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
ebde431fb3ce536c8bc397fcfc610ac6f92e3be4Christian Maeder# $(RM) $(happy_files)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### test targets
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### a parser to test annotation parser and Id parsers
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian Maedertest_parser: Common/test_parser
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian Maeder
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian MaederCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### interactive
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederghci:
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC)i $(HCI_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### christian's target
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### CASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedercapa: CASL/capa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
481d4fe351800ab00fd323db8974559431227305Christian MaederCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HasCASL parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhacapa: HasCASL/hacapa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
481d4fe351800ab00fd323db8974559431227305Christian MaederHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### Haskell parser
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhapa: Haskell/hapa
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
327a9b9bf44b6e33f71fee7526dc1c0035251591Christian MaederHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HetCASL parser
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maederhetpa: Syntax/hetpa.hs Syntax/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HetCASL parser
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maederhetana: Static/hetana.hs Static/*.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers### ATC test system
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersatctest: ATC/ATCTest.hs ATC/*.hs
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(RM) $@
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(HC) --make -o $@ $< $(HC_OPTS)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maederatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich $(RM) $@
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich### ATerm.Lib test system
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettichatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich $(RM) $@
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich $(HC) --make -o $@ $< $(HC_OPTS)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### HetCASL with dev graph
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetdg: GUI/hetdg.hs $(drifted_files) *.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(RM) $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder### run tests in other directories
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedercheck: hetcats
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Preparing the version of HetCATS
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederhetcats/Version.hs: hetcats/Version.in version_nr
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## two hardcoded dependencies for a correct generation of Version.hs
ba0ec5e897ef99d420c8c14c2374e0f32b7043dbKlaus Luettichhetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
efa8f9db01f64e2c719c201e4037743caefae045Klaus Luettichhets.hs: hetcats/Version.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## rules for DrIFT
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder%.hs: %.ly
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(HAPPY) $<
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder%.hs: %.der.hs utils/DrIFT
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers $(DRIFT) $(DRIFT_OPTS) $< > $@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski## rules for inlineAxioms
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder%.hs: %.inline.hs $(INLINEAXIOMS)
bf76f4fcf07abaebea587df8135de8356c26a363Till Mossakowski $(INLINEAXIOMS) $< > $@
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## compiling rules for object and interface files
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.o %.hi: %.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) -c $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.o %.hi: %.lhs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) -c $< $(HC_OPTS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## compiling rules for dependencies
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.d : %.hs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder%.d : %.lhs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder####################################################################
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## Setting a global search path (for dependency files)
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),real_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),d_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),real_clean)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifneq ($(MAKECMDGOALS),distclean)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),genRules)
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettichifneq ($(MAKECMDGOALS),utils/genRules)
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederifneq ($(MAKECMDGOALS),derivedSources)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifneq ($(MAKECMDGOALS),release)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifneq ($(MAKECMDGOALS),clean_genRules)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersifeq ($(MAKECMDGOALS),hets-old)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder## include every .d file in INCLUDE_PATH
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder-include $(objects:.o=.d)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder
f29371d8bd5a232c974e736b06d0d8a655d320fbKlaus Luettichsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
f29371d8bd5a232c974e736b06d0d8a655d320fbKlaus Luettich $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederendif
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersendif
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettichendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederendif
c0cefaa0e46c95bfb1afee0efd6dd13631cf1affChristian Maederendif