grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Build info documentation


From: Colin Watson
Subject: [PATCH] Build info documentation
Date: Tue, 15 Sep 2009 06:20:13 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

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  <address@hidden>

        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)
+       address@hidden -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 @@
address@hidden UPDATED 7 Ago 2009
address@hidden UPDATED-MONTH Ago 2009
address@hidden EDITION 1.97~beta3
address@hidden 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                                       address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]