+2009-09-21 Colin Watson <cjwatson@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'.
+
2009-09-21 Felix Zielcke <fzielcke@z-51.de>
* kern/term.c: Fix indentation.
STRIP = @STRIP@
NM = @NM@
RUBY = @RUBY@
+MAKEINFO = @MAKEINFO@
+ifeq (, $(MAKEINFO))
+MAKEINFO = true
+endif
HELP2MAN = @HELP2MAN@
ifeq (, $(HELP2MAN))
HELP2MAN = true
PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS) \
$(lib_SCRIPTS)
+INFOS = $(info_INFOS)
CLEANFILES =
MOSTLYCLEANFILES =
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
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
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
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
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)