X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fbuild-package-way.mk;h=8b67ce223928ead04e1f68f0ee3801e3e3341e1a;hb=2c1c4d3540e5671274d45a473f1d1da5d37f76c1;hp=ed81d6d53267d6e7e2bdc15fcfeb4060cb360f3c;hpb=9142c238bd014c45e30fc79eee69fa6ab3f469d8;p=ghc-hetmet.git diff --git a/rules/build-package-way.mk b/rules/build-package-way.mk index ed81d6d..8b67ce2 100644 --- a/rules/build-package-way.mk +++ b/rules/build-package-way.mk @@ -13,6 +13,7 @@ define build-package-way # $1 = dir, $2 = distdir, $3 = way, $4 = stage $(call trace, build-package-way($1,$2,$3)) +$(call profStart, build-package-way($1,$2,$3)) $(call distdir-way-opts,$1,$2,$3,$4) $(call hs-suffix-rules,$1,$2,$3) @@ -51,6 +52,17 @@ endif $1_$2_$3_NON_HS_OBJS = $$($1_$2_$3_CMM_OBJS) $$($1_$2_$3_C_OBJS) $$($1_$2_$3_S_OBJS) $$($1_$2_EXTRA_OBJS) $1_$2_$3_ALL_OBJS = $$($1_$2_$3_HS_OBJS) $$($1_$2_$3_NON_HS_OBJS) +# The quadrupled $'s here are because the _v_LIB variables aren't +# necessarily set when this part of the makefile is read. +# These deps aren't technically necessary in themselves, but they +# turn the dependencies of programs on libraries into transitive +# dependencies. +ifeq "$4" "0" +$$($1_$2_$3_LIB) : $$(foreach dep,$$($1_$2_DEP_NAMES),$$$$(libraries/$$(dep)_dist-boot_v_LIB)) +else +$$($1_$2_$3_LIB) : $$(foreach dep,$$($1_$2_DEP_NAMES),$$$$(libraries/$$(dep)_dist-install_v_LIB)) +endif + ifeq "$3" "dyn" # Link a dynamic library @@ -114,11 +126,11 @@ $$($1_$2_GHCI_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_$3_CMM_OBJS) $$($1_$2_$3_C_OB ifeq "$$($1_$2_BUILD_GHCI_LIB)" "YES" # Don't bother making ghci libs for bootstrapping packages ifneq "$4" "0" -# $$(info Here $1 $2 $$($1_$2_BUILD_GHCI_LIB) Q1) $(call all-target,$1_$2,$$($1_$2_GHCI_LIB)) endif endif endif +$(call profEnd, build-package-way($1,$2,$3)) endef