out-of-tree build: generate ./run from template, fix image checks
[libguestfs.git] / images / Makefile.am
index 8fd3ba4..90c4ce3 100644 (file)
@@ -41,13 +41,22 @@ EXTRA_DIST = \
        guest-aux/debian-packages \
        guest-aux/make-fedora-img.sh \
        guest-aux/fedora-name.db.txt \
-       guest-aux/fedora-name.db
+       guest-aux/fedora-name.db \
+       guest-aux/fedora-packages.db.txt \
+       guest-aux/fedora-packages.db \
+       guest-aux/make-ubuntu-img.sh \
+       guest-aux/make-windows-img.sh \
+       guest-aux/windows-software \
+       guest-aux/windows-software.reg \
+       guest-aux/windows-system \
+       guest-aux/windows-system.reg \
+       guest-aux/minimal-hive
 
 noinst_DATA = test.iso
 
 # This is 'check_DATA' because we don't need it until 'make check'
 # time and we need the tools we have built in order to make it.
-check_DATA = debian.img fedora.img
+check_DATA = debian.img fedora.img ubuntu.img windows.img
 
 CLEANFILES = \
        test.iso test.sqsh \
@@ -94,7 +103,7 @@ images_files = $(images_files_src) $(images_files_build)
 test.iso: $(images_files)
        rm -f $@ $@-t
        mkdir -p directory
-       $(MKISOFS) -J -r -graft-points \
+       $(GENISOIMAGE) -J -r -graft-points \
          -o $@-t \
          $(images_files) /directory=directory
        rmdir directory
@@ -161,16 +170,54 @@ $(builddir)/test-grep.txt.gz: test-grep.txt
        mv $@-t $@
 
 # Make a (dummy) Fedora image.
-fedora.img: guest-aux/make-fedora-img.sh guest-aux/fedora-name.db
-       LIBGUESTFS_PATH=../appliance \
-       LD_LIBRARY_PATH=../src/.libs \
+fedora.img: guest-aux/make-fedora-img.sh \
+               guest-aux/fedora-name.db \
+               guest-aux/fedora-packages.db
+       TMPDIR=$(top_builddir) \
+       SRCDIR=$(srcdir) \
        bash $<
 
 guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt
-       db_load $@ < $<
+       rm -f $@ $@-t
+       mkdir -p guest-aux
+       $(DB_LOAD) $@-t < $<
+       mv $@-t $@
+
+guest-aux/fedora-packages.db: guest-aux/fedora-packages.db.txt
+       rm -f $@ $@-t
+       mkdir -p guest-aux
+       $(DB_LOAD) $@-t < $<
+       mv $@-t $@
 
 # Make a (dummy) Debian image.
 debian.img: guest-aux/make-debian-img.sh
-       LIBGUESTFS_PATH=../appliance \
-       LD_LIBRARY_PATH=../src/.libs \
+       TMPDIR=$(top_builddir) \
+       SRCDIR=$(srcdir) \
+       bash $<
+
+# Make a (dummy) Ubuntu image.
+ubuntu.img: guest-aux/make-ubuntu-img.sh
+       TMPDIR=$(top_builddir) \
+       SRCDIR=$(srcdir) \
        bash $<
+
+# Make a (dummy) Windows image.
+windows.img: guest-aux/make-windows-img.sh \
+            guest-aux/windows-software guest-aux/windows-system
+       TMPDIR=$(top_builddir) \
+       SRCDIR=$(srcdir) \
+       bash $<
+
+# Since users might not have the tools needed to create this, we
+# also distribute these files.
+guest-aux/windows-software: guest-aux/windows-software.reg
+       rm -f $@ $@-t
+       cp guest-aux/minimal-hive $@-t
+       hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SOFTWARE' $<
+       mv $@-t $@
+
+guest-aux/windows-system: guest-aux/windows-system.reg
+       rm -f $@ $@-t
+       cp guest-aux/minimal-hive $@-t
+       hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SYSTEM' $<
+       mv $@-t $@