Makefile revision 0898ff703a21cf78e18cc03e8fe5a3c6d1fc25c3
2N/A# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004 2N/A# This Makefile will compile the new hetcats system and provides also 2N/A# targets for test programs during implementation phases. 2N/A# !!! Note: This makefile is written for GNU make !!! 2N/A# (gmake on solaris ; make on linux) 2N/A#################################################################### 2N/A## Some varibles, which control the compilation 2N/A## set ghc imports properly for your system 2N/A# the 'replacing spaces' example was taken from the (GNU) Make info manual 2N/A# override on commandline for other architectures 2N/A# -ddump-minimal-imports 2N/A# but added it here in case of compilation without uni 2N/A# some modules from uni for haddock 2N/A# add PFE_PATHS to DERIVEPATH if needed 2N/A# but name clashes currently prevent ATC generation in a single file 2N/A#-fallow-undecidable-instances -fno-monomorphism-restriction 2N/A### Profiling (only for debugging) 2N/A### Attention every module must be compiled with profiling or the linker 2N/A### cannot link the various .o files properly. So after switching on 2N/A### Profiling, do an 'gmake real_clean; gmake' 2N/A### and comment out HC_PACKAGE variable definition above. 2N/A### Comment in the following line for switching on profiling. 2N/A#HC_PROF = -prof -auto-all 2N/A### list of directories to run checks in 2N/A#################################################################### 2N/A## sources for hetcats (semi - manually produced with a perl script) 2N/A# sources that have {-# OPTIONS -cpp #-} 2N/A# this variable holds the modules that should be documented 2N/A#################################################################### 2N/A############################### 2N/A### TAGS files for (x)emacs 2N/A# load them with "M-x" "visit-tags-table" from 2N/A# use "M-." to search for a tag 2N/A# !!Beware this is somewhat instable, because it uses an absolute path!! 2N/A############################### 2N/A### count lines of code 2N/A############################### 2N/A### Documentation via haddock 2N/A# generate haddock documentation with links to sources 2N/A -t
'hets -- a heterogenous Specification (CASL) tool set' 2N/A# sources are not copied here 2N/A############################### 2N/A### release management 2N/A############################# 2N/A### ATC DrIFT-rule generation ### removes *.hi and *.o in all include directories ### additonally removes *.d (dependency files) in every include directory ### also delete *.d.bak (dependency file backups) ### remove files also in own libraries (cd $$p ; $(RM) *.hi *.d *.o) ;
done ### additionally removes the files that define the sources-variable ### additionally removes files not in CVS tree #################################################################### #################################################################### ### a parser to test annotation parser and Id parsers ### HetCASL with dev graph ### run tests in other directories #################################################################### ## Preparing the version of HetCATS ## two hardcoded dependencies for a correct generation of Version.hs #################################################################### ## rules for inlineAxioms ## rule for cpp and haddock ## compiling rules for object and interface files ## compiling rules for dependencies # hetcats-make is created as side-effect of hets or hets-optimized