Makefile revision b9625461755578f3eed04676d42a63fd2caebd0c
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# hetcats/Makefile
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# $Id$
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# Author: Klaus L�ttich
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# Year: 2003
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# This Makefile will compile the new hetcats system and provides also
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# targets for test programs during implementation phases.
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# !!! Note: This makefile is written for GNU make !!!
0662ed52e814f8f08ef0e09956413a792584eddffuankg# (gmake on solaris ; make on linux)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes## Some varibles, which control the compilation
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesINCLUDE_PATH = ghc:hetcats
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesCOMMONLIB_PATH = Common/Lib:Common/Lib/Parsec:Common/ATerm
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesCLEAN_PATH = Common:Logic:CASL:Syntax:Static:GUI:HasCASL:Haskell:Haskell/Language:Modal:CSP-CASL:$(INCLUDE_PATH)
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholesHC = ghc
16b55a35cff91315d261d1baa776138af465c4e4fuankgPERL = perl
16b55a35cff91315d261d1baa776138af465c4e4fuankgHAPPY = happy
16b55a35cff91315d261d1baa776138af465c4e4fuankgDRIFT = $(PERL) utils/DrIFT
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesAG = $(PERL) utils/ag
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHADDOCK = $(PERL) utils/haddock
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHC_FLAGS = -fglasgow-exts -fallow-overlapping-instances -Wall
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHC_INCLUDE = -i$(INCLUDE_PATH)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHC_PACKAGE = -package data
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesAG_FLAGS = -mdcfs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### Profiling and Warnings (only for debugging)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### Attention every module must be compiled with profiling or the linker
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### cannot link the various .o files properly. So after switching on
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### Profiling, do an 'gmake clean; gmake'
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### If you need Profiling comment out the following line
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes#HC_PROF = -prof -auto-all -Wall
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHCI_OPTS = $(HC_FLAGS) $(HC_PACKAGE) $(HC_INCLUDE)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHC_OPTS = $(HCI_OPTS) $(HC_PROF)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### list of directories to run checks in
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesTESTDIRS = CASL HasCASL test
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes## sources for hetcats (semi - manually produced with a perl script)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesifneq ($(MAKECMDGOALS),clean)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesifneq ($(MAKECMDGOALS),bin_clean)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesifneq ($(MAKECMDGOALS),d_clean)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesifneq ($(MAKECMDGOALS),real_clean)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesifneq ($(MAKECMDGOALS),distclean)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesinclude sources_hetcats.mk
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesendif
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesendif
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesendif
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesendif
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgendif
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesobjects = $(patsubst %.lhs,%.o,$(sources:%.hs=%.o))
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesdrifted_files = Syntax/AS_Architecture.hs Syntax/AS_Library.hs\
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Common/AS_Annotation.hs CASL/AS_Basic_CASL.hs Syntax/AS_Structured.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# this variable holds the modules that should be documented
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# the imported parsec library is not included!
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesdoc_sources = $(filter-out Common/Lib/% ,$(sources))
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### targets
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg.PHONY : clean d_clean real_clean bin_clean check
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes.SECONDARY : %.hs %.d
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes#.PRECIOUS: sources_hetcats.mk
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshets: $(objects)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) -o $@ $(HC_OPTS) $(objects)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshetcats-make: hets.hs utils/create_sources.pl $(drifted_files)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) hetcats-make sources_hetcats.mk
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o hets $< $(HC_OPTS) 2>&1 | tee hetcats-make && \
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(PERL) utils/create_sources.pl hetcats-make sources_hetcats.mk
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes###############################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### TAGS files for (x)emacs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# load them with "M-x" "visit-tags-table" from
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# "HetCATS/hetcats/hetcats.TAGS"
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# use "M-." to search for a tag
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes# !!Beware this is somewhat instable, because it uses an absolute path!!
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshetcats.TAGS: $(sources)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes /home/ger/linux/ghc-5.04.2/bin/i386-unknown-linux/hasktags \
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(sources); mv TAGS $@; mv tags hetcats.tags
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes###############################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### Documentation via haddock
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgdoc: docs/index.html utils/hd-lib
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesdocs/index.html: $(doc_sources)
0a39e7683f6611d66c55712f50bb240428d832a1bnicholes $(HADDOCK) $(doc_sources) -o docs -h \
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes -t 'HetCATS -- a heterogenous CASL tool set'
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes###############
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### clean up
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### removes *.hi and *.o in all include directories
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesclean: bin_clean
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg (cd $$p ; $(RM) *.hi *.o) ; done
0662ed52e814f8f08ef0e09956413a792584eddffuankg
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### remove binaries
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgbin_clean:
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) hets
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) test_parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) CASL/capa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) HasCASL/hacapa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) Haskell/hapa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) Haskell/wrap
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) Syntax/hetpa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) Static/hetana
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) Static/hetana
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) GUI/hetdg
0662ed52e814f8f08ef0e09956413a792584eddffuankg $(RM) hetpa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) hetana
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) hetdg
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### additonally removes *.d (dependency files) in every include directory
0662ed52e814f8f08ef0e09956413a792584eddffuankg### also delete *.d.bak (dependency file backups)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesd_clean: clean
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes for p in $(subst :, ,$(CLEAN_PATH)) . ; do \
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes (cd $$p ; $(RM) *.d *.d.bak) ; done
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### remove files also in own libraries
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeslib_clean:
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes for p in $(subst :, ,$(COMMONLIB_PATH):$(CLEANPATH)) . ; do \
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes (cd $$p ; $(RM) *.hi *.d *.o) ; done
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
0662ed52e814f8f08ef0e09956413a792584eddffuankg### additionally removes the files that define the sources-variable
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesreal_clean: bin_clean lib_clean
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) hetcats-make sources_hetcats.mk
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg $(RM) AS_*.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### additionally removes files not in CVS tree
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesdistclean: real_clean
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg $(RM) hetcats/Version.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $(drifted_files)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) Haskell/Language/Parser.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### test targets
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### a parser to test annotation parser and Id parsers
cb2846ded4de1abbb5934b92132baf826f1babfebnicholestest_parser: Common/test_parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesCommon/test_parser: Common/test_parser.hs Common/AS_Annotation.der.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### interactive
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesghci:
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC)i $(HCI_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### christian's target
bf1e7c075ccc3e6597d17de7641332ff6ff92e8astriker### CASL parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholescapa: CASL/capa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesCASL/capa: CASL/capa.lhs Common/*.hs CASL/*.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### HasCASL parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshacapa: HasCASL/hacapa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgHasCASL/hacapa: HasCASL/hacapa.lhs CASL/capa HasCASL/*.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### Haskell parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshapa: Haskell/hapa
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHaskell/hapa: Haskell/hapa.lhs Haskell/*.hs $(drifted_files) Haskell/Language/Parser.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
9046ab142ed19505e034af0afb8c15be512b8526bnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesHaskell/Language/Parser.hs: Haskell/Language/Parser.ly
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HAPPY) $<
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### Haskell wrap parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeswrap: Haskell/wrap
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgHaskell/wrap: Haskell/wrap.lhs Haskell/*.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### HetCASL parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshetpa: Syntax/hetpa.hs $(drifted_files) *.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### HetCASL parser
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshetana: Static/hetana.hs $(drifted_files) *.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(RM) $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) --make -o $@ $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes### HetCASL with dev graph
8ffac2c334103c0336602aaede650cb578611151fuankghetdg: GUI/hetdg.hs $(drifted_files) *.hs
8ffac2c334103c0336602aaede650cb578611151fuankg $(RM) $@
0cb770e9049c8e85ede0bbe3d47904785b15f868fuankg $(HC) --make -o $@ $< $(HC_OPTS) -package-conf ../uni/uni-package.conf -package uni-davinci -package uni-server
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg### run tests in other directories
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholescheck: hetcats
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg####################################################################
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes## Preparing the version of HetCATS
ac7985784d08a3655291f24f711812b4d8b1cbcffuankghetcats/Version.hs: hetcats/Version.in version_nr
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg $(PERL) utils/build_version.pl version_nr < hetcats/Version.in > $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes## two hardcoded dependencies for a correct generation of Version.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshetcats/Options.hs: hetcats/Version.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholeshets.hs: hetcats/Version.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg## rules for DrIFT
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.ly: %.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HAPPY) $<
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.hs: %.ag.hs
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg $(AG) $<
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.hs: %.der.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(DRIFT) $< > $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.hs: %.ag
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(AG) $< -o $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.lhs: %.der.lhs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(DRIFT) $< > $@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg## compiling rules for object and interface files
0662ed52e814f8f08ef0e09956413a792584eddffuankg%.o %.hi: %.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) -c $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.o %.hi: %.lhs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) -c $< $(HC_OPTS)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes## compiling rules for dependencies
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes%.d : %.hs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes%.d : %.lhs
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes $(HC) -M $< $(HC_OPTS) -optdep-f -optdep$@
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes####################################################################
0662ed52e814f8f08ef0e09956413a792584eddffuankg## Setting a global search path (for dependency files)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),real_clean)
ifneq ($(MAKECMDGOALS),d_clean)
ifneq ($(MAKECMDGOALS),real_clean)
ifneq ($(MAKECMDGOALS),distclean)
## include every .d file in INCLUDE_PATH
-include $(objects:.o=.d)
sources_hetcats.mk: hetcats-make hetcats/Version.hs
endif
endif
endif
endif
endif