summaryrefslogtreecommitdiff
path: root/rules/include-dependencies.mk
blob: ad1c230f4fa17b97d7e1ac024a4805def12b89c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# -----------------------------------------------------------------------------
#
# (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
#
# -----------------------------------------------------------------------------

define include-dependencies
$(call trace, include-dependencies($1,$2,$3))
$(call profStart, include-dependencies($1,$2,$3))
# $1 = dir
# $2 = distdir
# $3 = GHC stage to use (0 == bootstrapping compiler)

$1_$2_INCLUDE_DEPFILES = YES
ifeq "$$(NO_INCLUDE_DEPS)" "YES"
$1_$2_INCLUDE_DEPFILES = NO
endif
ifneq "$$(ONLY_DEPS_FOR)" ""
ifeq "$$(filter $1_$2,$$(ONLY_DEPS_FOR))" ""
$1_$2_INCLUDE_DEPFILES = NO
endif
endif

ifeq "$$($1_$2_INCLUDE_DEPFILES)" "YES"
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

$(call profEnd, include-dependencies($1,$2,$3))
endef