mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2026-10-24 00:48:56 +03:00
* doc/pastposix-headers/stropts.texi: Renamed from doc/posix-headers/stropts.texi. * doc/pastposix-headers/sys_timeb.texi: Renamed from doc/posix-headers/sys_timeb.texi. * doc/pastposix-headers/trace.texi: Renamed from doc/posix-headers/trace.texi. * doc/pastposix-headers/ucontext.texi: Renamed from doc/posix-headers/ucontext.texi. * doc/pastposix-headers/ulimit.texi: Renamed from doc/posix-headers/ulimit.texi. * doc/pastposix-headers/utime.texi: Renamed from doc/posix-headers/utime.texi. * doc/Makefile (GNULIB_TEXI_FILES): Add files from doc/pastposix-functions and doc/pastposix-headers. * doc/gnulib.texi (Legacy Header File Substitutes): New node. Move header files removed from POSIX here.
100 lines
4.3 KiB
Makefile
100 lines
4.3 KiB
Makefile
# Makefile for gnulib doc. -*- coding: utf-8 -*-
|
||
# Copyright (C) 2004, 2006-2026 Free Software Foundation, Inc.
|
||
#
|
||
# Copying and distribution of this file, with or without modification,
|
||
# are permitted in any medium without royalty provided the copyright
|
||
# notice and this notice are preserved.
|
||
|
||
doc = gnulib
|
||
|
||
lang_env = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE=
|
||
makeinfo_prog = makeinfo
|
||
# ASCII_DASHES_AND_QUOTES=0 is needed for makeinfo versions ≥ 7.1.
|
||
# CHECK_NORMAL_MENU_STRUCTURE=1 is needed for makeinfo versions ≥ 6.8.
|
||
MAKEINFO = $(lang_env) $(makeinfo_prog) \
|
||
-c ASCII_DASHES_AND_QUOTES=0 \
|
||
-c CHECK_NORMAL_MENU_STRUCTURE=1
|
||
|
||
manual_opts = --no-split --reference-limit=2000
|
||
TEXI2HTML = $(MAKEINFO) $(manual_opts) --html
|
||
|
||
# Needed so that tex finds a recent enough texinfo.tex.
|
||
tex_opts = -I ../build-aux
|
||
|
||
undocumented-modules.texi: force
|
||
grep -h '^@mindex ' `find . -name '*.texi'` | sed -e 's/@mindex //' | LC_ALL=C sort -u > documented-modules.tmp
|
||
(cd .. && ./gnulib-tool --list) | LC_ALL=C sort -u > all-modules.tmp
|
||
LC_ALL=C join -v1 all-modules.tmp documented-modules.tmp > undocumented-modules.tmp
|
||
# For testing whether a module is deprecated, "./gnulib-tool --extract-status <module>" is a bit slow, so use grep instead.
|
||
modules=`cat undocumented-modules.tmp`; (cd ../modules && grep -l '^deprecated$$' $$modules) > deprecated-undocumented-modules.tmp
|
||
LC_ALL=C join -v1 undocumented-modules.tmp deprecated-undocumented-modules.tmp > undocumented-modules-2.tmp
|
||
LC_ALL=C join -v1 undocumented-modules-2.tmp internal-modules > undocumented-modules-3.tmp
|
||
sed -e 's/^/@umindex /' < undocumented-modules-3.tmp > undocumented-modules.texi
|
||
rm -f documented-modules.tmp all-modules.tmp undocumented-modules.tmp deprecated-undocumented-modules.tmp undocumented-modules-2.tmp undocumented-modules-3.tmp
|
||
|
||
%.info: %.texi undocumented-modules.texi
|
||
$(MAKEINFO) $(manual_opts) $<
|
||
|
||
%.html: %.texi undocumented-modules.texi
|
||
$(TEXI2HTML) -o $@ $<
|
||
|
||
%.dvi: %.texi undocumented-modules.texi
|
||
texi2dvi $(tex_opts) $< || { if texi2dvi $(tex_opts) $< 2>/dev/null | grep 'TeX capacity exceeded, sorry \[save size=' > /dev/null; then echo '*** You must increase the save_size in your texmf.cnf file, often located under /etc/texmf/.'; fi; exit 1; }
|
||
|
||
%.pdf: %.texi undocumented-modules.texi
|
||
texi2pdf $(tex_opts) $< || { if texi2pdf $(tex_opts) $< 2>/dev/null | grep 'TeX capacity exceeded, sorry \[save size=' > /dev/null; then echo '*** You must increase the save_size in your texmf.cnf file, often located under /etc/texmf/.'; fi; exit 1; }
|
||
|
||
all: info html dvi
|
||
info: $(doc).info
|
||
html: $(doc).html
|
||
dvi: $(doc).dvi
|
||
pdf: $(doc).pdf
|
||
|
||
INSTALL_PRELUDE = echo '@firstparagraphindent insert'
|
||
|
||
OMIT_TRAILING_EMPTY_LINES = /^$$/H; /^$$/d; x; s/\n//p; s/\n*//; x
|
||
|
||
# INSTALL file with UTF-8 encoding.
|
||
INSTALL: install.texi
|
||
$(INSTALL_PRELUDE) | cat - $< > tmp.texi
|
||
$(MAKEINFO) --plaintext --no-validate tmp.texi \
|
||
| sed -e '$(OMIT_TRAILING_EMPTY_LINES)' > $@
|
||
rm -f tmp.texi
|
||
|
||
# INSTALL file with ASCII encoding.
|
||
INSTALL.ISO: INSTALL
|
||
sed \
|
||
-e 's/©/(C)/g' \
|
||
-e 's/–/-/g' \
|
||
-e 's/‘/'\''/g' \
|
||
-e 's/’/'\''/g' \
|
||
-e 's/“/"/g' \
|
||
-e 's/”/"/g' \
|
||
$< > $@
|
||
|
||
# INSTALL file with UTF-8 encoding.
|
||
# This file is obsolescent, as INSTALL now uses UTF-8.
|
||
INSTALL.UTF-8: INSTALL
|
||
cp $< $@
|
||
|
||
GNULIB_TEXI_FILES = $(filter-out maintain.texi make-stds.texi standards.texi,$(wildcard *.texi)) $(wildcard posix-headers/*.texi) $(wildcard pastposix-headers/*.texi) $(wildcard posix-functions/*.texi) $(wildcard pastposix-functions/*.texi) $(wildcard glibc-headers/*.texi) $(wildcard glibc-functions/*.texi)
|
||
NEWEST_GNULIB_TEXI_FILE = $(shell ls -t $(GNULIB_TEXI_FILES) | sed 1q)
|
||
|
||
# Date of last update. Requires GNU date.
|
||
updated-stamp: $(GNULIB_TEXI_FILES)
|
||
date -u -r $(NEWEST_GNULIB_TEXI_FILE) +"@set UPDATED %F %T" > $@
|
||
|
||
# Dependencies. Search for @include to find them all.
|
||
gnulib.info gnulib.html gnulib.dvi gnulib.pdf: $(GNULIB_TEXI_FILES) updated-stamp
|
||
standards.info standards.html standards.dvi standards.pdf: standards.texi make-stds.texi fdl.texi
|
||
maintain.info maintain.html maintain.dvi maintain.pdf: maintain.texi fdl.texi
|
||
|
||
mostlyclean:
|
||
rm -f *.aux *.cn *.cp *.cps *.fn *.ky *.log *.m *.pg *.toc *.tmp *.tp *.vr *.vrs
|
||
rm -f updated-stamp
|
||
|
||
clean: mostlyclean
|
||
rm -f *.info *.html *.dvi *.ps *.pdf
|
||
|
||
force:
|