Makefile revision b3e31d2c629f0f861483c1dcd5d81d2ce1434833
# $Id$
# Author: Klaus L�ttich
# Year: 2002
# This Makefile will compile the new hetcats system and provides also
# targets for test programs during implementation phases.
# !!! Note: This makefile is written for GNU make !!!
# (gmake on solaris ; make on linux)
####################################################################
## Some varibles, which control the compilation
HC_INCLUDE = -i$(INCLUDE_PATH)
### Profiling and Warnings (only for debugging)
### Attention every module must be compiled with profiling or the linker
### cannot link the various .o files properly. So after switching on
### Profiling, do an 'gmake clean; gmake'
### If you need Profiling comment out the following line
# HC_PROF = -prof -auto-all -Wall
####################################################################
## sources for hetcats (semi - manually produced with a perl script)
####################################################################
### targets
#.PRECIOUS: sources_hetcats.mk
rm -f $@
###############
### clean up
### removes *.hi and *.o in all include directories and the binary 'hetcats'
THIS_DIR=`pwd`;\
done; \
unset p THIS_DIR
### additonally removes *.d (dependency files) in every include directory
### also delete *.d.bak (dependency file backups)
THIS_DIR=`pwd`;\
done; \
unset p THIS_DIR
### additionally removes the files that define the sources-variable
####################################################################
### test targets
####################################################################
### a parser to test annotation parser and Id parsers
rm -f $@
### interactive
ghci:
### christian's target
### CASL parser
rm -f $@
### HasCASL parser
rm -f $@
####################################################################
## rules for DrIFT
$(DRIFT) $< > $@
$(DRIFT) $< > $@
## compiling rules for object and interface files
# ## compiling rules for dependencies
#%.d : %.hs
# $(HC) -M $< $(HC_OPTS)
# [ -s $@ ] || rm -f $@
#%.d : %.lhs
# $(HC) -M $< $(HC_OPTS)
# [ -s $@ ] || rm -f $@
%.d : %.hs
%.d : %.lhs
####################################################################
## Setting a global search path (for dependency files)
## include every .d file in INCLUDE_PATH