fltk/documentation/make_pdf.in
Albrecht Schlosser 62c2497ff5 Speed up PDF generation and add timing debug output
... to the Doxygen generation log file `documentation/pdfall.log`.

The additions to the log file are intended to find out which parts
take how much time.

Note: use `grep "make_pdf" documentation/pdfall.log` to see the
  log output with timestamps.

- documentation/Doxyfile.in: exclude undocumented source files in
  src/xutf8/* which reduces parsing by a small amount of time,
  estimated about 5 percent of build time. YMMV.
2026-01-03 16:35:53 +01:00

51 lines
1.6 KiB
Bash
Executable File

#! /bin/sh
#
# Makefile helper script for the Fast Light Tool Kit (FLTK) documentation.
#
# Copyright 1998-2026 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
# file is missing or damaged, see the license at:
#
# https://www.fltk.org/COPYING.php
#
# Please see the following page on how to report bugs and issues:
#
# https://www.fltk.org/bugs.php
#
# This script generates latex/refman.pdf after doxygen has been executed.
#
# Input: run `doxygen Doxybook' (creates files in subdirectory latex)
# Output: latex/refman.pdf (if successful)
#
# Next step: cp -f latex/refman.pdf fltk.pdf (why is this extra step needed ?)
#
# Working directory: fltk/documentation
#
# Used in: Makefile and CMakeLists.txt
run_pdflatex() {
pdflatex --interaction=nonstopmode \
"\pdfinfo{/CreationDate(@PDF_DATE@)/ModDate(@PDF_DATE@)}\input{refman.tex}"
}
( cd latex
echo "--- make_pdf --- `date` - Running pdflatex ..."
run_pdflatex
echo "--- make_pdf --- `date` - Running makeindex ..."
makeindex refman.idx
echo "--- make_pdf --- `date` - Running pdflatex ..."
run_pdflatex
latex_count=5
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log \
&& [ $latex_count -gt 0 ]
do
echo "--- make_pdf --- `date` - Rerunning pdflatex, count = $latex_count ..."
run_pdflatex
latex_count=`expr $latex_count - 1`
done
echo "--- make_pdf --- `date` - Done, count = $latex_count."
cd ..) > pdfall.log 2>&1