Partial Haskell bindings.
[libguestfs.git] / Makefile.am
index 40e7980..80ea875 100644 (file)
@@ -34,6 +34,12 @@ endif
 if HAVE_JAVA
 SUBDIRS += java
 endif
+if HAVE_HASKELL
+SUBDIRS += haskell
+endif
+if HAVE_INSPECTOR
+SUBDIRS += inspector
+endif
 
 EXTRA_DIST = \
        make-initramfs.sh update-initramfs.sh \
@@ -50,7 +56,9 @@ EXTRA_DIST = \
        recipes/*.html \
        recipes/*.sh \
        recipes/*.example \
-       html/recipes.css
+       html/recipes.css \
+       make-recipes.sh \
+       test-cleanup.sh
 
 # Build the root filesystem.
 # Currently this is arch-dependent, so it seems like putting it in
@@ -69,13 +77,16 @@ $(INITRAMFSIMG) $(VMLINUZ): initramfs/fakeroot.log
 initramfs/fakeroot.log: make-initramfs.sh.in
        -mv $(INITRAMFSIMG) $(INITRAMFSIMG).bak
        -mv $(VMLINUZ) $(VMLINUZ).bak
-       if ! bash $(builddir)/make-initramfs.sh; then rm -f $@; exit 1; fi
+       if ! bash $(top_builddir)/make-initramfs.sh; then rm -f $@; exit 1; fi
 
 $(INITRAMFSIMG): initramfs/fakeroot.log daemon/guestfsd
        rm -f $@
-       bash $(builddir)/update-initramfs.sh
+       bash $(top_builddir)/update-initramfs.sh
        touch $@
 
+make-initramfs.sh: make-initramfs.sh.in
+       ./config.status $@
+
 # Tests.  These are auto-generated from the test descriptions.
 
 check_PROGRAMS = tests
@@ -86,9 +97,15 @@ tests_CFLAGS = \
 tests_LDADD = $(top_builddir)/src/libguestfs.la
 
 TESTS = $(check_PROGRAMS)
+TESTS_ENVIRONMENT = $(VG)
 
 $(TESTS): $(INITRAMFS) $(VMLINUZ)
 
+# Run the tests under valgrind.
+
+valgrind:
+       $(MAKE) check VG="valgrind --quiet --leak-check=full"
+
 # Manual pages.
 # guestfs-actions.pod and guestfs-structs are autogenerated.  There is
 # no include mechanism for POD, so we have to do it by hand.
@@ -142,35 +159,14 @@ html/guestfish.1.html: guestfish.pod guestfish-actions.pod
          --outfile $@
 
 # Recipes web page.
-html/recipes.html: $(wildcard recipes/*.sh) $(wildcard recipes/*.html) $(wildcard recipes/*.example) Makefile
+html/recipes.html: $(wildcard recipes/*.sh) $(wildcard recipes/*.html) $(wildcard recipes/*.example) Makefile make-recipes.sh
        rm -f $@ $@-t
-       echo '<html><head><title>guestfish recipes</title>' >> $@-t; \
-       echo '<link rel="stylesheet" href="recipes.css" type="text/css" title="Standard"/>' >> $@-t; \
-       echo '</head><body>' >> $@-t; \
-       echo '<h1>guestfish recipes</h1>' >> $@-t; \
-       echo '<p>You can also find these in the <code>recipes/</code> subdirectory of the source.</p>' >> $@-t; \
-       for f in recipes/*.sh; do \
-         b=`basename $$f .sh`; \
-         echo -n '<a name="'$$b'"></a>' >> $@-t; \
-         if [ -r recipes/$$b.html ]; then \
-           cat recipes/$$b.html >> $@-t; \
-         else \
-           echo '<h2>$$b</h2>' >> $@-t; \
-         fi; \
-         echo '<pre class="example">' >> $@-t; \
-         sed -e 's,&,\&amp;,g' -e 's,<,\&lt;,g' -e 's,>,\&gt;,g' < $$f >> $@-t; \
-         echo '</pre>' >> $@-t; \
-         if [ -r recipes/$$b.example ]; then \
-           echo '<h3>Example output</h3>' >> $@-t; \
-           echo '<pre>' >> $@-t; \
-           sed -e 's,&,\&amp;,g' -e 's,<,\&lt;,g' -e 's,>,\&gt;,g' < recipes/$$b.example >> $@-t; \
-           echo '</pre>' >> $@-t; \
-         fi; \
-       done; \
-       echo '</body></html>' >> $@-t; \
+       sh make-recipes.sh recipes/*.sh > $@-t
        mv $@-t $@
 
-website: html/guestfs.3.html html/guestfish.1.html html/recipes.html
+website: html/guestfs.3.html html/guestfish.1.html \
+       html/virt-inspector.1.html \
+       html/recipes.html
        cp $^ html/pod.css html/recipes.css \
          $(HOME)/d/redhat/et-website/libguestfs/
 
@@ -211,11 +207,11 @@ test-boot-realistic: emptydisk
          -serial stdio \
          -net channel,6666:unix:/tmp/sock,server,nowait \
          -net user,vlan=0 \
-         -net nic,vlan=0
+         -net nic,model=virtio,vlan=0
 
 # Make clean.
 
-CLEANFILES = $(fs_DATA) emptydisk pod2htm?.tmp *~ html/*~
+CLEANFILES = $(fs_DATA) emptydisk pod2htm?.tmp
 
 clean-local:
        rm -rf initramfs