Makefile revision 5958fabb264ec3f5b2125ac5602121bd34814a79
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# This Makefile will compile the new hetcats system and provides also
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# targets for test programs during implementation phases.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# !!! Note: This makefile is written for GNU make !!!
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# (gmake on solaris ; make on linux)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte####################################################################
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte## Some varibles, which control the compilation
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCLEAN_PATH = Common:Logic:CASL:Syntax:Static:GUI:HasCASL:Haskell:Modal:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:Isabelle:$(INCLUDE_PATH):Haskell/Hatchet
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte## set ghc imports properly for your system
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:/home/linux-bkb/ghc/ghc-latest/lib/ghc-6.2/imports:${GHC_IMPORTS}'
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte### Profiling and Warnings (only for debugging)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte### Attention every module must be compiled with profiling or the linker
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte### cannot link the various .o files properly. So after switching on
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte### Profiling, do an 'gmake clean; gmake'
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte### If you need Profiling comment out the following line
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#HC_PROF = -prof -auto-all
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramana### list of directories to run checks in
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte####################################################################
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte## sources for hetcats (semi - manually produced with a perl script)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortedrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs \
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramanagenrule_header_files = $(wildcard ATC/*.header.hs)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortegenrule_files = Common/Lib/Graph.hs Common/Id.hs Common/Result.hs \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
#.PRECIOUS: sources_hetcats.mk
$(RM) $@
(cd utils/GenerateRules; \
$(casl_files)
utils/genRules -r $(rule) -o ATC -h ATC/$(basename $(basename $(notdir $(file)))).header.hs $(file); \
### also delete *.d.bak (dependency file backups)
$(RM) $@
ghci:
$(RM) $@
$(RM) $@
$(RM) $@
$(RM) $@
$(RM) $@
$(RM) $@
$(RM) $@
### ATerm.Lib test system
$(RM) $@
$(RM) $@
$(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
## two hardcoded dependencies for a correct generation of Version.hs
$(HAPPY) $<
%.d : %.hs
%.d : %.lhs