Makefile revision 89f270dacbf9c7a9a52ebb1a3b15796e4131d57f
45e9809aff7304721fddb95654901b32195c9c7avboxsync# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
45e9809aff7304721fddb95654901b32195c9c7avboxsync# Year: 2004
45e9809aff7304721fddb95654901b32195c9c7avboxsync# This Makefile will compile the new hetcats system and provides also
45e9809aff7304721fddb95654901b32195c9c7avboxsync# targets for test programs during implementation phases.
45e9809aff7304721fddb95654901b32195c9c7avboxsync# !!! Note: This makefile is written for GNU make !!!
45e9809aff7304721fddb95654901b32195c9c7avboxsync# (gmake on solaris ; make on linux)
45e9809aff7304721fddb95654901b32195c9c7avboxsync####################################################################
45e9809aff7304721fddb95654901b32195c9c7avboxsync## Some varibles, which control the compilation
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCOMMONLIB_PATH = Common/Lib Common/ATerm fgl/Data/Graph \
45e9809aff7304721fddb95654901b32195c9c7avboxsync fgl/Data/Graph/Inductive fgl/Data/Graph/Inductive/Internal \
45e9809aff7304721fddb95654901b32195c9c7avboxsync fgl/Data/Graph/Inductive/Monad fgl/Data/Graph/Inductive/Query
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCLEAN_PATH = . utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
45e9809aff7304721fddb95654901b32195c9c7avboxsync Logic CASL CASL/CCC Syntax Static GUI HasCASL Haskell Modal CoCASL COL \
45e9809aff7304721fddb95654901b32195c9c7avboxsync CspCASL ATC ToHaskell Proofs Comorphisms Isabelle $(INCLUDE_PATH) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync## set ghc imports properly for your system
45e9809aff7304721fddb95654901b32195c9c7avboxsync DERIVEPATH=.:ghc:hetcats:$(GHC_IMPORTS):$(subst $(space),:,$(PFE_PATHS))
45e9809aff7304721fddb95654901b32195c9c7avboxsync# the 'replacing spaces' example was taken from the (GNU) Make info manual
45e9809aff7304721fddb95654901b32195c9c7avboxsync# override on commandline for other architectures
45e9809aff7304721fddb95654901b32195c9c7avboxsync /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
45e9809aff7304721fddb95654901b32195c9c7avboxsyncGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
45e9809aff7304721fddb95654901b32195c9c7avboxsyncINLINEAXIOMS_deps = utils/InlineAxioms/*hs $(drifted_files)
45e9809aff7304721fddb95654901b32195c9c7avboxsyncHC_FLAGS = -Wall -fglasgow-exts -fno-monomorphism-restriction \
45e9809aff7304721fddb95654901b32195c9c7avboxsync -fallow-overlapping-instances -fallow-undecidable-instances
45e9809aff7304721fddb95654901b32195c9c7avboxsync# -ddump-minimal-imports
45e9809aff7304721fddb95654901b32195c9c7avboxsync# flags also come in via ../uni/uni-package.conf
45e9809aff7304721fddb95654901b32195c9c7avboxsync# but added it here in case of compilation without uni
45e9809aff7304721fddb95654901b32195c9c7avboxsyncUNI_PACKAGE_CONF := $(wildcard ../uni/uni-package.conf)
45e9809aff7304721fddb95654901b32195c9c7avboxsyncHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
45e9809aff7304721fddb95654901b32195c9c7avboxsynclogics = CASL HasCASL Modal CoCASL COL CspCASL Hatchet
45e9809aff7304721fddb95654901b32195c9c7avboxsync# some modules from uni for haddock
45e9809aff7304721fddb95654901b32195c9c7avboxsync# if uni/server is included also HaXml sources are needed
45e9809aff7304721fddb95654901b32195c9c7avboxsyncuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
45e9809aff7304721fddb95654901b32195c9c7avboxsyncuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
45e9809aff7304721fddb95654901b32195c9c7avboxsync base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
45e9809aff7304721fddb95654901b32195c9c7avboxsync base/transforms base/transforms/Deriving property \
45e9809aff7304721fddb95654901b32195c9c7avboxsync property/TI property/defs property/parse2 property/parse2/Parser
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
45e9809aff7304721fddb95654901b32195c9c7avboxsyncpfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPFE_FLAGS = -package data -package text $(PFE_PATH) -DPROGRAMATICA
45e9809aff7304721fddb95654901b32195c9c7avboxsynchappy_files = $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs \
$@.hs -o $@
$(APPENDPRELUDESTRING) < $< > $@
#include sources_hetcats.mk
$(wildcard utils/GenerateRules/*.hs) \
$(wildcard utils/InlineAxioms/*.hs) \
#.PRECIOUS: sources_hetcats.mk
$(RM) $@
$(HC_FLAGS) -O
(cd utils/GenerateRules; \
GenerateRules.hs -o ../genRules && strip ../genRules)
-i../.. -o $(INLINEAXIOMS)
gen_atc_files = \
### also delete *.d.bak (dependency file backups)
ghci:
### ATerm.Lib test system
## two hardcoded dependencies for a correct generation of Version.hs
.SUFFIXES:
%: %.hs
$(HAPPY) $<
%.hs: %.y
$(HAPPY) -o $@ $<
$(INLINEAXIOMS) $< > $@
%.d : %.hs
%.d : %.lhs
## rule for Modal/ModalSystems.hs needed for ModalLogic Translation