X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2FMakefile;h=d903517ab4232d3196eed5d70974cc6373639c01;hb=d108044bef62f6a0d579c92ced5e8188f72edc2d;hp=effd0a9e7a4fc848cce39883eb32abb4763cb0f2;hpb=02b60157852c1bf3c371b47c33d83814a05153bc;p=ghc-hetmet.git diff --git a/ghc/Makefile b/ghc/Makefile index effd0a9..d903517 100644 --- a/ghc/Makefile +++ b/ghc/Makefile @@ -1,79 +1,45 @@ -#----------------------------------------------------------------------------- -# $Id: Makefile,v 1.2 1996/11/21 16:46:26 simonm Exp $ - -TOP=.. -include $(TOP)/ghc/mk/ghc.mk - -line = @echo "------------------------------------------------------------------------------" - -define BuildLibs -$(line) -@echo "Building Libraries" -$(line) -@$(MAKE) -C lib depend all -endef - -define BuildCompiler -$(line) -@echo "Building Compiler" -$(line) -@$(MAKE) -C compiler depend all -endef - -# dependencies: -# everything needs utils -# includes needs driver (for mkNativeGen.c) -# make depend except in {utils,driver} needs includes -# RTS and compiler need includes - -boot :: - $(line) - @echo "Building Utils" - $(line) - @$(MAKE) -C utils depend all - - $(line) - @echo "Building Driver" - $(line) - @$(MAKE) -C driver all - - $(line) - @echo "Building Includes" - $(line) - @$(MAKE) -C includes all - - $(line) - @echo "Building Runtime System" - $(line) - @$(MAKE) -C runtime depend all - - $(line) - @echo "Building Docs" - $(line) - @$(MAKE) -C docs depend all - -ifeq ($(HaskellCompilerType), HC_USE_HC_FILES) - $(BuildLibs) - $(BuildCompiler) -else - $(BuildCompiler) - $(BuildLibs) -endif - -# "CONTRIB" is also a SUBDIR, but there is nothing to build there. -SUBDIRS = utils driver includes runtime docs compiler lib - -# Make the required directories for install. - -install_dirs :: - $(MKDIRHIER) $(INSTBINDIR_GHC) - $(MKDIRHIER) $(INSTSCRIPTDIR_GHC) - $(MKDIRHIER) $(INSTLIBDIR_GHC) - $(MKDIRHIER) $(INSTLIBDIR_GHC)/includes - $(MKDIRHIER) $(INSTDATADIR_GHC) - $(MKDIRHIER) $(INSTDATADIR_GHC)/includes - $(MKDIRHIER) $(INSTDATADIR_GHC)/imports - -install :: install_dirs - -include $(TOP)/mk/subdir.mk +# ----------------------------------------------------------------------------- +# +# (c) 2009 The University of Glasgow +# +# This file is part of the GHC build system. +# +# To understand how the build system works and how to modify it, see +# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture +# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying +# +# ----------------------------------------------------------------------------- + +dir = ghc +TOP = .. +SPEC_TARGETS = 1 2 3 +include $(TOP)/mk/sub-makefile.mk + +FAST_MAKE_OPTS += compiler_stage1_NO_BUILD_DEPS=YES \ + compiler_stage2_NO_BUILD_DEPS=YES \ + compiler_stage3_NO_BUILD_DEPS=YES \ + ghc_stage1_NO_BUILD_DEPS=YES \ + ghc_stage2_NO_BUILD_DEPS=YES \ + ghc_stage3_NO_BUILD_DEPS=YES + +.PHONY: 1 2 3 + +1: + +$(TOPMAKE) stage=1 all_ghc_stage1 $(FAST_MAKE_OPTS) NO_STAGE1_DEPS=YES NO_STAGE2_DEPS=YES + +2: + +$(TOPMAKE) stage=2 all_ghc_stage2 $(FAST_MAKE_OPTS) NO_STAGE2_DEPS=YES + +3: + +$(TOPMAKE) stage=3 all_ghc_stage3 $(FAST_MAKE_OPTS) NO_STAGE3_DEPS=YES + + +.PHONY: extra-help +help : extra-help +extra-help : + @echo " make 1" + @echo " make 2" + @echo " make 3" + @echo + @echo " Build the stage 1, 2 or 3 GHC respectively, omitting dependencies" + @echo " and initial phases for speed."