mirror of
https://github.com/qpdf/qpdf.git
synced 2024-11-15 17:17:08 +00:00
a372a988fd
Also remove linearization from qpdf-manual.pdf. It's a small file, and removing the dependency on the qpdf executable significantly shortens build times.
56 lines
1.8 KiB
Makefile
56 lines
1.8 KiB
Makefile
DOC_OUT := manual/$(OUTPUT_DIR)
|
|
S_HTML_OUT := $(DOC_OUT)/singlehtml
|
|
S_HTML_TARGET := $(S_HTML_OUT)/index.html
|
|
HTML_OUT := $(DOC_OUT)/html
|
|
HTML_TARGET := $(HTML_OUT)/index.html
|
|
PDF_OUT := $(DOC_OUT)/latex
|
|
PDF_TARGET := $(PDF_OUT)/qpdf.pdf
|
|
|
|
TARGETS_manual := doc/qpdf.1 doc/fix-qdf.1 doc/zlib-flate.1
|
|
ifeq ($(BUILD_HTML),1)
|
|
TARGETS_manual += doc/qpdf-manual.html $(HTML_TARGET)
|
|
endif
|
|
ifeq ($(BUILD_PDF),1)
|
|
TARGETS_manual += doc/qpdf-manual.pdf
|
|
endif
|
|
|
|
# Prevent targets that run $(SPHINX) from running in parallel by using
|
|
# order-only dependencies (the dependencies listed after the |) to
|
|
# avoid clashes in temporary files that cause the build to fail with
|
|
# the error "_pickle.UnpicklingError: pickle data was truncated"
|
|
$(HTML_TARGET): manual/index.rst
|
|
$(SPHINX) -M html manual $(DOC_OUT) -W
|
|
|
|
$(S_HTML_TARGET): manual/index.rst | $(HTML_TARGET)
|
|
$(SPHINX) -M singlehtml manual $(DOC_OUT) -W
|
|
|
|
$(PDF_TARGET): manual/index.rst | $(S_HTML_TARGET) $(HTML_TARGET)
|
|
$(SPHINX) -M latexpdf manual $(DOC_OUT) -W
|
|
|
|
# This depends on sphinx-build's singlehtml target creating index.html
|
|
# and a _static directory. If that changes, this code has to be
|
|
# adjusted. It will also be necessary to adjust the install target in
|
|
# make/libtool.mk.
|
|
doc/qpdf-manual.html: $(S_HTML_TARGET)
|
|
mkdir -p doc
|
|
@if [ "$(shell find $(S_HTML_OUT)/ -mindepth 1 -type d -print)" != \
|
|
"$(S_HTML_OUT)/_static" ]; then \
|
|
echo "***"; \
|
|
echo Expected only directory in $(S_HTML_OUT) to be _static; \
|
|
echo "***"; \
|
|
false; \
|
|
fi
|
|
cp $< $@
|
|
mkdir -p doc/_static
|
|
cp -p $(S_HTML_OUT)/_static/* doc/_static
|
|
|
|
doc/qpdf-manual.pdf: $(PDF_TARGET)
|
|
mkdir -p doc
|
|
cp $< $@
|
|
|
|
doc/%.1: manual/%.1.in
|
|
mkdir -p doc
|
|
sed -e 's:@PACKAGE_VERSION@:$(PACKAGE_VERSION):g' \
|
|
-e 's:@docdir@:$(docdir):g' \
|
|
< $< > $@
|