Makefile revision 57a2436f9d44e37042498a3b3dfacd301d91bb6d
2230N/A# Author: (c) Klaus L�ttich, Christian Maeder, Uni Bremen 2002-2005 2230N/A# This Makefile will compile the new hets system and provides also 2230N/A# targets for test programs during implementation phases. 2230N/A# !!! Note: This makefile is written for GNU make !!! 2230N/A#################################################################### 2230N/A## Some varibles, which control the compilation 2230N/A# the 'replacing spaces' example was taken from the (GNU) Make info manual 2230N/A## set ghc imports properly for your system 2230N/A# import directories for ghc-5.04.2 2230N/A# override on commandline for other architectures # remove -fno-warn-orphans for older ghcs # 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 ## 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 ############################# ### 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 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