summaryrefslogtreecommitdiffstats
path: root/appliance/Makefile.am
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-10-30 17:11:02 +0000
committerRichard Jones <rjones@redhat.com>2009-11-02 16:36:37 +0000
commitff704b2291680ca52051452abbce033953f65f3e (patch)
tree5d7fd365fe93276a71923f74cdd96937dfb2d82a /appliance/Makefile.am
parent7ab898c286b846bdfc3f8d5f8f611f293e12df35 (diff)
downloadlibguestfs-ff704b2291680ca52051452abbce033953f65f3e.tar.gz
libguestfs-ff704b2291680ca52051452abbce033953f65f3e.tar.xz
libguestfs-ff704b2291680ca52051452abbce033953f65f3e.zip
appliance: Don't rebuild the appliance every time configure runs.
config.status touches make.sh each time it runs, even if the resulting script would not change. This causes the appliance to get rebuilt much more frequently than is necessary. There's no way to stop configure running, but we can move the config.status command into a Makefile rule to stop this undesirable behaviour.
Diffstat (limited to 'appliance/Makefile.am')
-rw-r--r--appliance/Makefile.am9
1 files changed, 9 insertions, 0 deletions
diff --git a/appliance/Makefile.am b/appliance/Makefile.am
index d1338bf5..1fb7699b 100644
--- a/appliance/Makefile.am
+++ b/appliance/Makefile.am
@@ -61,6 +61,15 @@ $(top_builddir)/initramfs/fakeroot.log: make.sh kmod.whitelist packagelist
mv $(VMLINUZ) $(VMLINUZ).bak 2>/dev/null; :
if ! bash make.sh; then rm -f $@; exit 1; fi
+# This used to be a configure-generated file (as is update.sh still).
+# However config.status always touches the destination file, which
+# means the appliance got rebuilt too often.
+make.sh: make.sh.in
+ cd $(top_builddir) && \
+ ./config.status --file=appliance/$@-t:appliance/$<
+ chmod +x $@-t
+ mv $@-t $@
+
$(INITRAMFSIMG): $(top_builddir)/initramfs/fakeroot.log $(top_builddir)/daemon/guestfsd init update.sh
rm -f $@
bash update.sh