[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2] stubdom: modify ioemu linkfarm only if necessary



Several stubdom libraries are being rebuilt each time a top level make
is called as they depend on stubdom/ioemu/linkfarm.stamp which is
depending on tools/qemu-xen-traditional-dir. Unfortunately this
directory is modified by each "make tools" call.

This can be avoided by writing stubdom/ioemu/linkfarm.stamp only if
a source file beneath tools/qemu-xen-traditional-dir has been added
or removed.

Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
V2: maintain a list of the to be linked files in linkfarm.stamp and
    rebuild this list at each make call for detecting any change

Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
 stubdom/Makefile | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index bc49cfe..38f1688 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -298,9 +298,13 @@ ioemu/linkfarm.stamp: 
$(XEN_ROOT)/tools/qemu-xen-traditional-dir
        (cd $$src && find *     ! -type l  -type f  $(addprefix ! -name ,       
\
                        '*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen   
\
                        '*.html' '*.pod'                                        
\
-                       )) |                                                    
\
-           while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
-       touch ioemu/linkfarm.stamp
+                       )) >linkfarm.stamp.tmp;                         \
+       cmp linkfarm.stamp.tmp linkfarm.stamp 2>/dev/null &&            \
+               rm linkfarm.stamp.tmp || {                              \
+               mv linkfarm.stamp.tmp linkfarm.stamp;                   \
+               cat linkfarm.stamp | while read f;                      \
+                       do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done;  \
+       }
 else
 export QEMU_ROOT
 
-- 
2.10.2


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.