c-strtof, c-strtod, c-strtold: Make multithread-safe.
[gnulib.git] / doc / Makefile
blob2cb1dc2e777c0fec110a2e5ba71328ab13c75c7f
1 # Makefile for gnulib doc. -*- coding: utf-8 -*-
2 # Copyright (C) 2004, 2006-2024 Free Software Foundation, Inc.
4 # Copying and distribution of this file, with or without modification,
5 # are permitted in any medium without royalty provided the copyright
6 # notice and this notice are preserved.
8 doc = gnulib
10 lang_env = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE=
11 makeinfo_prog = makeinfo
12 # ASCII_DASHES_AND_QUOTES=0 is needed for makeinfo versions ≥ 7.1.
13 # CHECK_NORMAL_MENU_STRUCTURE=1 is needed for makeinfo versions ≥ 6.8.
14 MAKEINFO = $(lang_env) $(makeinfo_prog) \
15 -c ASCII_DASHES_AND_QUOTES=0 \
16 -c CHECK_NORMAL_MENU_STRUCTURE=1
18 manual_opts = --no-split --reference-limit=2000
19 TEXI2HTML = $(MAKEINFO) $(manual_opts) --html
21 # Needed so that tex finds a recent enough texinfo.tex.
22 tex_opts = -I ../build-aux
24 %.info: %.texi
25 $(MAKEINFO) $(manual_opts) $<
27 %.html: %.texi
28 $(TEXI2HTML) -o $@ $<
30 %.dvi: %.texi
31 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; }
33 %.pdf: %.texi
34 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; }
36 all: info html dvi
37 info: $(doc).info
38 html: $(doc).html
39 dvi: $(doc).dvi
40 pdf: $(doc).pdf
42 INSTALL_PRELUDE = echo '@firstparagraphindent insert'
44 OMIT_TRAILING_EMPTY_LINES = /^$$/H; /^$$/d; x; s/\n//p; s/\n*//; x
46 # INSTALL file with UTF-8 encoding.
47 INSTALL: install.texi
48 $(INSTALL_PRELUDE) | cat - $< > tmp.texi
49 $(MAKEINFO) --plaintext --no-validate tmp.texi \
50 | sed -e '$(OMIT_TRAILING_EMPTY_LINES)' > $@
51 rm -f tmp.texi
53 # INSTALL file with ASCII encoding.
54 INSTALL.ISO: INSTALL
55 sed \
56 -e 's/©/(C)/g' \
57 -e 's/–/-/g' \
58 -e 's/‘/'\''/g' \
59 -e 's/’/'\''/g' \
60 -e 's/“/"/g' \
61 -e 's/”/"/g' \
62 $< > $@
64 # INSTALL file with UTF-8 encoding.
65 # This file is obsolescent, as INSTALL now uses UTF-8.
66 INSTALL.UTF-8: INSTALL
67 cp $< $@
69 GNULIB_TEXI_FILES = $(filter-out maintain.texi make-stds.texi standards.texi,$(wildcard *.texi)) $(wildcard posix-headers/*.texi) $(wildcard posix-functions/*.texi) $(wildcard glibc-headers/*.texi) $(wildcard glibc-functions/*.texi)
70 NEWEST_GNULIB_TEXI_FILE = $(shell ls -t $(GNULIB_TEXI_FILES) | sed 1q)
72 # Date of last update. Requires GNU date.
73 updated-stamp: $(GNULIB_TEXI_FILES)
74 date -u -r $(NEWEST_GNULIB_TEXI_FILE) +"@set UPDATED %F %T" > $@
76 # Dependencies. Search for @include to find them all.
77 gnulib.info gnulib.html gnulib.dvi gnulib.pdf: $(GNULIB_TEXI_FILES) updated-stamp
78 standards.info standards.html standards.dvi: standards.texi make-stds.texi fdl.texi
80 mostlyclean:
81 rm -f *.aux *.cn *.cp *.cps *.fn *.ky *.log *.pg *.toc *.tp *.vr *.vrs
82 rm -f updated-stamp
84 clean: mostlyclean
85 rm -f *.info *.html *.dvi *.ps *.pdf