mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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>
This commit is contained in:
1 parent
95e155c6ec
commit
e1d00a45e0
3 files changed
+15
-13
No files matched your search
@@ -11,6 +11,7 @@
|
||||
.*\.tar\.bz2$
|
||||
.*\.tar\.gz$
|
||||
.*~$
|
||||
.*\.tmp$
|
||||
.*\.flc$
|
||||
.*\.orig$
|
||||
.*\.rej$
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -52,12 +52,12 @@ $(LIBXLU_OBJS): $(AUTOINCS)
|
||||
@rm -f $*.[ch]
|
||||
$(FLEX) --header-file=$*.h --outfile=$*.c $<
|
||||
|
||||
genpath-target = $(call buildmakevars2file,_libxl_paths.h)
|
||||
genpath-target = $(call buildmakevars2file,_libxl_paths.h.tmp)
|
||||
$(eval $(genpath-target))
|
||||
|
||||
_libxl_paths.h: genpath
|
||||
sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@ >_$@
|
||||
mv _$@ $@
|
||||
sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp
|
||||
if ! cmp $@.2.tmp $@; then mv -f $@.2.tmp $@; fi
|
||||
|
||||
libxl_paths.c: _libxl_paths.h
|
||||
|
||||
|
||||