mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
build: define "move-if-changed" make macro.
Use it to replace various places which (should) use the if ! cmp -s ...; then mv ....; fi pattern. Also add an else clause to cleanup the unchanged temporary file. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
This commit is contained in:
1 parent
872ecdc9b5
commit
2407671d89
2 files changed
+15
-4
No files matched your search
@@ -118,6 +118,16 @@ define buildmakevars2shellvars
|
||||
export XEN_ROOT="$(XEN_ROOT)"
|
||||
endef
|
||||
|
||||
#
|
||||
# Compare $(1) and $(2) and replace $(2) with $(1) if they differ
|
||||
#
|
||||
# Typically $(1) is a newly generated file and $(2) is the target file
|
||||
# being regenerated. This prevents changing the timestamp of $(2) only
|
||||
# due to being auto regenereated with the same contents.
|
||||
define move-if-changed
|
||||
if ! cmp -s $(1) $(2); then mv -f $(1) $(2); else rm -f $(1); fi
|
||||
endef
|
||||
|
||||
buildmakevars2file = $(eval $(call buildmakevars2file-closure,$(1)))
|
||||
define buildmakevars2file-closure
|
||||
.PHONY: genpath
|
||||
@@ -134,7 +144,7 @@ define buildmakevars2file-closure
|
||||
echo "XEN_SCRIPT_DIR=\"$(XEN_SCRIPT_DIR)\"" >> $(1).tmp; \
|
||||
echo "XEN_LOCK_DIR=\"$(XEN_LOCK_DIR)\"" >> $(1).tmp; \
|
||||
echo "XEN_RUN_DIR=\"$(XEN_RUN_DIR)\"" >> $(1).tmp; \
|
||||
if ! cmp $(1).tmp $(1); then mv -f $(1).tmp $(1); fi
|
||||
$(call move-if-changed,$(1).tmp,$(1))
|
||||
endef
|
||||
|
||||
ifeq ($(debug),y)
|
||||
|
||||
@@ -75,7 +75,8 @@ $(eval $(genpath-target))
|
||||
|
||||
_libxl_paths.h: genpath
|
||||
sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp
|
||||
if ! cmp -s $@.2.tmp $@; then mv -f $@.2.tmp $@; fi
|
||||
rm -f $@.tmp
|
||||
$(call move-if-changed,$@.2.tmp,$@)
|
||||
|
||||
libxl_paths.c: _libxl_paths.h
|
||||
|
||||
@@ -85,8 +86,8 @@ $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
|
||||
|
||||
_libxl_%.h _libxl_%.c: libxl.idl gen%.py libxl%.py
|
||||
$(PYTHON) gen$*.py libxl.idl __libxl_$*.h __libxl_$*.c
|
||||
mv __libxl_$*.h _libxl_$*.h
|
||||
mv __libxl_$*.c _libxl_$*.c
|
||||
$(call move-if-changed,__libxl_$*.h,_libxl_$*.h)
|
||||
$(call move-if-changed,__libxl_$*.c,_libxl_$*.c)
|
||||
|
||||
libxenlight.so: libxenlight.so.$(MAJOR)
|
||||
ln -sf $< $@
|
||||
|
||||