aboutsummaryrefslogtreecommitdiffstats
path: root/Config.mk
diff options
context:
space:
mode:
authorIan Jackson <ian.jackson@eu.citrix.com>2010-09-21 16:08:38 +0100
committerIan Jackson <ian.jackson@eu.citrix.com>2010-09-21 16:08:38 +0100
commite1d00a45e0f526c7ba98eba7f400987645f18a86 (patch)
tree2695f649e3b722ca1457a48681062cedf4c24b09 /Config.mk
parent95e155c6ecda017e44dbccb942e071dae65a34da (diff)
downloadxen-e1d00a45e0f526c7ba98eba7f400987645f18a86.tar.gz
xen-e1d00a45e0f526c7ba98eba7f400987645f18a86.tar.bz2
xen-e1d00a45e0f526c7ba98eba7f400987645f18a86.zip
libxl, buildmakevars2file: Do not relink libxl each time
Make Config.mk's definition of buildmakevars2file and tools/libxl/Makefile's rule for _libxl_paths.h generate their files to temporary files and only rename them into place if the intended file has changed. This gets rid of unnecessarily compilation and link steps. Add *.tmp to .hgignore. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'Config.mk')
-rw-r--r--Config.mk21
1 files changed, 11 insertions, 10 deletions
diff --git a/Config.mk b/Config.mk
index f80732a618..33a2635249 100644
--- a/Config.mk
+++ b/Config.mk
@@ -120,16 +120,17 @@ buildmakevars2file = $(eval $(call buildmakevars2file-closure,$(1)))
define buildmakevars2file-closure
.PHONY: genpath
genpath:
- rm -f $(1); \
- echo "SBINDIR=\"$(SBINDIR)\"" >> $(1); \
- echo "BINDIR=\"$(BINDIR)\"" >> $(1); \
- echo "LIBEXEC=\"$(LIBEXEC)\"" >> $(1); \
- echo "LIBDIR=\"$(LIBDIR)\"" >> $(1); \
- echo "SHAREDIR=\"$(SHAREDIR)\"" >> $(1); \
- echo "PRIVATE_BINDIR=\"$(PRIVATE_BINDIR)\"" >> $(1); \
- echo "XENFIRMWAREDIR=\"$(XENFIRMWAREDIR)\"" >> $(1); \
- echo "XEN_CONFIG_DIR=\"$(XEN_CONFIG_DIR)\"" >> $(1); \
- echo "XEN_SCRIPT_DIR=\"$(XEN_SCRIPT_DIR)\"" >> $(1)
+ rm -f $(1).tmp; \
+ echo "SBINDIR=\"$(SBINDIR)\"" >> $(1).tmp; \
+ echo "BINDIR=\"$(BINDIR)\"" >> $(1).tmp; \
+ echo "LIBEXEC=\"$(LIBEXEC)\"" >> $(1).tmp; \
+ echo "LIBDIR=\"$(LIBDIR)\"" >> $(1).tmp; \
+ echo "SHAREDIR=\"$(SHAREDIR)\"" >> $(1).tmp; \
+ echo "PRIVATE_BINDIR=\"$(PRIVATE_BINDIR)\"" >> $(1).tmp; \
+ echo "XENFIRMWAREDIR=\"$(XENFIRMWAREDIR)\"" >> $(1).tmp; \
+ echo "XEN_CONFIG_DIR=\"$(XEN_CONFIG_DIR)\"" >> $(1).tmp; \
+ echo "XEN_SCRIPT_DIR=\"$(XEN_SCRIPT_DIR)\"" >> $(1).tmp; \
+ if ! cmp $(1).tmp $(1); then mv -f $(1).tmp $(1); fi
endef
ifeq ($(debug),y)