summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-12-12 00:54:21 -0800
committerGlenn Morris <rgm@gnu.org>2013-12-12 00:54:21 -0800
commit62bd73fa7a8c50504bc6f916b86603ea654fc472 (patch)
treec0f269198491a68fe4fbedcb9a95ddf11c4ac600 /Makefile.in
parent397a32c12ad097314c0948818d5c54b43d9f3d54 (diff)
downloademacs-62bd73fa7a8c50504bc6f916b86603ea654fc472.tar.gz
Stop keeping info/dir in the repository.
* build-aux/dir_top: Move here from admin/. * build-aux/make-info-dir: New script. * Makefile.in (bootstrap-clean): Delete info/. (info-dir, ${srcdir}/info/dir): New rules. (info): Also make info-dir. (check-info): Rename from check-info-dir. Instead of info/dir entries, check @dircategory in info/*.info. * make-dist: Use `info' rule rather than `info-real'. No more info/COPYING (not even the right license for info/ files). * info/: Remove from repository. * admin/update_autogen (info_dir): Use dir_top from build-aux/ rather than admin/. * .bzrignore: Ignore info/ altogether. * doc/emacs/Makefile.in: Comment.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in48
1 files changed, 35 insertions, 13 deletions
diff --git a/Makefile.in b/Makefile.in
index aedb9acff0d..dae475bf2e8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -639,6 +639,10 @@ install-etcdoc: src install-arch-indep
chown $${installuser} "$(DESTDIR)${etcdocdir}/$${docfile}" || true ; \
else true; fi
+## FIXME:
+## If info/dir is missing, but we have install-info, we should let
+## that handle it. If info/dir is present and we do not have install-info,
+## we should check for missing entries and add them by hand.
install-info: info
umask 022; ${MKDIR_P} "$(DESTDIR)${infodir}"
-unset CDPATH; \
@@ -883,6 +887,7 @@ bootstrap-clean: FRC
[ ! -d $$dir ] || (cd $$dir && $(MAKE) $(MFLAGS) bootstrap-clean); \
done
[ ! -f config.log ] || mv -f config.log config.log~
+ rm -rf ${srcdir}/info
${top_bootclean}
### `maintainer-clean'
@@ -946,7 +951,7 @@ $(DOCS):
t=$@; IFS=-; set $$t; IFS=; cd doc/$$1 && $(MAKE) $(MFLAGS) $$2
.PHONY: $(DOCS) docs pdf ps
-.PHONY: info dvi dist check html info-real force-info check-info-dir
+.PHONY: info dvi dist check html info-real info-dir force-info check-info
## TODO add etc/refcards.
docs: $(DOCS)
@@ -956,6 +961,20 @@ info-real: $(INFOS)
pdf: $(PDFS)
ps: $(PSS)
+info-dir: ${srcdir}/info/dir
+
+## It would be much simpler if info/dir was only created in the
+## installation location by the install-info rule, but we also
+## need one in the source directory for people running uninstalled.
+## The dependency on *.texi is not essential, but it keeps
+## this rule from running needlessly when there are no changes.
+${srcdir}/info/dir: ${srcdir}/build-aux/dir_top ${srcdir}/doc/*/*.texi
+ ${MAKE} ${MFLAGS} info-real
+ tempfile=info-dir.$$$$; \
+ rm -f $${tempfile}; \
+ thisdir=`pwd`; \
+ (cd ${srcdir} && ./build-aux/make-info-dir $${thisdir}/$${tempfile}); \
+ ${srcdir}/build-aux/move-if-change $${tempfile} ${srcdir}/info/dir
INSTALL_DVI = install-emacs-dvi install-lispref-dvi \
install-lispintro-dvi install-misc-dvi
@@ -1021,28 +1040,31 @@ info: force-info
@if test "$(HAVE_MAKEINFO)" = "no"; then \
echo "Configured --without-makeinfo, not building manuals" ; \
else \
- $(MAKE) $(MFLAGS) info-real ; \
+ $(MAKE) $(MFLAGS) info-real info-dir; \
fi
-# The info/dir file must be updated by hand when new manuals are added.
-# Cannot add an info/dir entry for efaq-w32 since it is not installed
-# on all platforms.
-check-info-dir: info
+## build-aux/make-info-dir expects only certain dircategories.
+check-info: info
cd info ; \
- missing= ; \
+ bad= ; \
for file in *; do \
test -f "$${file}" || continue ; \
case $${file} in \
- *-[0-9]*|COPYING|dir|efaq-w32*) continue ;; \
+ *-[0-9]*|COPYING|dir) continue ;; \
esac ; \
- file=`echo $${file} | sed 's/\.info//'` ; \
- grep -q -F ": ($${file})." dir || missing="$${missing} $${file}" ; \
+ cat=`sed -n 's/^INFO-DIR-SECTION //p' $${file}`; \
+ case $${cat} in \
+ "Texinfo documentation system" | "Emacs"| "GNU Emacs Lisp" | \
+ "Emacs editing modes" | "Emacs network features" | \
+ "Emacs misc features" | "Emacs lisp libraries" ) : ;; \
+ *) bad="$${bad} $${file}" ;; \
+ esac; \
done ; \
- if test -n "$${missing}"; then \
- echo "Missing info/dir entries: $${missing}" ; \
+ if test -n "$${bad}"; then \
+ echo "Unexpected dircategory in: $${bad}" ; \
exit 1 ; \
fi ; \
- echo "info/dir is OK"
+ echo "info files are OK"
#### Bootstrapping.