Makefile revision 53818ced114da21321063fff307aa41c1ab31dd3
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# hetcats/Makefile
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews# $Header$
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
72cbea34c935116215846c88a94a3c21ec8c1827Mark Andrews# Year: 2004
4e3c7a22ea3219f680e09540ee12bb326fc2ccedMark Andrews
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews# This Makefile will compile the new hetcats system and provides also
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrews# targets for test programs during implementation phases.
a3b428812703d22a605a9f882e71ed65f0ffdc65Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews# !!! Note: This makefile is written for GNU make !!!
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# (gmake on solaris ; make on linux)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews####################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington## Some varibles, which control the compilation
01bf5871f8861eb805dd8ca79bdb9b0b9e4e6a5eMark Andrews
c718d15a9a95054ee3c71540c02335426071fc6dMark AndrewsINCLUDE_PATH = ghc:hetcats:fgl
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCLEAN_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
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews## set ghc imports properly for your system
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsLINUX_IMPORTS = $(wildcard /home/linux-bkb/ghc/ghc-latest/lib/ghc-*/imports)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:${LINUX_IMPORTS}:${GHC_IMPORTS}'
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews# override on commandline for other architectures
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsINSTALLDIR = /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonDRIFT_deps = utils/DrIFT-src/*hs
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsINLINEAXIOMS_deps = utils/InlineAxioms/*hs
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsHC = ghc
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonPERL = perl
a3b428812703d22a605a9f882e71ed65f0ffdc65Mark AndrewsHAPPY = happy
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsDRIFT = $(DRIFT_ENV) utils/DrIFT
c718d15a9a95054ee3c71540c02335426071fc6dMark AndrewsINLINEAXIOMS = utils/outlineAxioms
c6d4f781529d2f28693546b25b2967d44ec89e60Mark AndrewsHADDOCK = haddock
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCPPP = cpp
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsHC_FLAGS = -Wall -fglasgow-exts -fallow-overlapping-instances
4038ab55037184d76153afd3c469aa8c85adf85dMark Andrews# -ddump-minimal-imports
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark Andrews# flags also come in via ../uni/uni-package.conf
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# but added it here in case of compilation without uni
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsHC_INCLUDE = -i$(INCLUDE_PATH)
ede29aeb412c5448ab9a2028763ae08e7887ca74Mark AndrewsHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
1eb1e1e838d2ea00b166c918bf50764a95826be8Mark Andrews -package uni-server -DUNI_PACKAGE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews### Profiling (only for debugging)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson### Attention every module must be compiled with profiling or the linker
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews### cannot link the various .o files properly. So after switching on
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews### Profiling, do an 'gmake real_clean; gmake'
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson### and comment out HC_PACKAGE variable definition above.
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews### Comment in the following line for switching on profiling.
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews#HC_PROF = -prof -auto-all
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonHC_OPTS = $(HCI_OPTS) $(HC_PROF)
26a77b80bb7ee886c6fa704348d5e80a011d8811Mark AndrewsDRIFT_OPTS = +RTS -K10m -RTS
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews### list of directories to run checks in
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsTESTDIRS = Common CASL HasCASL Haskell/Hatchet/examples ToHaskell/test
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
62ee2c9f460d2e2e45dcf1abc8b4b4a4a43f5618Mark Andrews####################################################################
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews## sources for hetcats (semi - manually produced with a perl script)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsifneq ($(MAKECMDGOALS),clean)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsifneq ($(MAKECMDGOALS),bin_clean)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsifneq ($(MAKECMDGOALS),d_clean)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifneq ($(MAKECMDGOALS),real_clean)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsifneq ($(MAKECMDGOALS),distclean)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsifneq ($(MAKECMDGOALS),genRules)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifneq ($(MAKECMDGOALS),utils/genRules)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsifneq ($(MAKECMDGOALS),hets-opt)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifneq ($(MAKECMDGOALS),hets-optimized)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsifneq ($(MAKECMDGOALS),derivedSources)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),$(INLINEAXIOMS))
c25080dc50542213058c240226c9f342186e6285Mark Andrewsifneq ($(MAKECMDGOALS),release)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsifneq ($(MAKECMDGOALS),check)
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrewsifneq ($(MAKECMDGOALS),apache_doc)
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrewsifneq ($(MAKECMDGOALS),clean_genRules)
642e0716c8b4ab82ebc8e60f94c9e897ee89f19aMark Andrewsifneq ($(MAKECMDGOALS),atctest2)
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrewsifneq ($(MAKECMDGOALS),hetana)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsinclude sources_hetcats.mk
413988c8166976498250c0ebb2e3a645d0366bd3Mark Andrewsendif
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrewsendif
c25080dc50542213058c240226c9f342186e6285Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
413988c8166976498250c0ebb2e3a645d0366bd3Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
642e0716c8b4ab82ebc8e60f94c9e897ee89f19aMark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsendif
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews Modal/AS_Modal.hs CoCASL/AS_CoCASL.hs COL/AS_COL.hs \
c25080dc50542213058c240226c9f342186e6285Mark Andrews $(gendrifted_files)
413988c8166976498250c0ebb2e3a645d0366bd3Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsgenrule_header_files = $(wildcard ATC/*.header.hs)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsgenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews Common/AS_Annotation.der.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews CASL/Sublogic.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews CASL/Morphism.hs CASL/Sign.hs CASL/AS_Basic_CASL.der.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews HasCASL/As.hs HasCASL/Le.hs HasCASL/Morphism.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews HasCASL/Sublogic.hs \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Modal/AS_Modal.hs Modal/ModalSign.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs \
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark Andrews COL/AS_COL.hs COL/COLSign.hs \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews CspCASL/AS_CSP_CASL.hs CspCASL/SignCSP.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews Static/DevGraph.hs \
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrews Haskell/Hatchet/AnnotatedHsSyn.hs \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Haskell/Hatchet/MultiModuleBasics.hs \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Haskell/Hatchet/HsSyn.hs \
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrews Haskell/Hatchet/Representation.hs\
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Haskell/Hatchet/Class.hs Haskell/Hatchet/KindInference.hs \
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark Andrews Haskell/Hatchet/Env.hs \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Isabelle/IsaSign.hs
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrewsgendrifted_files = ATC/Graph.hs ATC/Id.hs ATC/Result.hs ATC/AS_Annotation.hs \
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrews ATC/AS_Library.hs ATC/GlobalAnnotations.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews ATC/AS_Structured.hs ATC/AS_Architecture.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews ATC/DevGraph.hs \
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrews CASL/ATC_CASL.hs Haskell/ATC_Haskell.hs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington HasCASL/ATC_HasCASL.hs CspCASL/ATC_CspCASL.hs \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews Modal/ATC_Modal.hs CoCASL/ATC_CoCASL.hs COL/ATC_COL.hs \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews ATC/IsaSign.hs
62ee2c9f460d2e2e45dcf1abc8b4b4a4a43f5618Mark Andrews
1eb1e1e838d2ea00b166c918bf50764a95826be8Mark Andrewsgenerated_rule_files = $(patsubst %.hs,%.der.hs,$(gendrifted_files))
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsinline_axiom_files = Comorphisms/CASL2PCFOL.hs Comorphisms/PCFOL2FOL.hs Comorphisms/Modal2CASL.hs
ea206aebcafe1ed5d470dd99daab9a1cedc81c7cMark Andrewsgen_inline_axiom_files = $(patsubst %.hs,%.inline.hs,$(inline_axiom_files))
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
ea206aebcafe1ed5d470dd99daab9a1cedc81c7cMark Andrewshappy_files = Haskell/Hatchet/HsParser.hs
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
ca12f7f4cf72e2368ee946f3eb4915ab73576cdcMark Andrews# this variable holds the modules that should be documented
7c40ffd67bd1e73907f83a79a6ff8c635f4a4a74Mark Andrews# the imported parsec library is not included!
1eb1e1e838d2ea00b166c918bf50764a95826be8Mark Andrewscpp_sources = ./Isabelle/Logic_Isabelle.hs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ./Proofs/Proofs.hs hets.hs ./CASL/CCC/FreeTypes.hs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdoc_sources = $(filter-out $(cpp_sources) ,$(sources)) \
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews $(patsubst %.hs, %.hspp, $(cpp_sources))
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# some modules from uni for haddock
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews# if uni/server is included also HaXml sources are needed
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonuni_sources = $(wildcard ../uni/davinci/haddock/*.hs) \
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews $(wildcard ../uni/graphs/haddock/*.hs) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ../uni/htk/toplevel/HTk.hs \
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(wildcard ../uni/htk/haddock/*/*.hs) \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(wildcard ../uni/events/haddock/*.hs) \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(wildcard ../uni/reactor/haddock/*.hs) \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(wildcard ../uni/util/haddock/*.hs) \
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark Andrews $(wildcard ../uni/posixutil/haddock/*.hs)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewstax_sources = Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs \
5752b9e296f14034f103149f18188770c2cc5239Mark Andrews Taxonomy/MMiSSOntologyGraph.hs Taxonomy/OntoParser.hs
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewstax_objects = $(patsubst %.hs,%.o,$(tax_sources))
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews####################################################################
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews### targets
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
e076d0c88be69de7c190ab924d095e69d2e11f7aAndreas Gustafsson.PHONY : clean d_clean real_clean bin_clean check hetana hetpa hetdg \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews clean_genRules genRules
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews.SECONDARY : %.hs %.d $(generated_rule_files) $(gen_inline_axiom_files)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews#.PRECIOUS: sources_hetcats.mk
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonall: hets
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewshets: $(sources)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews $(HC) --make -o $@ hets.hs $(HC_OPTS) 2>&1 | tee hetcats-make
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewshets-opt: hetcats/Version.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) distclean
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) derivedSources
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) real_clean
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews $(MAKE) hets-optimized
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewshets-optimized:
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(HC) --make -O -o hets hets.hs $(HC_OPTS) -w 2>&1 | tee hetcats-make
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews strip hets
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewshets-old: $(objects)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) -o hets $(HC_OPTS) $(objects)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhets.cgi: $(sources) GUI/hets_cgi.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ghc --make -package-conf /home/luettich/ghc-pkg/package.conf -package WASH-CGI GUI/hets_cgi.hs -o hets.cgi $(HC_OPTS) -O
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhetcats-make: hets.hs utils/create_sources.pl $(drifted_files) $(happy_files) $(inline_axiom_files) Modal/ModalSystems.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetcats-make sources_hetcats.mk
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontaxonomy: Taxonomy/AbstractGraphView.hs Taxonomy/MMiSSOntology.hs Taxonomy/MMiSSOntologyGraph.hs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Taxonomy/OntoParser.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ghc --make -o Taxonomy/taxonomyTool Taxonomy/taxonomyTool.hs $(HC_OPTS) -package uni-util
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington###############################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### TAGS files for (x)emacs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# load them with "M-x" "visit-tags-table" from
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# "HetCATS/hetcats/hetcats.TAGS"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# use "M-." to search for a tag
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# !!Beware this is somewhat instable, because it uses an absolute path!!
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhetcats.TAGS: $(sources)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(sources); mv TAGS $@; mv tags hetcats.tags
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington###############################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### count lines of code
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncount: $(sources)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington wc -l $(sources)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington###############################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### Documentation via haddock
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtondoc: docs/index.html
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# generate haddock documentation with links to sources
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtondocs/index.html: $(doc_sources)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HADDOCK) $(doc_sources) $(uni_sources) -o docs -h -v \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -i docs/base.haddock -i docs/parsec.haddock -s ../ \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -t 'hets -- a heterogenous Specification (CASL) tool set'
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# sources are not copied here
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonapache_doc:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) docs/*.*
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cvs up -d
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) hets-opt
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) doc
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) post_doc4apache
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonpost_doc4apache:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(PERL) utils/post_process_docs.pl docs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington 'Common.Lib.Map.html:Common.Lib._Map.html'
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cp docs/*.* a-docs/
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington###############################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### release management
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews
eaccf5e805405de257b5a4840256c580fefe00e3Mark AndrewsderivedSources: $(drifted_files) $(happy_files) hetcats/Version.hs $(inline_axiom_files) Modal/ModalSystems.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtonutils/DrIFT: $(DRIFT_deps)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington (cd utils/DrIFT-src; $(HC) --make DrIFT.hs -o ../DrIFT && \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington strip ../DrIFT)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtonutils/genRules: $(GENERATERULES_deps)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington (cd utils/GenerateRules; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make '-i../..:../DrIFT-src' -package text GenerateRules.hs -o ../genRules && \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington strip ../genRules)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington$(INLINEAXIOMS): $(INLINEAXIOMS_deps)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) --make utils/InlineAxioms/InlineAxioms.hs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC_OPTS) -o $(INLINEAXIOMS)
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews strip $(INLINEAXIOMS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonrelease:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) -r HetCATS
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:/repository co HetCATS
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews $(RM) -r uni
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews ln -s ../uni uni
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews (cd HetCATS; $(MAKE) derivedSources; ./clean.sh; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews find . -name CVS -o -name \*.o -o -name \*.hi | xargs $(RM) -r; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(RM) clean.*; mv Makefile Makefile.orig; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews mv ReleaseMakefile Makefile)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews tar cvf HetCATS.tar HetCATS
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsinstall-hets:
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews chmod g+w hets
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews cp -p hets $(INSTALLDIR)/versions/hets-`cat version_nr`
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews cp -p version_nr $(INSTALLDIR)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews (cd $(INSTALLDIR); $(RM) hets; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews ln -s versions/hets-`cat version_nr` hets; $(RM) version_nr)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrewsinstall: hets-opt install-hets
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#############################
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews### ATC DrIFT-rule generation
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtongenRules: $(generated_rule_files) utils/genRules
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington$(generated_rule_files): $(genrule_files) utils/genRules $(genrule_header_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) clean_genRules
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(foreach file,$(atc_files),$(gen_atc_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o CASL $(casl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o HasCASL $(hascasl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o Modal $(modal_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o CoCASL $(cocasl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o COL $(col_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o CspCASL $(cspcasl_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o Haskell -h ATC/Haskell.header.hs \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(haskell_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonrule = ShATermConvertible
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtongen_atc_files = if [ -f ATC/$(basename $(basename $(notdir $(file)))).header.hs ]; then \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington else \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington utils/genRules -r $(rule) -o ATC $(file); \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi ;
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsatc_files := $(filter-out CASL/% HasCASL/% Modal/% CoCASL/% COL/% CspCASL/% Haskell/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncasl_files := $(filter CASL/% ,$(genrule_files))
01bf5871f8861eb805dd8ca79bdb9b0b9e4e6a5eMark Andrewshascasl_files := $(filter HasCASL/% ,$(genrule_files))
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsmodal_files := $(filter Modal/% ,$(genrule_files))
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewscocasl_files := $(filter CoCASL/% ,$(genrule_files))
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrewscol_files := $(filter COL/% ,$(genrule_files))
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewscspcasl_files := $(filter CspCASL/% ,$(genrule_files))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhaskell_files := $(filter Haskell/%,$(genrule_files))
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonclean_genRules:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $(generated_rule_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington###############
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### clean up
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### removes *.hi and *.o in all include directories
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonclean: bin_clean
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington (cd $$p ; $(RM) *.hi *.o *.hspp) ; done
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### remove binaries
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonbin_clean:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hets
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) test_parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) CASL/capa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) HasCASL/hacapa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Haskell/hapa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Haskell/hana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Haskell/wrap
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Syntax/hetpa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Static/hetana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Static/hetana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) GUI/hetdg
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(RM) hetpa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetana
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetdg
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) atctest2
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) atctest
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) Common/annos
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### additonally removes *.d (dependency files) in every include directory
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### also delete *.d.bak (dependency file backups)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtond_clean: clean
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews (cd $$p ; $(RM) *.d *.d.bak) ; done
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### remove files also in own libraries
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewslib_clean: clean
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews for p in $(subst :, ,$(COMMONLIB_PATH)) . ; do \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews (cd $$p ; $(RM) *.hi *.d *.o) ; done
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews### additionally removes the files that define the sources-variable
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsreal_clean: bin_clean lib_clean
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(RM) hetcats-make sources_hetcats.mk
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews### additionally removes files not in CVS tree
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsdistclean: real_clean clean_genRules d_clean
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) hetcats/Version.hs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(RM) $(drifted_file) $(inline_axiom_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) utils/DrIFT utils/genRules $(INLINEAXIOMS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# $(RM) $(happy_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington####################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### test targets
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington####################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### a parser to test annotation parser and Id parsers
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_parser: Common/test_parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### interactive
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonghci:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC)i $(HCI_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### christian's target
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### CASL parser
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncapa: CASL/capa
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
bf54ac86eeddce16b67c525d38d1096cc956f478Mark AndrewsCASL/capa: CASL/capa.hs Common/*.hs CASL/*.hs
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews $(RM) $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) --make -o $@ $< $(HC_OPTS)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews### HasCASL parser
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewshacapa: HasCASL/hacapa
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark AndrewsHasCASL/hacapa: HasCASL/hacapa.hs Common/*.hs HasCASL/*.hs
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(RM) $@
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington### Haskell parser
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewshapa: Haskell/hapa
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
eaccf5e805405de257b5a4840256c580fefe00e3Mark AndrewsHaskell/hapa: Haskell/hapa.hs Haskell/Hatchet/*.hs $(happy_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $@
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews### Haskell analysis
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtonhana: Haskell/hana
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonHaskell/hana: Haskell/hana.hs Haskell/HatAna.hs Haskell/Hatchet/*.hs $(happy_files)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(RM) $@
83a810eba60ae87341a2d177ff60d834e26d7a90Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews### HetCASL parser
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewshetpa: Syntax/hetpa.hs Syntax/*.hs
2bef3713093349af52ba61eaab07adf3207da873Mark Andrews $(RM) $@
2bef3713093349af52ba61eaab07adf3207da873Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
2bef3713093349af52ba61eaab07adf3207da873Mark Andrews
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews### HetCASL parser
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewshetana: Static/hetana.hs Static/*.hs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(RM) $@
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
83a810eba60ae87341a2d177ff60d834e26d7a90Mark Andrews### ATC test system
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsatctest: ATC/ATCTest.hs ATC/*.hs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(RM) $@
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsatctest2: Common/ATerm/ATermLibTest.hs Common/SimpPretty.hs Common/ATerm/*.hs Common/Lib/*.hs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(RM) $@
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews### ATerm.Lib test system
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsatermlibtest: Common/ATerm/ATermLibTest.hs Common/ATerm/*.hs Common/SimpPretty.hs
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(RM) $@
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(HC) --make -o $@ $< $(HC_OPTS)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
01bf5871f8861eb805dd8ca79bdb9b0b9e4e6a5eMark Andrews### HetCASL with dev graph
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhetdg: GUI/hetdg.hs $(drifted_files) *.hs
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(RM) $@
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews### run tests in other directories
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewscheck: hetcats
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews####################################################################
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews## Preparing the version of HetCATS
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewshetcats/Version.hs: hetcats/Version.in version_nr
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews## two hardcoded dependencies for a correct generation of Version.hs
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrewshetcats/Options.hs hetcats/WriteFn.hs hetcats/ReadFn.hs: hetcats/Version.hs
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrewshets.hs: hetcats/Version.hs
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews####################################################################
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews## rules for DrIFT
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews%.hs: %.ly
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews $(HAPPY) $<
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews%.hs: %.der.hs utils/DrIFT
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews $(DRIFT) $(DRIFT_OPTS) $< > $@
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews## rules for inlineAxioms
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews%.hs: %.inline.hs $(INLINEAXIOMS)
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews $(INLINEAXIOMS) $< > $@
6fac7ff1f9ec9c3873d3b55c5079fa79aba1f146Mark Andrews
48b492d73ae5328c5efef4b9e0f22063e0ab058aMark Andrews## rule for cpp and haddock
48b492d73ae5328c5efef4b9e0f22063e0ab058aMark Andrews%.hspp: %.hs
48b492d73ae5328c5efef4b9e0f22063e0ab058aMark Andrews $(HC) -E -cpp -DUNI_PACKAGE -optP -P $<
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews## compiling rules for object and interface files
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews%.o %.hi: %.hs
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(HC) -c $< $(HC_OPTS)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews%.o %.hi: %.lhs
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews $(HC) -c $< $(HC_OPTS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
ca9a8f6d0b0f2a400a96f868193471510364336fMark Andrews## compiling rules for dependencies
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews%.d : %.hs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews%.d : %.lhs
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
854b0d831e45a90211917e3a49f40d10c4a2ee79Mark Andrews
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonModal/ModalSystems.hs: Modal/GeneratePatterns.inline.hs.in utils/genTransMFormFunc.pl $(INLINEAXIOMS)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(PERL) utils/genTransMFormFunc.pl $< $@
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews####################################################################
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews## Setting a global search path (for dependency files)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrewsifneq ($(MAKECMDGOALS),clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),real_clean)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsifneq ($(MAKECMDGOALS),d_clean)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifneq ($(MAKECMDGOALS),real_clean)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsifneq ($(MAKECMDGOALS),distclean)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsifneq ($(MAKECMDGOALS),genRules)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsifneq ($(MAKECMDGOALS),utils/genRules)
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrewsifneq ($(MAKECMDGOALS),derivedSources)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsifneq ($(MAKECMDGOALS),release)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsifneq ($(MAKECMDGOALS),clean_genRules)
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsifeq ($(MAKECMDGOALS),hets-old)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington## include every .d file in INCLUDE_PATH
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington-include $(objects:.o=.d)
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsendif
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonsources_hetcats.mk: hetcats-make hetcats/Version.hs hets.hs utils/create_sources.pl $(drifted_files) $(happy_files)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsendif
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonendif
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsendif
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonendif
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsendif
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsendif
068a66979695c77359e7a9181bb3f831c965b21cMark Andrewsendif
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrewsendif
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews