[Top][All Lists]
[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
>
>