diff options
author | Andreas Jaeger <aj@suse.de> | 2012-05-04 13:13:57 +0200 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2012-05-04 13:13:57 +0200 |
commit | e3945c47bdac1149a1fec5d46bd567a248cd17b9 (patch) | |
tree | e67a0c0f333cd35de310a66749f9793aaf5b1b13 | |
parent | 31dc8730af585d8e13021484752fb20decae0661 (diff) | |
download | glibc-e3945c47bdac1149a1fec5d46bd567a248cd17b9.tar.gz glibc-e3945c47bdac1149a1fec5d46bd567a248cd17b9.tar.xz glibc-e3945c47bdac1149a1fec5d46bd567a248cd17b9.zip |
Do not build manual in the source directory
[BZ #13750] Build the manual in the build directory and not anymore in the source directory.
-rw-r--r-- | ChangeLog | 31 | ||||
-rw-r--r-- | NEWS | 12 | ||||
-rw-r--r-- | manual/.gitignore | 30 | ||||
-rw-r--r-- | manual/Makefile | 111 | ||||
-rw-r--r-- | manual/libc-texinfo.sh | 19 |
5 files changed, 109 insertions, 94 deletions
diff --git a/ChangeLog b/ChangeLog index 5fb65d568e..38ed06cf8a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,33 @@ -2012-05-02 Adhemerval Zanella <azanella@linux.vnet.ibm.com> +2012-05-04 Andreas Jaeger <aj@suse.de> + + [BZ #13750] + * manual/.gitignore: Remove, it's not needed anymore. + * manual/libc-texinfo.sh: Pass OUTDIR as extra argument, create + all files in it. + * manual/Makefile (dvi, pdf, info, html): Depend on files in build + directory. + (texis): Renamed to $(objpfx)texis. + (texis-path): New, contains path to generated files. + (chapters.%): Use texis-path for complete path, add extra argument + libc-texinfo.sh. + (libc.dvi, libc.pdf, libc.info, libc.pdf): Add $(objfpx) as prefix. + (libc/index.html, summary.texi): Add $(objpfx) as prefix. + (summary,texi, stamp-summary): Use complete path of + files. Generate files in build dir. + (dir-add.texi): Build in build dir. + (libm-err.texi,stamp-libm-err): Likewise. + (version.texi, stamp-version): Likewise. + (.%c.texi): Likewise. + (%.info,%.dvi,%.pdf): Add $(objpfx) as prefix, build in build dir. + (mostlyclean): Remove target. + (realclean): Remove target. + (generated): Add new variable with contents from mostlyclean and + realclean, remove entries duplicated in common-mostlyclean, add + stamp-libm-err and stamp-version. + (generated-dirs): Add libc directory. + ($(inst_infodir)/libc.info): Install files from build dir. + +2012-05-04 Adhemerval Zanella <azanella@linux.vnet.ibm.com> * sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Fix long double comparison inaccuracies. diff --git a/NEWS b/NEWS index 0873b2f03d..2d87df93c9 100644 --- a/NEWS +++ b/NEWS @@ -18,12 +18,12 @@ Version 2.16 12047, 12340, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637, 13656, 13658, 13673, 13691, 13695, 13704, 13705, - 13706, 13726, 13738, 13739, 13758, 13760, 13761, 13775, 13786, 13792, - 13806, 13824, 13840, 13841, 13844, 13846, 13851, 13852, 13854, 13871, - 13872, 13873, 13879, 13883, 13886, 13892, 13895, 13908, 13910, 13911, - 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13924, - 13926, 13927, 13928, 13938, 13941, 13942, 13963, 13967, 13970, 13973, - 14027, 14033, 14034, 14040, 14049, 14055 + 13706, 13726, 13738, 13739, 13750, 13758, 13760, 13761, 13775, 13786, + 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, 13852, 13854, + 13871, 13872, 13873, 13879, 13883, 13886, 13892, 13895, 13908, 13910, + 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, 13921, + 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13963, 13967, 13970, + 13973, 14027, 14033, 14034, 14040, 14049, 14055 * ISO C11 support: diff --git a/manual/.gitignore b/manual/.gitignore deleted file mode 100644 index 55c49c998c..0000000000 --- a/manual/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -*.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 29e36c2453..08afecbbf2 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -26,18 +26,19 @@ 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: libc.info +info: $(objpfx)libc.info endif mkinstalldirs = $(..)scripts/mkinstalldirs @@ -52,8 +53,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 texis -texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses) +-include $(objpfx)texis +$(objpfx)texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses) $(AWK) -f $^ > $@.T mv -f $@.T $@ @@ -61,34 +62,45 @@ 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) Makefile - AWK=$(AWK) $(SHELL) $< '$(chapters)' \ +chapters.% top-menu.%: libc-texinfo.sh $(texis-path) Makefile + AWK=$(AWK) $(SHELL) $< $(objpfx) \ + '$(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 -libc.dvi libc.pdf libc.info: $(libc-texi-generated) -libc.dvi libc.pdf: texinfo.tex +$(objpfx)libc.dvi $(objpfx)libc.pdf $(objpfx)libc.info: \ + $(addprefix $(objpfx),$(libc-texi-generated)) +$(objpfx)libc.dvi $(objpfx)libc.pdf: texinfo.tex -html: libc/index.html -libc/index.html: $(libc-texi-generated) - $(MAKEINFO) --html libc.texinfo +html: $(objpfx)libc/index.html +$(objpfx)libc/index.html: $(addprefix $(objpfx),$(libc-texi-generated)) + $(MAKEINFO) -P $(objpfx) -o $(objpfx)libc --html libc.texinfo # Generate the summary from the Texinfo source files for each chapter. -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 +$(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 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. -dir-add.texi: xtract-typefun.awk $(texis) +$(objpfx)dir-add.texi: xtract-typefun.awk $(texis-path) (echo "@dircategory GNU C library functions and macros"; \ echo "@direntry"; \ $(AWK) -f $^ | sort; \ @@ -96,23 +108,23 @@ dir-add.texi: xtract-typefun.awk $(texis) mv -f $@.new $@ # The table with the math errors is generated. -libm-err.texi: stamp-libm-err -stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ +$(objpfx)libm-err.texi: $(objpfx)stamp-libm-err +$(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ $(dir)/libm-test-ulps)) pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi + $(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp + $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi touch $@ # Generate a file with the version number. -version.texi: stamp-version ; -stamp-version: $(common-objpfx)config.make - echo "@set VERSION $(version)" > version-tmp - $(move-if-change) version-tmp version.texi +$(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 touch $@ # Generate Texinfo files from the C source for the example programs. -%.c.texi: examples/%.c +$(objpfx)%.c.texi: examples/%.c sed -e '1,/^\*\/$$/d' \ -e 's,[{}],@&,g' \ -e 's,/\*\(@.*\)\*/,\1,g' \ @@ -121,14 +133,17 @@ stamp-version: $(common-objpfx)config.make $< | expand > $@.new mv -f $@.new $@ -%.info: %.texinfo - LANGUAGE=C LC_ALL=C $(MAKEINFO) $< +$(objpfx)%.info: %.texinfo + LANGUAGE=C LC_ALL=C $(MAKEINFO) -P $(objpfx) --output=$@ $< -%.dvi: %.texinfo - $(TEXI2DVI) $< +$(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)/$< -%.pdf: %.texinfo - $(TEXI2PDF) $< # Distribution. minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \ @@ -136,19 +151,17 @@ 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 -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) +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 .PHONY: install subdir_install installdirs install-data install-data subdir_install: install @@ -162,9 +175,9 @@ endif # Catchall implicit rule for other installation targets from the parent. install-%: ; -$(inst_infodir)/libc.info: libc.info installdirs +$(inst_infodir)/libc.info: $(objpfx)libc.info installdirs for file in $<*; do \ - $(INSTALL_DATA) $$file $(@D)/$$file; \ + $(INSTALL_DATA) $$file $(@D)/; \ done installdirs: diff --git a/manual/libc-texinfo.sh b/manual/libc-texinfo.sh index 79ac9773ee..60e224bb8d 100644 --- a/manual/libc-texinfo.sh +++ b/manual/libc-texinfo.sh @@ -1,10 +1,13 @@ #! /bin/sh +OUTDIR=$1 +shift + # Create libc.texinfo from the chapter files. -trap "rm -f *.$$; exit 1" 1 2 15 +trap "rm -f ${OUTDIR}*.$$; exit 1" 1 2 15 -exec 3>incl.$$ 4>smenu.$$ 5>lmenu.$$ +exec 3>${OUTDIR}incl.$$ 4>${OUTDIR}smenu.$$ 5>${OUTDIR}lmenu.$$ build_menu () { while IFS=: read file node; do @@ -51,7 +54,7 @@ collect_nodes $3 | build_menu exec 3>&- 4>&- 5>&- -mv -f incl.$$ chapters.texi +mv -f ${OUTDIR}incl.$$ ${OUTDIR}chapters.texi { echo '@menu' @@ -72,7 +75,7 @@ mv -f incl.$$ chapters.texi } !/^\*/ { print; } - ' smenu.$$ + ' ${OUTDIR}smenu.$$ cat <<EOF * Free Manuals:: Free Software Needs Free Documentation. * Copying:: The GNU Lesser General Public License says @@ -90,8 +93,8 @@ Indices --- The Detailed Node Listing --- EOF - cat lmenu.$$ - echo '@end menu'; } >top-menu.texi.$$ -mv -f top-menu.texi.$$ top-menu.texi + cat ${OUTDIR}lmenu.$$ + echo '@end menu'; } >${OUTDIR}top-menu.texi.$$ +mv -f ${OUTDIR}top-menu.texi.$$ ${OUTDIR}top-menu.texi -rm -f *.$$ +rm -f ${OUTDIR}*.$$ |