EXTRA_DIST = $(pkgdata_DATA)
 VERSIONED_FILES = README
 
+include $(top_srcdir)/Makefile.inc
+
 dist-hook:
-       @cd $(distdir); \
-       for file in $(VERSIONED_FILES); do \
-          sed 's/\@VERSION\@/${VERSION}/' $$file > $$file.new; \
-         rm $$file; \
-         mv $$file.new $$file; \
-       done
+       $(replace-VERSION)
 
 clean-local:
        rm -f testgedcom.out
 
--- /dev/null
+## File to include in other Makefile's, defining common commands
+# $Id$
+# $Name$
+
+define replace-VERSION
+  cd $(distdir); \
+  for file in $(VERSIONED_FILES); do \
+  sed 's/\@VERSION\@/${VERSION}/' $$file > $$file.new; \
+  rm $$file; \
+  mv $$file.new $$file; \
+  done
+endef
 
          ansel/Makefile
          t/Makefile
          doc/Makefile
+         doc/images/Makefile
          include/Makefile
           intl/Makefile
           po/Makefile.in)
 
 # $Id$
 # $Name$
 
-EXTRA_DIST = index.html usage.html parser.html interface.html links.html
+SUBDIRS = images .
+DOC_FILES = index.html usage.html parser.html interface.html links.html
 VERSIONED_FILES = index.html
+EXTRA_DIST = $(DOC_FILES)
+docdir = $(datadir)/doc/@PACKAGE@-@VERSION@
+
+include $(top_srcdir)/Makefile.inc
+
+doc_DATA = $(DOC_FILES)
 
 dist-hook:
-       mkdir -p $(distdir)/images;
-       cp -p $(srcdir)/images/schema.obj $(srcdir)/images/schema.png \
-          $(distdir)/images;
-       cd $(distdir); \
-       for file in $(VERSIONED_FILES); do \
-          sed 's/\@VERSION\@/${VERSION}/' $$file > $$file.new; \
-         rm $$file; \
-         mv $$file.new $$file; \
-       done
+       $(replace-VERSION)
 
--- /dev/null
+Makefile.in
 
--- /dev/null
+## Process this file with automake to produce Makefile.in
+# $Id$
+# $Name$
+
+DOC_FILES = schema.png
+EXTRA_DIST = $(DOC_FILES) schema.obj
+docdir = $(datadir)/doc/@PACKAGE@-@VERSION@/images
+
+doc_DATA = $(DOC_FILES)
+
+
+