Makefile revision c55a0f77be7e88d3620b419ec8961f4379a586e3
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Author: Klaus L�ttich
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Year: 2003
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner# This Makefile will compile the new hetcats system and provides also
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# targets for test programs during implementation phases.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# !!! Note: This makefile is written for GNU make !!!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# (gmake on solaris ; make on linux)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin####################################################################
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin## Some varibles, which control the compilation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCLEAN_PATH = Common:Logic:CASL:Syntax:Static:GUI:HasCASL:Haskell:Haskell/Language:Modal:CspCASL:ATC:ToHaskell:Proofs:Comorphisms:$(INCLUDE_PATH):Haskell/Hatchet
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinDRIFT_ENV = DERIVEPATH='.:ghc:hetcats:/home/linux-bkb/ghc/ghc-latest/lib/ghc-6.0.1/imports'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinHC_FLAGS = -fglasgow-exts -fallow-overlapping-instances -Wall
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# please remove '-O2' if compilation lasts to long on your system
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# but please don't commit to cvs server
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinHC_PACKAGE = -package-conf ../uni/uni-package.conf -package uni-davinci \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin### Profiling and Warnings (only for debugging)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin### Attention every module must be compiled with profiling or the linker
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin### cannot link the various .o files properly. So after switching on
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin### Profiling, do an 'gmake clean; gmake'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin### If you need Profiling comment out the following line
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#HC_PROF = -prof -auto-all
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin### list of directories to run checks in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin####################################################################
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin## sources for hetcats (semi - manually produced with a perl script)
#.PRECIOUS: sources_hetcats.mk
$(RM) $@
--read-interface=http://www.haskell.org/ghc/docs/latest/html/libraries/base,/home/linux-bkb/ghc/ghc-6.0.1/share/ghc-6.0.1/html/base/base.haddock \
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) $@
$(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) $<
#%.hs: %.ag.hs
$(DRIFT) $< > $@
%.d : %.hs
%.d : %.lhs