build: Centralize all POD manipulation in 'podwrapper.sh' script.
[libguestfs.git] / cat / Makefile.am
index 63064e6..10a768b 100644 (file)
@@ -1,4 +1,4 @@
-# libguestfs virt-cat.
+# libguestfs virt-cat, virt-filesystems and virt-ls.
 # Copyright (C) 2010 Red Hat Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -20,9 +20,17 @@ include $(top_srcdir)/subdir-rules.mk
 EXTRA_DIST = \
        run-cat-locally \
        test-virt-cat.sh \
-       virt-cat.pod
+       virt-cat.pod \
+       run-filesystems-locally \
+       test-virt-filesystems.sh \
+       virt-filesystems.pod \
+       run-ls-locally \
+       test-virt-ls.sh \
+       virt-ls.pod
 
-bin_PROGRAMS = virt-cat
+CLEANFILES = stamp-virt-cat.pod stamp-virt-ls.pod stamp-virt-filesystems.pod
+
+bin_PROGRAMS = virt-cat virt-filesystems virt-ls
 
 SHARED_SOURCE_FILES = \
        ../fish/inspect.c \
@@ -46,25 +54,70 @@ virt_cat_LDADD = \
        $(top_builddir)/src/libguestfs.la \
        ../gnulib/lib/libgnu.la
 
+virt_filesystems_SOURCES = \
+       $(SHARED_SOURCE_FILES) \
+       virt-filesystems.c
+
+virt_filesystems_CFLAGS = \
+       -I$(top_srcdir)/src -I$(top_builddir)/src \
+       -I$(top_srcdir)/fish \
+       -I$(srcdir)/../gnulib/lib -I../gnulib/lib \
+       -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
+       $(WARN_CFLAGS) $(WERROR_CFLAGS)
+
+virt_filesystems_LDADD = \
+       $(top_builddir)/src/libguestfs.la \
+       ../gnulib/lib/libgnu.la
+
+virt_ls_SOURCES = \
+       $(SHARED_SOURCE_FILES) \
+       virt-ls.c
+
+virt_ls_CFLAGS = \
+       -I$(top_srcdir)/src -I$(top_builddir)/src \
+       -I$(top_srcdir)/fish \
+       -I$(srcdir)/../gnulib/lib -I../gnulib/lib \
+       -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
+       $(WARN_CFLAGS) $(WERROR_CFLAGS)
+
+virt_ls_LDADD = \
+       $(top_builddir)/src/libguestfs.la \
+       ../gnulib/lib/libgnu.la
+
 # Manual pages and HTML files for the website.
-man_MANS = virt-cat.1
+man_MANS = virt-cat.1 virt-filesystems.1 virt-ls.1
+
+noinst_DATA = \
+       $(top_builddir)/html/virt-cat.1.html \
+       $(top_builddir)/html/virt-filesystems.1.html \
+       $(top_builddir)/html/virt-ls.1.html
 
-noinst_DATA = $(top_builddir)/html/virt-cat.1.html
+virt-cat.1 $(top_builddir)/html/virt-cat.1.html: stamp-virt-cat.pod
 
-virt-cat.1: virt-cat.pod
-       $(POD2MAN) \
-         --section 1 \
-         -c "Virtualization Support" \
-         --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
-         $< > $@-t && mv $@-t $@
+stamp-virt-cat.pod: virt-cat.pod
+       $(top_srcdir)/podwrapper.sh \
+         --man virt-cat.1 \
+         --html $(top_builddir)/html/virt-cat.1.html \
+         $<
+       touch $@
 
-$(top_builddir)/html/virt-cat.1.html: virt-cat.pod
-       mkdir -p $(top_builddir)/html
-       cd $(top_builddir) && pod2html \
-         --css 'pod.css' \
-         --htmldir html \
-         --outfile html/$@ \
-         $(abs_srcdir)/$<
+virt-ls.1 $(top_builddir)/html/virt-ls.1.html: stamp-virt-ls.pod
+
+stamp-virt-ls.pod: virt-ls.pod
+       $(top_srcdir)/podwrapper.sh \
+         --man virt-ls.1 \
+         --html $(top_builddir)/html/virt-ls.1.html \
+         $<
+       touch $@
+
+virt-filesystems.1 $(top_builddir)/html/virt-filesystems.1.html: stamp-virt-filesystems.pod
+
+stamp-virt-filesystems.pod: virt-filesystems.pod
+       $(top_srcdir)/podwrapper.sh \
+         --man virt-filesystems.1 \
+         --html $(top_builddir)/html/virt-filesystems.1.html \
+         $<
+       touch $@
 
 # Tests.
 
@@ -75,10 +128,18 @@ TESTS_ENVIRONMENT = \
        LD_LIBRARY_PATH=$(top_builddir)/src/.libs \
        LIBGUESTFS_PATH=$(top_builddir)/appliance
 
-TESTS = test-virt-cat.sh
+TESTS = test-virt-cat.sh test-virt-filesystems.sh test-virt-ls.sh
 
-# Build a partly-static library (for the binary distribution).
+# Build a partly-static binary (for the binary distribution).
 
 virt-cat.static$(EXEEXT): $(virt_cat_OBJECTS) $(virt_cat_DEPENDENCIES)
        $(top_srcdir)/relink-static.sh \
        $(virt_cat_LINK) $(virt_cat_OBJECTS) -static $(virt_cat_LDADD) $(virt_cat_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
+
+virt-filesystems.static$(EXEEXT): $(virt_filesystems_OBJECTS) $(virt_filesystems_DEPENDENCIES)
+       $(top_srcdir)/relink-static.sh \
+       $(virt_filesystems_LINK) $(virt_filesystems_OBJECTS) -static $(virt_filesystems_LDADD) $(virt_filesystems_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
+
+virt-ls.static$(EXEEXT): $(virt_ls_OBJECTS) $(virt_ls_DEPENDENCIES)
+       $(top_srcdir)/relink-static.sh \
+       $(virt_ls_LINK) $(virt_ls_OBJECTS) -static $(virt_ls_LDADD) $(virt_ls_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm