Makefile revision 438f9bd974c8e668203e636b0f2bc80c589af043
689023771c563d8660e45d439a207e06e96de28fMark Andrews# hetcats/Makefile
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater# $Header$
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Year: 2004
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews# This Makefile will compile the new hetcats system and provides also
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# targets for test programs during implementation phases.
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews# !!! Note: This makefile is written for GNU make !!!
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# (gmake on solaris ; make on linux)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews####################################################################
689023771c563d8660e45d439a207e06e96de28fMark Andrews## Some varibles, which control the compilation
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsINCLUDE_PATH = ghc:hetcats
b05106c7e68077d805893fbae006fae125494fd6Automatic UpdaterCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLEAN_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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## set ghc imports properly for your system
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark AndrewsDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# override on commandline for other architectures
4abdfc917e6635a7c81d1f931a0c79227e72d025Mark AndrewsINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinDRIFT_deps = utils/DrIFT-src/*hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinINLINEAXIOMS_deps = utils/InlineAxioms/*hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHC = ghc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinPERL = perl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHAPPY = happy
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinDRIFT = $(DRIFT_ENV) utils/DrIFT
b05106c7e68077d805893fbae006fae125494fd6Automatic UpdaterINLINEAXIOMS = utils/outlineAxioms
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHADDOCK = haddock
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHC_FLAGS = -Wall
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# -fglasgow-exts comes in via ../uni/uni-package.conf
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHC_INCLUDE = -i$(INCLUDE_PATH)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -package uni-server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### Profiling and Warnings (only for debugging)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### Attention every module must be compiled with profiling or the linker
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### cannot link the various .o files properly. So after switching on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### Profiling, do an 'gmake clean; gmake'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### If you need Profiling comment out the following line
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#HC_PROF = -prof -auto-all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHC_OPTS = $(HCI_OPTS) $(HC_PROF)
b05106c7e68077d805893fbae006fae125494fd6Automatic UpdaterDRIFT_OPTS = +RTS -K10m -RTS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### list of directories to run checks in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein####################################################################
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater## sources for hetcats (semi - manually produced with a perl script)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),bin_clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),d_clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),real_clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),distclean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),genRules)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),utils/genRules)
b05106c7e68077d805893fbae006fae125494fd6Automatic Updaterifneq ($(MAKECMDGOALS),hets-opt)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),hets-optimized)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),derivedSources)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),release)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),check)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),apache_doc)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),clean_genRules)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),atctest2)
b05106c7e68077d805893fbae006fae125494fd6Automatic Updaterifneq ($(MAKECMDGOALS),hetana)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude sources_hetcats.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrewsendif
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b05106c7e68077d805893fbae006fae125494fd6Automatic Updaterdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(gendrifted_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingenrule_header_files = $(wildcard ATC/*.header.hs)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater Common/AS_Annotation.der.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CASL/Sublogic.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein HasCASL/Sublogic.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Modal/AS_Modal.hs Modal/ModalSign.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein COL/AS_COL.hs COL/COLSign.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CspCASL/AS_CSP_CASL.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Static/DevGraph.hs \
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater Haskell/Hatchet/AnnotatedHsSyn.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Haskell/Hatchet/MultiModuleBasics.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Haskell/Hatchet/HsSyn.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Haskell/Hatchet/Representation.hs\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Haskell/Hatchet/Env.hs \
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews Isabelle/IsaSign.hs
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ATC/AS_Structured.hs ATC/AS_Architecture.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ATC/DevGraph.hs \
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ATC/IsaSign.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhappy_files = Haskell/Hatchet/HsParser.hs
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# this variable holds the modules that should be documented
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# the imported parsec library is not included!
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindoc_sources = $(filter-out ./Isabelle/IsaSign.hs ,$(sources))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein####################################################################
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### targets
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein clean_genRules genRules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#.PRECIOUS: sources_hetcats.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall: hets
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhets: $(sources)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhets-opt: hetcats/Version.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MAKE) distclean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MAKE) derivedSources
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MAKE) real_clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MAKE) hets-optimized
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhets-optimized:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein strip hets
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhets-old: $(objects)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) -o hets $(HC_OPTS) $(objects)
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhets.cgi: $(sources) GUI/hets_cgi.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) hetcats-make sources_hetcats.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein###############################
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### TAGS files for (x)emacs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# load them with "M-x" "visit-tags-table" from
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# "HetCATS/hetcats/hetcats.TAGS"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# use "M-." to search for a tag
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# !!Beware this is somewhat instable, because it uses an absolute path!!
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhetcats.TAGS: $(sources)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(sources); mv TAGS $@; mv tags hetcats.tags
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein###############################
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews### count lines of code
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincount: $(sources)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein wc -l $(sources)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein###############################
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### Documentation via haddock
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindoc: docs/index.html
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# index for prelude is missing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindocs/index.html: $(doc_sources)
689023771c563d8660e45d439a207e06e96de28fMark Andrews $(HADDOCK) $(doc_sources) -o docs -h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -i docs/base.haddock \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -t 'hets -- a heterogenous Specification (CASL) tool set'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinapache_doc:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) docs/*.*
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews cvs up -d
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews $(MAKE) hets-opt
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews $(MAKE) doc
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews $(MAKE) post_doc4apache
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpost_doc4apache:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PERL) utils/post_process_docs.pl docs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 'Common.Lib.Map.html:Common.Lib._Map.html'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cp docs/*.* a-docs/
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein###############################
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews### release management
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews
538a83db7509d598da95a93bd7b74ef3112123a4Mark AndrewsderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files) Modal/ModalSystems.hs
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinutils/DrIFT: $(DRIFT_deps)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews strip ../DrIFT)
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsutils/genRules: $(GENERATERULES_deps)
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews (cd utils/GenerateRules; \
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein strip ../genRules)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC_OPTS) -o $(INLINEAXIOMS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein strip $(INLINEAXIOMS)
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinrelease:
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews $(RM) -r HetCATS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) -r uni
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ln -s ../uni uni
f051d76c87e055c6ea3879e0c97a76609df915ccMark Andrews (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) clean.*; mv Makefile Makefile.orig; \
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews mv ReleaseMakefile Makefile)
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews tar cvf HetCATS.tar HetCATS
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrewsinstall-hets:
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews chmod g+w hets
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cp -p version_nr $(INSTALLDIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd $(INSTALLDIR); $(RM) hets; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: hets-opt install-hets
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#############################
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews### ATC DrIFT-rule generation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteingenRules: $(generated_rule_files) utils/genRules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
083a5588a3488b6335ee7bafa505d00644c7c58dMark Andrews$(generated_rule_files): $(genrule_files) utils/genRules #$(genrule_header_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MAKE) clean_genRules
763a2f8ca55318aedb0dc0e5b1d35b53fe28c7d5Mark Andrews $(foreach file,$(atc_files),$(gen_atc_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o CASL $(casl_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o Modal $(modal_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews utils/genRules -r $(rule) -o COL $(col_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(haskell_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinrule = ShATermConvertible
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
689023771c563d8660e45d439a207e06e96de28fMark Andrews utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews else \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein utils/genRules -r $(rule) -o ATC $(file); \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi ;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/% Haskell/% ,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincasl_files := $(filter CASL/% ,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhascasl_files := $(filter HasCASL/% ,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmodal_files := $(filter Modal/% ,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincocasl_files := $(filter CoCASL/% ,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincol_files := $(filter COL/% ,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincspcasl_files := $(filter CspCASL/% ,$(genrule_files))
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updaterhaskell_files := $(filter Haskell/%,$(genrule_files))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updaterclean_genRules:
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater $(RM) $(generated_rule_files)
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater###############
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### clean up
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### removes *.hi and *.o in all include directories
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean: bin_clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd $$p ; $(RM) *.hi *.o) ; done
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### remove binaries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinbin_clean:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) hets
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) test_parser
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) CASL/capa
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) HasCASL/hacapa
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) Haskell/hapa
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews $(RM) Haskell/wrap
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews $(RM) Syntax/hetpa
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews $(RM) Static/hetana
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater $(RM) Static/hetana
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater $(RM) GUI/hetdg
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater $(RM) hetpa
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) hetana
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) hetdg
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) atctest2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) atctest
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) Common/annos
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### additonally removes *.d (dependency files) in every include directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### also delete *.d.bak (dependency file backups)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeind_clean: clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd $$p ; $(RM) *.d *.d.bak) ; done
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### remove files also in own libraries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinlib_clean: clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd $$p ; $(RM) *.hi *.d *.o) ; done
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater### additionally removes the files that define the sources-variable
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinreal_clean: bin_clean lib_clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) hetcats-make sources_hetcats.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### additionally removes files not in CVS tree
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindistclean: real_clean clean_genRules d_clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) hetcats/Version.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $(drifted_file) $(inline_axiom_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# $(RM) $(happy_files)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews####################################################################
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### test targets
689023771c563d8660e45d439a207e06e96de28fMark Andrews####################################################################
689023771c563d8660e45d439a207e06e96de28fMark Andrews
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews### a parser to test annotation parser and Id parsers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeintest_parser: Common/test_parser
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
689023771c563d8660e45d439a207e06e96de28fMark Andrews### interactive
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrewsghci:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC)i $(HCI_OPTS)
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### christian's target
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### CASL parser
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincapa: CASL/capa
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
689023771c563d8660e45d439a207e06e96de28fMark Andrews### HasCASL parser
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhacapa: HasCASL/hacapa
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS)
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews### Haskell parser
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrewshapa: Haskell/hapa
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews
89bc48260b64a8859ae717e9e5bae380e275fef4Mark AndrewsHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### HetCASL parser
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhetpa: Syntax/hetpa.hs Syntax/*.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews### HetCASL parser
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewshetana: Static/hetana.hs Static/*.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS)
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews### ATC test system
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsatctest: ATC/ATCTest.hs ATC/*.hs
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews $(RM) $@
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### ATerm.Lib test system
689023771c563d8660e45d439a207e06e96de28fMark Andrewsatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### HetCASL with dev graph
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhetdg: GUI/hetdg.hs $(drifted_files) *.hs
f051d76c87e055c6ea3879e0c97a76609df915ccMark Andrews $(RM) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews### run tests in other directories
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrewscheck: hetcats
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews####################################################################
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews## Preparing the version of HetCATS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhetcats/Version.hs: hetcats/Version.in version_nr
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## two hardcoded dependencies for a correct generation of Version.hs
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrewshetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhets.hs: hetcats/Version.hs
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews####################################################################
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## rules for DrIFT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein%.hs: %.ly
083a5588a3488b6335ee7bafa505d00644c7c58dMark Andrews $(HAPPY) $<
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
763a2f8ca55318aedb0dc0e5b1d35b53fe28c7d5Mark Andrews%.hs: %.der.hs utils/DrIFT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(DRIFT) $(DRIFT_OPTS) $< > $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## rules for inlineAxioms
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein%.hs: %.inline.hs $(INLINEAXIOMS)
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews $(INLINEAXIOMS) $< > $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## compiling rules for object and interface files
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein%.o %.hi: %.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) -c $< $(HC_OPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein%.o %.hi: %.lhs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) -c $< $(HC_OPTS)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews## compiling rules for dependencies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein%.d : %.hs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein%.d : %.lhs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl $(INLINEAXIOMS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PERL) utils/genTransMFormFunc.pl $< $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein####################################################################
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## Setting a global search path (for dependency files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),real_clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),d_clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),real_clean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),distclean)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),genRules)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),utils/genRules)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),derivedSources)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),release)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifneq ($(MAKECMDGOALS),clean_genRules)
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrewsifeq ($(MAKECMDGOALS),hets-old)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein## include every .d file in INCLUDE_PATH
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews-include $(objects:.o=.d)
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsendif
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
b05106c7e68077d805893fbae006fae125494fd6Automatic Updaterendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinendif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein