diff options
Diffstat (limited to 'manual')
-rw-r--r-- | manual/.gitignore | 30 | ||||
-rw-r--r-- | manual/Makefile | 111 | ||||
-rw-r--r-- | manual/libc-texinfo.sh | 19 |
3 files changed, 87 insertions, 73 deletions
diff --git a/manual/.gitignore b/manual/.gitignore new file mode 100644 index 0000000000..55c49c998c --- /dev/null +++ b/manual/.gitignore @@ -0,0 +1,30 @@ +*.aux +*.c.texi +*.cp +*.cps +*.dvi* +*.fn +*.fns +*.info* +*.ky +*.kys +*.log +*.pdf +*.pg +*.pgs +*.ps +*.tmp +*.toc +*.tp +*.tps +*.vr +*.vrs +chapters.texi +dir-add.texi +dir-add.texinfo +libm-err.texi +stamp-* +summary.texi +texis +top-menu.texi +version.texi diff --git a/manual/Makefile b/manual/Makefile index 08afecbbf2..29e36c2453 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -26,19 +26,18 @@ INSTALL_INFO = install-info .PHONY: all dvi pdf info html all: dvi +dvi: libc.dvi +pdf: libc.pdf # Get glibc's configuration info. include ../Makeconfig -dvi: $(objpfx)libc.dvi -pdf: $(objpfx)libc.pdf - TEXI2DVI = texi2dvi TEXI2PDF = texi2dvi --pdf ifneq ($(strip $(MAKEINFO)),:) all: info -info: $(objpfx)libc.info +info: libc.info endif mkinstalldirs = $(..)scripts/mkinstalldirs @@ -53,8 +52,8 @@ add-chapters = $(wildcard $(foreach d, $(add-ons), ../$d/$d.texi)) appendices = lang.texi header.texi install.texi maint.texi contrib.texi licenses = freemanuals.texi lgpl-2.1.texi fdl-1.3.texi --include $(objpfx)texis -$(objpfx)texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses) +-include texis +texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses) $(AWK) -f $^ > $@.T mv -f $@.T $@ @@ -62,45 +61,34 @@ nonexamples = $(filter-out $(add-chapters) %.c.texi, $(texis)) examples = $(filter-out $(foreach d, $(add-ons), ../$d/%.c.texi), \ $(filter %.c.texi, $(texis))) -# Generated files directly included from libc.texinfo. -libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \ - libm-err.texi version.texi - -# Add path to build dir for generated files -texis-path := $(filter-out $(libc-texi-generated) summary.texi $(examples), \ - $(texis)) \ - $(addprefix $(objpfx),$(filter $(libc-texi-generated) summary.texi \ - $(examples), $(texis))) - # Kludge: implicit rule so Make knows the one command does it all. -chapters.% top-menu.%: libc-texinfo.sh $(texis-path) Makefile - AWK=$(AWK) $(SHELL) $< $(objpfx) \ - '$(chapters)' \ +chapters.% top-menu.%: libc-texinfo.sh $(texis) Makefile + AWK=$(AWK) $(SHELL) $< '$(chapters)' \ '$(add-chapters)' \ '$(appendices) $(licenses)' +# Generated files directly included from libc.texinfo. +libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \ + libm-err.texi version.texi -$(objpfx)libc.dvi $(objpfx)libc.pdf $(objpfx)libc.info: \ - $(addprefix $(objpfx),$(libc-texi-generated)) -$(objpfx)libc.dvi $(objpfx)libc.pdf: texinfo.tex +libc.dvi libc.pdf libc.info: $(libc-texi-generated) +libc.dvi libc.pdf: texinfo.tex -html: $(objpfx)libc/index.html -$(objpfx)libc/index.html: $(addprefix $(objpfx),$(libc-texi-generated)) - $(MAKEINFO) -P $(objpfx) -o $(objpfx)libc --html libc.texinfo +html: libc/index.html +libc/index.html: $(libc-texi-generated) + $(MAKEINFO) --html libc.texinfo # Generate the summary from the Texinfo source files for each chapter. -$(objpfx)summary.texi: $(objpfx)stamp-summary ; -$(objpfx)stamp-summary: summary.awk $(filter-out $(objpfx)summary.texi, \ - $(texis-path)) - $(AWK) -f $^ | sort -t'' -df -k 1,1 | tr '\014' '\012' \ - > $(objpfx)summary-tmp - $(move-if-change) $(objpfx)summary-tmp $(objpfx)summary.texi +summary.texi: stamp-summary ; +stamp-summary: summary.awk $(filter-out summary.texi, $(texis)) + $(AWK) -f $^ | sort -t'' -df -k 1,1 | tr '\014' '\012' > summary-tmp + $(move-if-change) summary-tmp summary.texi touch $@ # Generate a file which can be added to the `dir' content to provide direct # access to the documentation of the function, variables, and other # definitions. -$(objpfx)dir-add.texi: xtract-typefun.awk $(texis-path) +dir-add.texi: xtract-typefun.awk $(texis) (echo "@dircategory GNU C library functions and macros"; \ echo "@direntry"; \ $(AWK) -f $^ | sort; \ @@ -108,23 +96,23 @@ $(objpfx)dir-add.texi: xtract-typefun.awk $(texis-path) mv -f $@.new $@ # The table with the math errors is generated. -$(objpfx)libm-err.texi: $(objpfx)stamp-libm-err -$(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ +libm-err.texi: stamp-libm-err +stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ $(dir)/libm-test-ulps)) pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp - $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi + $(PERL) $< $$pwd/.. > libm-err-tmp + $(move-if-change) libm-err-tmp libm-err.texi touch $@ # Generate a file with the version number. -$(objpfx)version.texi: $(objpfx)stamp-version ; -$(objpfx)stamp-version: $(common-objpfx)config.make - echo "@set VERSION $(version)" > $(objpfx)version-tmp - $(move-if-change) $(objpfx)version-tmp $(objpfx)version.texi +version.texi: stamp-version ; +stamp-version: $(common-objpfx)config.make + echo "@set VERSION $(version)" > version-tmp + $(move-if-change) version-tmp version.texi touch $@ # Generate Texinfo files from the C source for the example programs. -$(objpfx)%.c.texi: examples/%.c +%.c.texi: examples/%.c sed -e '1,/^\*\/$$/d' \ -e 's,[{}],@&,g' \ -e 's,/\*\(@.*\)\*/,\1,g' \ @@ -133,17 +121,14 @@ $(objpfx)%.c.texi: examples/%.c $< | expand > $@.new mv -f $@.new $@ -$(objpfx)%.info: %.texinfo - LANGUAGE=C LC_ALL=C $(MAKEINFO) -P $(objpfx) --output=$@ $< +%.info: %.texinfo + LANGUAGE=C LC_ALL=C $(MAKEINFO) $< -$(objpfx)%.dvi: %.texinfo - cd $(objpfx);$(TEXI2DVI) -I $(shell cd $(<D) && pwd) --output=$@ \ - $(shell cd $(<D) && pwd)/$< - -$(objpfx)%.pdf: %.texinfo - cd $(objpfx);$(TEXI2PDF) -I $(shell cd $(<D) && pwd) --output=$@ \ - $(shell cd $(<D) && pwd)/$< +%.dvi: %.texinfo + $(TEXI2DVI) $< +%.pdf: %.texinfo + $(TEXI2PDF) $< # Distribution. minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \ @@ -151,17 +136,19 @@ minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \ $(filter-out summary.texi, $(nonexamples)) \ $(patsubst %.c.texi,examples/%.c, $(examples)) +.PHONY: mostlyclean distclean realclean clean +mostlyclean: + -rm -f libc.dvi libc.pdf libc.tmp libc.info* + -rm -f $(objpfx)stubs + -rm -f $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o) +clean: mostlyclean +distclean: clean indices = cp fn pg tp vr ky -generated-dirs := libc -generated = libc.dvi libc.pdf libc.tmp libc.info* \ - stubs \ - texis summary.texi stamp-summary *.c.texi \ - $(foreach index,$(indices),libc.$(index) libc.$(index)s) \ - libc.log libc.aux libc.toc \ - $(libc-texi-generated) \ - stamp-libm-err stamp-version - -include ../Makerules +realclean: distclean + -rm -f texis summary.texi stamp-summary *.c.texi + -rm -f $(foreach index,$(indices),libc.$(index) libc.$(index)s) + -rm -f libc.log libc.aux libc.toc + -rm -f $(libc-texi-generated) .PHONY: install subdir_install installdirs install-data install-data subdir_install: install @@ -175,9 +162,9 @@ endif # Catchall implicit rule for other installation targets from the parent. install-%: ; -$(inst_infodir)/libc.info: $(objpfx)libc.info installdirs +$(inst_infodir)/libc.info: libc.info installdirs for file in $<*; do \ - $(INSTALL_DATA) $$file $(@D)/; \ + $(INSTALL_DATA) $$file $(@D)/$$file; \ done installdirs: diff --git a/manual/libc-texinfo.sh b/manual/libc-texinfo.sh index 60e224bb8d..79ac9773ee 100644 --- a/manual/libc-texinfo.sh +++ b/manual/libc-texinfo.sh @@ -1,13 +1,10 @@ #! /bin/sh -OUTDIR=$1 -shift - # Create libc.texinfo from the chapter files. -trap "rm -f ${OUTDIR}*.$$; exit 1" 1 2 15 +trap "rm -f *.$$; exit 1" 1 2 15 -exec 3>${OUTDIR}incl.$$ 4>${OUTDIR}smenu.$$ 5>${OUTDIR}lmenu.$$ +exec 3>incl.$$ 4>smenu.$$ 5>lmenu.$$ build_menu () { while IFS=: read file node; do @@ -54,7 +51,7 @@ collect_nodes $3 | build_menu exec 3>&- 4>&- 5>&- -mv -f ${OUTDIR}incl.$$ ${OUTDIR}chapters.texi +mv -f incl.$$ chapters.texi { echo '@menu' @@ -75,7 +72,7 @@ mv -f ${OUTDIR}incl.$$ ${OUTDIR}chapters.texi } !/^\*/ { print; } - ' ${OUTDIR}smenu.$$ + ' smenu.$$ cat <<EOF * Free Manuals:: Free Software Needs Free Documentation. * Copying:: The GNU Lesser General Public License says @@ -93,8 +90,8 @@ Indices --- The Detailed Node Listing --- EOF - cat ${OUTDIR}lmenu.$$ - echo '@end menu'; } >${OUTDIR}top-menu.texi.$$ -mv -f ${OUTDIR}top-menu.texi.$$ ${OUTDIR}top-menu.texi + cat lmenu.$$ + echo '@end menu'; } >top-menu.texi.$$ +mv -f top-menu.texi.$$ top-menu.texi -rm -f ${OUTDIR}*.$$ +rm -f *.$$ |