From 6a4888ffd67163b589e602d62ca6330a608d8b89 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 14 May 2012 21:45:48 +0200 Subject: [PATCH] Do not build manual in source dir [BZ #13750] Do not build manual anymore in the source dir. Also clean up the Makefile and remove rules that have been used previously when we had a stand-alone Makefile which was obsoleted recently. --- ChangeLog | 53 +++++++++++++++ NEWS | 16 ++--- manual/.gitignore | 30 --------- manual/Makefile | 171 +++++++++++++++++++------------------------------ manual/install.texi | 8 +-- manual/libc-texinfo.sh | 19 +++--- 6 files changed, 142 insertions(+), 155 deletions(-) delete mode 100644 manual/.gitignore diff --git a/ChangeLog b/ChangeLog index 3554d9e..88ccac4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,58 @@ 2012-05-14 Andreas Jaeger + * manual/Makefile (subdir): Remove export of subdir. + (all): Remove target. + (.PHONY): Remove all from list. + (mkinstalldirs): Remove. + (.PHONY): Remove installdirs from list. + ($(inst_infodir)/libc.info): Use make-target-directory. + (installdirs): Remove. + (subdir_%): Remove. + (glibc-targets): Remove. + (lib): Remove. + (stubs): Remove. + ($(objpfx)stubs ../po/manual.pot): Remove. + ($(objpfx)stamp%): Remove. + (make-target-directory): Remove. + (subdir_install): Remove. + (routines): Remove. + (aux): Remove. + (sources): Remove. + (objects): Remove. + (headers): Remove. + + [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. + + * manual/install.texi (Configuring and compiling): Adjust since + the info files are not part of the tar ball anymore. + +2012-05-14 Andreas Jaeger + * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Remove unused variable. diff --git a/NEWS b/NEWS index 5e48976..b9fe3b4 100644 --- a/NEWS +++ b/NEWS @@ -18,14 +18,14 @@ Version 2.16 11494, 11521, 11837, 11959, 12047, 12340, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13563, 13566, 13583, 13592, 13618, 13637, 13656, 13658, - 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13739, 13758, - 13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840, 13841, - 13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883, - 13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913, - 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923, - 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954, 13955, 13956, - 13963, 13967, 13970, 13973, 13979, 13983, 14012, 14027, 14033, 14034, - 14040, 14049, 14053, 14055, 14064, 14080, 14083 + 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13739, 13750, + 13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840, + 13841, 13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, + 13883, 13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911, 13912, + 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, + 13923, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954, 13955, + 13956, 13963, 13967, 13970, 13973, 13979, 13983, 14012, 14027, 14033, + 14034, 14040, 14049, 14053, 14055, 14064, 14080, 14083 * ISO C11 support: diff --git a/manual/.gitignore b/manual/.gitignore deleted file mode 100644 index 55c49c9..0000000 --- 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 29e36c2..f02f144 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -19,29 +19,25 @@ # Makefile for the GNU C Library manual. subdir := manual -export subdir := $(subdir) # Allow override INSTALL_INFO = install-info -.PHONY: all dvi pdf info html -all: dvi -dvi: libc.dvi -pdf: libc.pdf +.PHONY: dvi pdf info html # 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 - chapters = $(addsuffix .texi, \ intro errno memory ctype string charset locale \ message search pattern io stdio llio filesys \ @@ -52,8 +48,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 +57,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 +103,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 +128,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 $(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 <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}*.$$ -- 2.7.4