Makefile revision e2d849b4152a234bc0afaa2ab3a7c17d28de7565
2793e3bd31d212d6506686aa70773e13d9d98195Timo Sirainen# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
2793e3bd31d212d6506686aa70773e13d9d98195Timo Sirainen# This Makefile will compile the new hetcats system and provides also
c63544d7d2580c680b07f9569e87e9cebee383d5Timo Sirainen# targets for test programs during implementation phases.
2793e3bd31d212d6506686aa70773e13d9d98195Timo Sirainen# !!! Note: This makefile is written for GNU make !!!
c06cd6539a3dbd68eb546464076187be6bc4290fTimo Sirainen# (gmake on solaris ; make on linux)
2793e3bd31d212d6506686aa70773e13d9d98195Timo Sirainen####################################################################
20b136f04257b0ba338e49f31a999c0d4b243647Timo Sirainen## Some varibles, which control the compilation
fda168427e1950518acd6d600f1a10a29a5baef0Timo SirainenCOMMONLIB_PATH = Common/Lib Common/ATerm fgl/Data/Graph \
85a4ae7e8df7ea45a7665828e5edf48a5fc85730Timo Sirainen fgl/Data/Graph/Inductive fgl/Data/Graph/Inductive/Internal \
85a4ae7e8df7ea45a7665828e5edf48a5fc85730Timo Sirainen fgl/Data/Graph/Inductive/Monad fgl/Data/Graph/Inductive/Query
fda168427e1950518acd6d600f1a10a29a5baef0Timo SirainenCLEAN_PATH = . utils/DrIFT-src utils/GenerateRules utils/InlineAxioms Common \
3d4450c252790b03bb5ce054987ac91110f1ff62Timo Sirainen Logic CASL CASL/CCC Syntax Static GUI HasCASL Haskell Modal CoCASL COL \
3d4450c252790b03bb5ce054987ac91110f1ff62Timo Sirainen CspCASL ATC ToHaskell Proofs Comorphisms Isabelle $(INCLUDE_PATH) \
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainen## set ghc imports properly for your system
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainen DERIVEPATH=.:ghc:hetcats:$(GHC_IMPORTS):$(subst $(space),:,${PFE_PATHS})
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainen# the 'replacing spaces' example was taken from the (GNU) Make info manual
809923ba26218971792182ae8894936f9ac99364Timo Sirainen# override on commandline for other architectures
2793e3bd31d212d6506686aa70773e13d9d98195Timo Sirainen /home/www/agbkb/forschung/formal_methods/CoFI/hets/`utils/sysname.sh`
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo SirainenGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
eb0ede66120bb63c0212bad69e67efca1eb47324Timo SirainenINLINEAXIOMS_deps = utils/InlineAxioms/*hs $(drifted_files)
b8eb818164de41d0b8e90b390242e6e523f91a47Timo SirainenHC_FLAGS = -Wall -fglasgow-exts -fno-monomorphism-restriction \
bc93929cdd9000ca560a5f42a27f50ab307f1efbTimo Sirainen -fallow-overlapping-instances -fallow-undecidable-instances
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainen# -ddump-minimal-imports
bc93929cdd9000ca560a5f42a27f50ab307f1efbTimo Sirainen# flags also come in via ../uni/uni-package.conf
2793e3bd31d212d6506686aa70773e13d9d98195Timo Sirainen# but added it here in case of compilation without uni
94f90df2cfb7587bb5af432b2ba065d1c364e1f7Timo SirainenUNI_PACKAGE_CONF := $(wildcard ../uni/uni-package.conf)
2793e3bd31d212d6506686aa70773e13d9d98195Timo SirainenHC_PACKAGE = -package-conf $(UNI_PACKAGE_CONF) -package uni-davinci \
809923ba26218971792182ae8894936f9ac99364Timo Sirainenlogics = CASL HasCASL Modal CoCASL COL CspCASL Hatchet
809923ba26218971792182ae8894936f9ac99364Timo Sirainen# some modules from uni for haddock
809923ba26218971792182ae8894936f9ac99364Timo Sirainen# if uni/server is included also HaXml sources are needed
809923ba26218971792182ae8894936f9ac99364Timo Sirainenuni_dirs = ../uni/davinci ../uni/graphs ../uni/events \
809923ba26218971792182ae8894936f9ac99364Timo Sirainenuni_sources = $(wildcard $(addsuffix /haddock/*.hs, $(uni_dirs))) \
2793e3bd31d212d6506686aa70773e13d9d98195Timo SirainenPFE_TOOLDIR := $(wildcard ../programatica/tools)
2793e3bd31d212d6506686aa70773e13d9d98195Timo SirainenPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
809923ba26218971792182ae8894936f9ac99364Timo Sirainen base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
809923ba26218971792182ae8894936f9ac99364Timo Sirainen base/transforms base/transforms/Deriving property \
809923ba26218971792182ae8894936f9ac99364Timo Sirainen property/syntax property/AST property/transforms \
809923ba26218971792182ae8894936f9ac99364Timo Sirainen property/TI property/defs property/parse2 property/parse2/Parser
2793e3bd31d212d6506686aa70773e13d9d98195Timo SirainenPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
$@.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)
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 $@ $<
$(DRIFT_ENV)
$(INLINEAXIOMS) $< > $@
%.d : %.hs
%.d : %.lhs
## rule for Modal/ModalSystems.hs needed for ModalLogic Translation