grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Build info documentation


From: Vladimir 'phcoder' Serbinenko
Subject: Re: [PATCH] Build info documentation
Date: Tue, 22 Sep 2009 09:49:23 +0200
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090701)

Colin Watson wrote:
> 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.
>   
This part has broken external compile because in extern folder "docs"
may not be present
>       (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
>
>   





reply via email to

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