Makefile revision 3c09fa452664b01b1f5559f9ca8cc2ddd910688a
3830N/A# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004 3830N/A# This Makefile will compile the new hetcats system and provides also 3830N/A# targets for test programs during implementation phases. 3830N/A# !!! Note: This makefile is written for GNU make !!! 3830N/A# (gmake on solaris ; make on linux) 3830N/A#################################################################### 3830N/A## Some varibles, which control the compilation 3830N/A## set ghc imports properly for your system 3830N/A# the 'replacing spaces' example was taken from the (GNU) Make info manual 3830N/A# override on commandline for other architectures 3830N/A# but added it here in case of compilation without uni # some modules from uni for haddock # if uni/server is included also HaXml sources are needed # add PFE_PATHS to DERIVEPATH if needed # but name clashes currently prevent ATC generation in a single file ### Profiling (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 real_clean; gmake' ### and comment out HC_PACKAGE variable definition above. ### Comment in the following line for switching on profiling. #HC_PROF = -prof -auto-all ### list of directories to run checks in #################################################################### ## sources for hetcats (semi - manually produced with a perl script) # sources that have {-# OPTIONS -cpp #-} # this variable holds the modules that should be documented #################################################################### ############################### ### TAGS files for (x)emacs # load them with "M-x" "visit-tags-table" from # use "M-." to search for a tag # !!Beware this is somewhat instable, because it uses an absolute path!! ############################### ############################### ### Documentation via haddock # generate haddock documentation with links to sources -t
'hets -- a heterogenous Specification (CASL) tool set'# sources are not copied here ############################### ############################# ### 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 ### HasCASL to Haskell translation ### 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 appendHaskellPreludeString ## 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