summaryrefslogtreecommitdiff
path: root/rules/build-dependencies.mk
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2010-08-10 09:34:46 +0000
committerSimon Marlow <marlowsd@gmail.com>2010-08-10 09:34:46 +0000
commit7a50ff1e44710335e935ff199cd95616840b9f02 (patch)
tree0bf7d1f5b62d976143dfb83545b89338930f5e6e /rules/build-dependencies.mk
parent401140734891ca804c336122581743251d61b3a6 (diff)
downloadhaskell-7a50ff1e44710335e935ff199cd95616840b9f02.tar.gz
Do the dependency-omitting for 'make 1' in a slightly different way
I encountered a couple of things that broke after Ian's previous patch: one was my nightly build scripts that use 'make stage=2' at the top level, and the other is 'make fast' in libraries/base, which uses 'stage=0' to avoid building any compilers. So my version of this patch is more direct: it just turns off the appropriate dependencies using a variable set by 'make 1', 'make 2', etc.
Diffstat (limited to 'rules/build-dependencies.mk')
-rw-r--r--rules/build-dependencies.mk9
1 files changed, 2 insertions, 7 deletions
diff --git a/rules/build-dependencies.mk b/rules/build-dependencies.mk
index a1b55b649f..256261156e 100644
--- a/rules/build-dependencies.mk
+++ b/rules/build-dependencies.mk
@@ -67,22 +67,17 @@ endif # $1_$2_NO_BUILD_DEPS
$$($1_$2_depfile_haskell) : $$(UNLIT)
ifneq "$$(NO_INCLUDE_DEPS)" "YES"
-# This next test stops us rebuilding all the dep files when doing e.g.
-# "make 1" in compiler or ghc. If stage is blank (just building normally.
-# so we want all deps), or if $3 is stage-1 (when building stage n, we
-# use stage n-1, so we want any dependencies used by the stage n-1
-# compiler), then we want to include the dependencies.
-ifneq "$$(or $$(if $$(stage),,YES),$$(findstring $3,$$(word $$(stage),0 1 2 3)))" ""
ifneq "$$(strip $$($1_$2_HS_SRCS) $$($1_$2_HS_BOOT_SRCS))" ""
+ifneq "$$(NO_STAGE$3_DEPS)" "YES"
include $$($1_$2_depfile_haskell)
endif
+endif
include $$($1_$2_depfile_c_asm)
else
ifeq "$$(DEBUG)" "YES"
$$(warning not building dependencies in $1)
endif
endif
-endif
endef