Makefile revision c22d75ec3ea1306219d1c09a5b3e8ff04f753ad6
# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2004 # 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 ## set ghc imports properly for your system # the 'replacing spaces' example was taken from the (GNU) Make info manual # override on commandline for other architectures # 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 ## rule for appendHaskellPreludeString ## rule for ATC generation ### 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) #GHCMAKE_OUTPUT = $(wildcard hetcats-make) #ifneq ($(strip $(GHCMAKE_OUTPUT)),) # 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 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