Makefile revision 3e61f574717499939bd8e0ff538ea9e7b72d4e2d
# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005 # This Makefile will compile the new hets system and provides also # targets for test programs during implementation phases. # !!! Note: This makefile is written for GNU make !!! #################################################################### ## Some varibles, which control the compilation # the 'replacing spaces' example was taken from the (GNU) Make info manual ## set ghc imports properly for your system # import directories for ghc-5.04.2 # override on commandline for other architectures # remove -fno-warn-orphans for older ghcs and add -ifgl # 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 ### list of directories to run checks in echo "{-# OPTIONS -w #-}" > $@
## rule for appendHaskellPreludeString #Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB ## 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' ### Comment in the following line for switching on profiling. #HC_PROF = -prof -auto-all -fignore-asserts #################################################################### # sources that have {-# OPTIONS -cpp #-} # unused, remove when header files are gone # 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!! @
echo 'File : Maintainer' > $@
'foreach my $$f (@ARGV) { open I, "<$$f"; \ print "$$f :"; while (<I>) \ { if(m,^\s*Maintainer\s*:\s*(.*)$$,o) { \ print " $$1" ; last} }; print "\n"; close I; }' \
############################### ############################### ### Documentation via haddock # generate haddock documentation with links to sources -printf "--read-interface=www/%P,%p "` ; \
$(PERL) -pe 's+/[^/]*.haddock,+,+g'` ; \
-t
'Hets - the Heterogeneous Tool Set' \
# sources are not copied here cvs up -d ;
echo "CVS exited with: " $$?
############################### # "hssource" for ghc-5.04.2 ################################### @
echo "please copy the file manually to Common"############################# ### ATC DrIFT-rule generation ### removes *.hi and *.o in all include directories (cd $$p ; $(RM) *.hi *.o) ;
done ### additionally removes the library files ### additionally removes generated files not in the CVS tree #################################################################### #################################################################### ### a parser to test annotation parser and Id parsers ### Haskell wrapper parser ### Haskell to Isabelle-HOLCF translation ### 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 #################################################################### echo "{-# OPTIONS -w #-}" > $@
## rules for inlineAxioms ## rule for cpp and haddock ## compiling rules for object and interface files ## compiling rules for dependencies ## generate the inline file for the predefined CASL_DL sign # Warning: Don't change the order of the depencies!!