From b36b42fdc0554447ead96305dc2979ffcd74aff9 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sat, 22 Jan 2011 22:45:32 +0000 Subject: [PATCH] Use := when assigning the result of $(wildcard ...) Avoids repeated evaluations of things that need system calls etc --- rts/ghc.mk | 7 ++++--- utils/ghc-cabal/Main.hs | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/rts/ghc.mk b/rts/ghc.mk index 0721e45..4303656 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -35,12 +35,13 @@ else ALL_DIRS += posix endif +EXCLUDED_SRCS := EXCLUDED_SRCS += rts/Main.c EXCLUDED_SRCS += rts/parallel/SysMan.c EXCLUDED_SRCS += $(wildcard rts/Vis*.c) -rts_C_SRCS = $(filter-out $(EXCLUDED_SRCS),$(wildcard rts/*.c $(foreach dir,$(ALL_DIRS),rts/$(dir)/*.c))) -rts_CMM_SRCS = $(wildcard rts/*.cmm) +rts_C_SRCS := $(filter-out $(EXCLUDED_SRCS),$(wildcard rts/*.c $(foreach dir,$(ALL_DIRS),rts/$(dir)/*.c))) +rts_CMM_SRCS := $(wildcard rts/*.cmm) # Don't compile .S files when bootstrapping a new arch ifneq "$(PORTING_HOST)" "YES" @@ -67,7 +68,7 @@ rts/dist/build/sm/Evac_thr.c : rts/sm/Evac.c | $$(dir $$@)/. rts/dist/build/sm/Scav_thr.c : rts/sm/Scav.c | $$(dir $$@)/. cp $< $@ -rts_H_FILES = $(wildcard includes/*.h) $(wildcard rts/*.h) +rts_H_FILES := $(wildcard includes/*.h) $(wildcard rts/*.h) ifeq "$(USE_DTRACE)" "YES" DTRACEPROBES_H = rts/dist/build/RtsProbes.h diff --git a/utils/ghc-cabal/Main.hs b/utils/ghc-cabal/Main.hs index 5ebca2a..a4566f1 100644 --- a/utils/ghc-cabal/Main.hs +++ b/utils/ghc-cabal/Main.hs @@ -358,7 +358,7 @@ generate config_args distdir directory variablePrefix ++ "_EXTRA_LIBRARIES = " ++ unwords (extraLibs bi), variablePrefix ++ "_EXTRA_LIBDIRS = " ++ unwords (extraLibDirs bi), variablePrefix ++ "_C_SRCS = " ++ unwords (cSources bi), - variablePrefix ++ "_CMM_SRCS = $(addprefix cbits/,$(notdir $(wildcard " ++ directory ++ "/cbits/*.cmm)))", + variablePrefix ++ "_CMM_SRCS := $(addprefix cbits/,$(notdir $(wildcard " ++ directory ++ "/cbits/*.cmm)))", variablePrefix ++ "_DATA_FILES = " ++ unwords (dataFiles pd), -- XXX This includes things it shouldn't, like: -- -odir dist-bootstrapping/build -- 1.7.10.4