X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2FMakefile;h=1c8ec965e06c8bcad5a052d227eca0ccd77b0b6e;hb=0f7c4b885e64428f50e9fa943ecd42d3c5f39c35;hp=effd0a9e7a4fc848cce39883eb32abb4763cb0f2;hpb=02b60157852c1bf3c371b47c33d83814a05153bc;p=ghc-hetmet.git diff --git a/ghc/Makefile b/ghc/Makefile index effd0a9..1c8ec96 100644 --- a/ghc/Makefile +++ b/ghc/Makefile @@ -1,79 +1,42 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.2 1996/11/21 16:46:26 simonm Exp $ +# $Id: Makefile,v 1.17 2001/04/27 03:11:25 qrczak Exp $ +# -TOP=.. -include $(TOP)/ghc/mk/ghc.mk +TOP=. +include $(TOP)/mk/boilerplate.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: +# +# subdir dependencies: # everything needs utils -# includes needs driver (for mkNativeGen.c) +# includes/ needs driver (to easily c.pile 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) +# + +# +# Order is important! It's e.g. necessary to descend into include/ +# before the rest to have a config.h, etc. +# +# If we're booting from .hc files, swap the order +# we descend into compiler/ and lib/. +# +ifeq "$(BootingFromHc)" "YES" +SUBDIRS = includes utils rts docs lib compiler driver else - $(BuildCompiler) - $(BuildLibs) +SUBDIRS = includes utils driver docs compiler rts lib endif -# "CONTRIB" is also a SUBDIR, but there is nothing to build there. -SUBDIRS = utils driver includes runtime docs compiler lib +# Easier to copy +ifeq "$(BIN_DIST)" "1" +SUBDIRS := $(filter-out docs,$(SUBDIRS)) +endif -# Make the required directories for install. +ifeq ($(IncludeTestDirsInBuild),YES) +SUBDIRS += tests +endif -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 +SRC_DIST_FILES += configure -install :: install_dirs +DIST_CLEAN_FILES += ghc.spec config.status -include $(TOP)/mk/subdir.mk +include $(TOP)/mk/target.mk