X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fbuild-dependencies.mk;h=f896b9fb6f58586857cde8e4566266245d7ca6f5;hb=5775d5142da227d65fb86994d363eb16841ee642;hp=b1b5fe831c1116033ae6443ae7d66828ed48f1d4;hpb=97254d02c5460c41935e01765bdf52a07431da04;p=ghc-hetmet.git diff --git a/rules/build-dependencies.mk b/rules/build-dependencies.mk index b1b5fe8..f896b9f 100644 --- a/rules/build-dependencies.mk +++ b/rules/build-dependencies.mk @@ -11,6 +11,7 @@ # ----------------------------------------------------------------------------- define build-dependencies +$(call trace, build-dependencies($1,$2,$3)) # $1 = dir # $2 = distdir # $3 = GHC stage to use (0 == bootstrapping compiler) @@ -21,9 +22,7 @@ $1_$2_depfile_c_asm = $$($1_$2_depfile_base).c_asm $1_$2_C_FILES_DEPS = $$(filter-out $$($1_$2_C_FILES_NODEPS),$$($1_$2_C_FILES)) $1_$2_MKDEPENDHS_FLAGS = -dep-makefile $$($1_$2_depfile_haskell).tmp $$(foreach way,$$(filter-out v,$$($1_$2_WAYS)),-dep-suffix $$(way)) -ifneq "$3" "0" $1_$2_MKDEPENDHS_FLAGS += -include-pkg-deps -endif ifneq "$$($1_$2_NO_BUILD_DEPS)" "YES" @@ -41,7 +40,13 @@ ifneq "$$($1_$2_SLASH_MODS)" "" if test ! -d $$$$dir; then mkdir -p $$$$dir; fi \ done endif - mv $$@.tmp $$@ +# Some packages are from the bootstrapping compiler, so are not +# within the build tree. On Windows this causes a problem as they look +# like bad rules, due to the two colons, so we filter them out. + grep -v ' : [a-zA-Z]:/' $$@.tmp > $$@ + +# Some of the C files depend on the generated includes files. +$$($1_$2_depfile_c_asm) : $$(includes_H_CONFIG) $$(includes_H_PLATFORM) $$($1_$2_depfile_c_asm) : $$($1_$2_C_FILES_DEPS) $$($1_$2_S_FILES) | $$$$(dir $$$$@)/. "$$(RM)" $$(RM_OPTS) $$@.tmp