1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2026-10-24 00:48:56 +03:00
Files
gnulib/doc/Makefile
Collin Funk 6835a28189 doc: Separate header files removed by POSIX.
* 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.
2026-02-07 20:56:25 -08:00

100 lines
4.3 KiB
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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: