I'm not quite sure I've got everything right here, so please review. It seemed much simpler to add everything to Makefile.in than to go through conf/*.rmk for this, as there's no platform-specific work to be done here.
2009-09-15 Colin Watson <cjwat...@ubuntu.com> Build info documentation. Some code borrowed from Automake. * configure.ac: Check for makeinfo. * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables. (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and docs/version.texi. (MOSTLYCLEANFILES): Add vti.tmp. (docs/version.texi, docs/stamp-vti): Update automatically. (docs/grub.info): Build info documentation. Use --force and ignore errors for now. (all-local): Add $(INFOS). (install-local): Install info files. (uninstall): Uninstall info files. * docs/version.texi: Remove from revision control. This file is automatically generated on build now. * gendistlist.sh: Add `*.info'. Index: configure.ac =================================================================== --- configure.ac (revision 2596) +++ configure.ac (working copy) @@ -147,6 +147,7 @@ AC_PROG_MAKE_SET # These are not a "must". AC_PATH_PROG(RUBY, ruby) +AC_PATH_PROG(MAKEINFO, makeinfo) # # Checks for host programs. Index: Makefile.in =================================================================== --- Makefile.in (revision 2596) +++ Makefile.in (working copy) @@ -86,6 +86,10 @@ OBJCOPY = @OBJCOPY@ STRIP = @STRIP@ NM = @NM@ RUBY = @RUBY@ +MAKEINFO = @MAKEINFO@ +ifeq (, $(MAKEINFO)) +MAKEINFO = true +endif HELP2MAN = @HELP2MAN@ ifeq (, $(HELP2MAN)) HELP2MAN = true @@ -122,6 +126,7 @@ PKGDATA = $(pkgdata_DATA) PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES) SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS) \ $(lib_SCRIPTS) +INFOS = $(info_INFOS) CLEANFILES = MOSTLYCLEANFILES = @@ -129,7 +134,7 @@ DISTCLEANFILES = config.status config.cache config Makefile stamp-h include/grub/cpu include/grub/machine \ gensymlist.sh genkernsyms.sh build_env.mk MAINTAINER_CLEANFILES = $(srcdir)/configure $(addprefix $(srcdir)/,$(MKFILES)) \ - $(srcdir)/DISTLIST $(srcdir)/config.h.in $(srcdir)/stamp-h.in + $(srcdir)/DISTLIST $(srcdir)/config.h.in $(srcdir)/stamp-h.in $(INFOS) # The default target. all: all-local @@ -168,6 +173,27 @@ handler.lst: $(HANDLERFILES) parttool.lst: $(PARTTOOLFILES) cat $^ /dev/null | sort | uniq > $@ +info_INFOS += docs/grub.info + +MOSTLYCLEANFILES += vti.tmp +MAINTAINER_CLEANFILES += docs/stamp-vti docs/version.texi +docs/version.texi: docs/stamp-vti +docs/stamp-vti: docs/grub.texi + (set `$(SHELL) $(srcdir)/docs/mdate-sh $<`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ + echo "@set UPDATED-MONTH $$2 $$3"; \ + echo "@set EDITION $(PACKAGE_VERSION)"; \ + echo "@set VERSION $(PACKAGE_VERSION)") > vti.tmp + @cmp -s vti.tmp $(srcdir)/docs/version.texi \ + || (echo "Updating $(srcdir)/docs/version.texi"; \ + cp vti.tmp $(srcdir)/docs/version.texi) + -...@rm -f vti.tmp + @cp $(srcdir)/docs/version.texi $@ + +# Use --force until such time as the documentation is cleaned up. +docs/grub.info: docs/grub.texi docs/version.texi docs/fdl.texi + $(MAKEINFO) --no-split --force $< -o $@ || : + ifeq (, $(UNIFONT_BDF)) else @@ -207,7 +233,7 @@ pkglib_BUILDDIR += config.h grub_script.tab.h include_DATA += $(shell find $(srcdir)/include -name \*.h | sed -e "s,^$(srcdir)/,,g") \ include/grub/cpu include/grub/machine -all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(MKFILES) +all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) $(MKFILES) install: install-local @@ -285,6 +311,17 @@ install-local: all dest="`echo $$file | sed 's,.*/,,'`"; \ $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \ done + $(SHELL) $(mkinstalldirs) $(DESTDIR)$(infodir) + @list='$(info_INFOS)'; \ + for file in $$list; do \ + if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \ + dest="`echo $$file | sed 's,.*/,,'`"; \ + $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(infodir); \ + if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$dest" || :; \ + fi; \ + done install-strip: $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install @@ -325,6 +362,19 @@ uninstall: echo rm -f $(DESTDIR)$(libdir)/$$dest; \ rm -f $(DESTDIR)$(libdir)/grub/$$dest; \ done + @list='$(info_INFOS)'; \ + for file in $$list; do \ + dest="`echo $$file | sed 's,.*/,,'`"; \ + if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$dest"; then \ + :; \ + else \ + test ! -f "$(DESTDIR)$(infodir)/$$dest" || exit 1; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(infodir)/$$dest; \ + done clean: $(CLEAN_IMAGE_TARGETS) $(CLEAN_MODULE_TARGETS) $(CLEAN_UTILITY_TARGETS) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) Property changes on: docs ___________________________________________________________________ Added: svn:ignore + *.info stamp-vti version.texi Index: docs/version.texi =================================================================== --- docs/version.texi (revision 2596) +++ docs/version.texi (working copy) @@ -1,4 +0,0 @@ -...@set UPDATED 7 Ago 2009 -...@set UPDATED-MONTH Ago 2009 -...@set EDITION 1.97~beta3 -...@set VERSION 1.97~beta3 Index: gendistlist.sh =================================================================== --- gendistlist.sh (revision 2596) +++ gendistlist.sh (working copy) @@ -38,7 +38,8 @@ for dir in $DISTDIRS; do for d in `find $dir -type d | sed '/\/\.svn$/d;\/\.svn\//d' | sort`; do find $d -maxdepth 1 -name '*.[chSy]' -o -name '*.mk' -o -name '*.rmk' \ -o -name '*.rb' -o -name '*.in' -o -name '*.tex' -o -name '*.texi' \ - -o -name 'grub.cfg' -o -name 'README' -o -name '*.sc' -o -name 'mdate-sh' \ - -o -name '*.sh' -o -name 'grub-dumpdevtree' -o -name '*.lua' | sort + -o -name '*.info' -o -name 'grub.cfg' -o -name 'README' \ + -o -name '*.sc' -o -name 'mdate-sh' -o -name '*.sh' \ + -o -name 'grub-dumpdevtree' -o -name '*.lua' | sort done done -- Colin Watson [cjwat...@ubuntu.com] _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel