summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am405
1 files changed, 405 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..c1facd5
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,405 @@
+# SPDX-FileCopyrightText: 2002-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+bin_SCRIPTS = parallel sql niceload parcat parset parsort \
+ env_parallel env_parallel.ash env_parallel.bash \
+ env_parallel.csh env_parallel.dash env_parallel.fish \
+ env_parallel.ksh env_parallel.mksh env_parallel.pdksh \
+ env_parallel.sh env_parallel.tcsh env_parallel.zsh
+
+POD_FILES = parcat.pod parset.pod sem.pod parallel.pod \
+ env_parallel.pod niceload.pod parallel_examples.pod \
+ parallel_tutorial.pod parallel_book.pod parallel_design.pod \
+ parallel_alternatives.pod
+
+MAN_FILES = parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 \
+ parallel_examples.7 parallel_tutorial.7 parallel_book.7 \
+ parallel_design.7 parallel_alternatives.7 parcat.1 parset.1 \
+ parsort.1
+
+PDF_MAN = parallel.pdf env_parallel.pdf sem.pdf sql.pdf \
+ niceload.pdf parallel_examples.pdf parallel_tutorial.pdf \
+ parallel_book.pdf parallel_design.pdf \
+ parallel_alternatives.pdf parcat.pdf parset.pdf parsort.pdf
+
+PDF_OTHER = parallel_cheat_bw.pdf parallel_options_map.pdf
+
+PDF_FILES = $(PDF_MAN) $(PDF_OTHER)
+
+RST_FILES = parallel.rst env_parallel.rst sem.rst sql.rst \
+ niceload.rst parallel_examples.rst parallel_tutorial.rst \
+ parallel_book.rst parallel_design.rst \
+ parallel_alternatives.rst parcat.rst parset.rst parsort.rst
+
+TEXI_FILES = parallel.texi env_parallel.texi sem.texi sql.texi \
+ niceload.texi parallel_examples.texi parallel_tutorial.texi \
+ parallel_book.texi parallel_design.texi \
+ parallel_alternatives.texi parcat.texi parset.texi \
+ parsort.texi
+
+HTML_FILES = parallel.html env_parallel.html sem.html sql.html \
+ niceload.html parallel_examples.html parallel_tutorial.html \
+ parallel_book.html parallel_design.html \
+ parallel_alternatives.html parcat.html parset.html \
+ parsort.html
+
+install-exec-hook:
+ rm "$(DESTDIR)$(bindir)"/sem || true
+ $(LN_S) parallel "$(DESTDIR)$(bindir)"/sem
+
+if DOCUMENTATION
+man_MANS = $(MAN_FILES)
+doc_DATA = $(HTML_FILES) $(TEXI_FILES) $(RST_FILES) $(PDF_FILES)
+endif
+
+DISTCLEANFILES = $(MAN_FILES) $(HTML_FILES) $(TEXI_FILES) \
+ $(RST_FILES) $(PDF_FILES)
+
+
+EXTRA_DIST = $(bin_SCRIPTS) sem $(POD_FILES) \
+ parallel_cheat_bw.fodt pod2graph $(DISTCLEANFILES)
+
+web: sphinx
+ true
+
+sphinx: *.rst
+ cd sphinx && make && cd ..
+
+# Build documentation file if the tool to build exists.
+# Otherwise: Use the distributed version
+parallel.1: parallel.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/parallel.pod > "$(srcdir)"/parallel.1n \
+ && mv "$(srcdir)"/parallel.1n "$(srcdir)"/parallel.1 \
+ || echo "Warning: pod2man not found. Using old parallel.1"
+
+env_parallel.1: env_parallel.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/env_parallel.pod > "$(srcdir)"/env_parallel.1n \
+ && mv "$(srcdir)"/env_parallel.1n "$(srcdir)"/env_parallel.1 \
+ || echo "Warning: pod2man not found. Using old env_parallel.1"
+
+parallel_examples.7: parallel_examples.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=7 "$(srcdir)"/parallel_examples.pod > "$(srcdir)"/parallel_examples.7n \
+ && mv "$(srcdir)"/parallel_examples.7n "$(srcdir)"/parallel_examples.7 \
+ || echo "Warning: pod2man not found. Using old parallel_examples.7"
+
+parallel_tutorial.7: parallel_tutorial.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=7 "$(srcdir)"/parallel_tutorial.pod > "$(srcdir)"/parallel_tutorial.7n \
+ && mv "$(srcdir)"/parallel_tutorial.7n "$(srcdir)"/parallel_tutorial.7 \
+ || echo "Warning: pod2man not found. Using old parallel_tutorial.7"
+
+parallel_book.7: parallel_book.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=7 "$(srcdir)"/parallel_book.pod > "$(srcdir)"/parallel_book.7n \
+ && mv "$(srcdir)"/parallel_book.7n "$(srcdir)"/parallel_book.7 \
+ || echo "Warning: pod2man not found. Using old parallel_book.7"
+
+parallel_design.7: parallel_design.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=7 "$(srcdir)"/parallel_design.pod > "$(srcdir)"/parallel_design.7n \
+ && mv "$(srcdir)"/parallel_design.7n "$(srcdir)"/parallel_design.7 \
+ || echo "Warning: pod2man not found. Using old parallel_design.7"
+
+parallel_alternatives.7: parallel_alternatives.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=7 "$(srcdir)"/parallel_alternatives.pod > "$(srcdir)"/parallel_alternatives.7n \
+ && mv "$(srcdir)"/parallel_alternatives.7n "$(srcdir)"/parallel_alternatives.7 \
+ || echo "Warning: pod2man not found. Using old parallel_alternatives.7"
+
+sem.1: sem.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/sem.pod > "$(srcdir)"/sem.1n \
+ && mv "$(srcdir)"/sem.1n "$(srcdir)"/sem.1 \
+ || echo "Warning: pod2man not found. Using old sem.1"
+
+sql.1: sql
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/sql > "$(srcdir)"/sql.1n \
+ && mv "$(srcdir)"/sql.1n "$(srcdir)"/sql.1 \
+ || echo "Warning: pod2man not found. Using old sql.1"
+
+niceload.1: niceload.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/niceload.pod > "$(srcdir)"/niceload.1n \
+ && mv "$(srcdir)"/niceload.1n "$(srcdir)"/niceload.1 \
+ || echo "Warning: pod2man not found. Using old niceload.1"
+
+parcat.1: parcat.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/parcat.pod > "$(srcdir)"/parcat.1n \
+ && mv "$(srcdir)"/parcat.1n "$(srcdir)"/parcat.1 \
+ || echo "Warning: pod2man not found. Using old parcat.1"
+
+parset.1: parset.pod
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/parset.pod > "$(srcdir)"/parset.1n \
+ && mv "$(srcdir)"/parset.1n "$(srcdir)"/parset.1 \
+ || echo "Warning: pod2man not found. Using old parset.1"
+
+parsort.1: parsort
+ pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
+ --section=1 "$(srcdir)"/parsort > "$(srcdir)"/parsort.1n \
+ && mv "$(srcdir)"/parsort.1n "$(srcdir)"/parsort.1 \
+ || echo "Warning: pod2man not found. Using old parsort.1"
+
+parallel.html: parallel.pod
+ pod2html --title "GNU Parallel" "$(srcdir)"/parallel.pod > "$(srcdir)"/parallel.htmln \
+ && mv "$(srcdir)"/parallel.htmln "$(srcdir)"/parallel.html \
+ || echo "Warning: pod2html not found. Using old parallel.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parallel.html to avoid stupid pod2html race condition
+env_parallel.html: env_parallel.pod parallel.html
+ pod2html --title "GNU Parallel with environment" "$(srcdir)"/env_parallel.pod > "$(srcdir)"/env_parallel.htmln \
+ && mv "$(srcdir)"/env_parallel.htmln "$(srcdir)"/env_parallel.html \
+ || echo "Warning: pod2html not found. Using old env_parallel.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on env_parallel.html to avoid stupid pod2html race condition
+parallel_examples.html: parallel_examples.pod env_parallel.html
+ pod2html --title "GNU Parallel examples" "$(srcdir)"/parallel_examples.pod > "$(srcdir)"/parallel_examples.htmln \
+ && mv "$(srcdir)"/parallel_examples.htmln "$(srcdir)"/parallel_examples.html \
+ || echo "Warning: pod2html not found. Using old parallel_examples.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parallel_examples.html to avoid stupid pod2html race condition
+parallel_tutorial.html: parallel_tutorial.pod parallel_examples.html
+ pod2html --title "GNU Parallel tutorial" "$(srcdir)"/parallel_tutorial.pod > "$(srcdir)"/parallel_tutorial.htmln \
+ && mv "$(srcdir)"/parallel_tutorial.htmln "$(srcdir)"/parallel_tutorial.html \
+ || echo "Warning: pod2html not found. Using old parallel_tutorial.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parallel_tutorial.html to avoid stupid pod2html race condition
+parallel_book.html: parallel_book.pod parallel_tutorial.html
+ pod2html --title "GNU Parallel book" "$(srcdir)"/parallel_book.pod > "$(srcdir)"/parallel_book.htmln \
+ && mv "$(srcdir)"/parallel_book.htmln "$(srcdir)"/parallel_book.html \
+ || echo "Warning: pod2html not found. Using old parallel_book.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parallel_book.html to avoid stupid pod2html race condition
+parallel_design.html: parallel_design.pod parallel_book.html
+ pod2html --title "GNU Parallel design" "$(srcdir)"/parallel_design.pod > "$(srcdir)"/parallel_design.htmln \
+ && mv "$(srcdir)"/parallel_design.htmln "$(srcdir)"/parallel_design.html \
+ || echo "Warning: pod2html not found. Using old parallel_design.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parallel_design.html to avoid stupid pod2html race condition
+parallel_alternatives.html: parallel_alternatives.pod parallel_design.html
+ pod2html --title "GNU Parallel alternatives" "$(srcdir)"/parallel_alternatives.pod > "$(srcdir)"/parallel_alternatives.htmln \
+ && mv "$(srcdir)"/parallel_alternatives.htmln "$(srcdir)"/parallel_alternatives.html \
+ || echo "Warning: pod2html not found. Using old parallel_alternatives.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parallel_alternatives.html to avoid stupid pod2html race condition
+sem.html: sem.pod parallel_alternatives.html
+ pod2html --title "sem (GNU Parallel)" "$(srcdir)"/sem.pod > "$(srcdir)"/sem.htmln \
+ && mv "$(srcdir)"/sem.htmln "$(srcdir)"/sem.html \
+ || echo "Warning: pod2html not found. Using old sem.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on sem.html to avoid stupid pod2html race condition
+sql.html: sql sem.html
+ pod2html --title "GNU SQL" "$(srcdir)"/sql > "$(srcdir)"/sql.htmln \
+ && mv "$(srcdir)"/sql.htmln "$(srcdir)"/sql.html \
+ || echo "Warning: pod2html not found. Using old sql.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on sql.html to avoid stupid pod2html race condition
+niceload.html: niceload.pod sql.html
+ pod2html --title "GNU niceload" "$(srcdir)"/niceload.pod > "$(srcdir)"/niceload.htmln \
+ && mv "$(srcdir)"/niceload.htmln "$(srcdir)"/niceload.html \
+ || echo "Warning: pod2html not found. Using old niceload.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on niceload.html to avoid stupid pod2html race condition
+parcat.html: parcat.pod niceload.html
+ pod2html --title "GNU parcat" "$(srcdir)"/parcat.pod > "$(srcdir)"/parcat.htmln \
+ && mv "$(srcdir)"/parcat.htmln "$(srcdir)"/parcat.html \
+ || echo "Warning: pod2html not found. Using old parcat.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parcat.html to avoid stupid pod2html race condition
+parset.html: parset.pod parcat.html
+ pod2html --title "GNU parset" "$(srcdir)"/parset.pod > "$(srcdir)"/parset.htmln \
+ && mv "$(srcdir)"/parset.htmln "$(srcdir)"/parset.html \
+ || echo "Warning: pod2html not found. Using old parset.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+# Depending on parset.html to avoid stupid pod2html race condition
+parsort.html: parsort parset.html
+ pod2html --title "GNU parsort" "$(srcdir)"/parsort > "$(srcdir)"/parsort.htmln \
+ && mv "$(srcdir)"/parsort.htmln "$(srcdir)"/parsort.html \
+ || echo "Warning: pod2html not found. Using old parsort.html"
+ rm -f "$(srcdir)"/pod2htm*
+
+parallel.texi: parallel.pod
+ pod2texi --output="$(srcdir)"/parallel.texi "$(srcdir)"/parallel.pod \
+ || echo "Warning: pod2texi not found. Using old parallel.texi"
+
+env_parallel.texi: env_parallel.pod
+ pod2texi --output="$(srcdir)"/env_parallel.texi "$(srcdir)"/env_parallel.pod \
+ || echo "Warning: pod2texi not found. Using old env_parallel.texi"
+
+parallel_examples.texi: parallel_examples.pod
+ pod2texi --output="$(srcdir)"/parallel_examples.texi "$(srcdir)"/parallel_examples.pod \
+ || echo "Warning: pod2texi not found. Using old parallel_examples.texi"
+
+parallel_tutorial.texi: parallel_tutorial.pod
+ pod2texi --output="$(srcdir)"/parallel_tutorial.texi "$(srcdir)"/parallel_tutorial.pod \
+ || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi"
+
+parallel_book.texi: parallel_book.pod
+ pod2texi --output="$(srcdir)"/parallel_book.texi "$(srcdir)"/parallel_book.pod \
+ || echo "Warning: pod2texi not found. Using old parallel_book.texi"
+
+parallel_design.texi: parallel_design.pod
+ pod2texi --output="$(srcdir)"/parallel_design.texi "$(srcdir)"/parallel_design.pod \
+ || echo "Warning: pod2texi not found. Using old parallel_design.texi"
+
+parallel_alternatives.texi: parallel_alternatives.pod
+ pod2texi --output="$(srcdir)"/parallel_alternatives.texi "$(srcdir)"/parallel_alternatives.pod \
+ || echo "Warning: pod2texi not found. Using old parallel_alternatives.texi"
+
+sem.texi: sem.pod
+ pod2texi --output="$(srcdir)"/sem.texi "$(srcdir)"/sem.pod \
+ || echo "Warning: pod2texi not found. Using old sem.texi"
+
+sql.texi: sql
+ pod2texi --output="$(srcdir)"/sql.texi "$(srcdir)"/sql \
+ || echo "Warning: pod2texi not found. Using old sql.texi"
+
+niceload.texi: niceload.pod
+ pod2texi --output="$(srcdir)"/niceload.texi "$(srcdir)"/niceload.pod \
+ || echo "Warning: pod2texi not found. Using old niceload.texi"
+
+parcat.texi: parcat.pod
+ pod2texi --output="$(srcdir)"/parcat.texi "$(srcdir)"/parcat.pod \
+ || echo "Warning: pod2texi not found. Using old parcat.texi"
+
+parset.texi: parset.pod
+ pod2texi --output="$(srcdir)"/parset.texi "$(srcdir)"/parset.pod \
+ || echo "Warning: pod2texi not found. Using old parset.texi"
+
+parsort.texi: parsort
+ pod2texi --output="$(srcdir)"/parsort.texi "$(srcdir)"/parsort \
+ || echo "Warning: pod2texi not found. Using old parsort.texi"
+
+parallel.rst: parallel.pod
+ ./pod2rst-fix < "$(srcdir)"/parallel.pod > "$(srcdir)"/parallel.rst \
+ || echo "Warning: pod2rst not found. Using old parallel.rst"
+
+env_parallel.rst: env_parallel.pod
+ ./pod2rst-fix < "$(srcdir)"/env_parallel.pod > "$(srcdir)"/env_parallel.rst \
+ || echo "Warning: pod2rst not found. Using old env_parallel.rst"
+
+parallel_examples.rst: parallel_examples.pod
+ ./pod2rst-fix < "$(srcdir)"/parallel_examples.pod > "$(srcdir)"/parallel_examples.rst \
+ || echo "Warning: pod2rst not found. Using old parallel_examples.rst"
+
+parallel_tutorial.rst: parallel_tutorial.pod
+ ./pod2rst-fix < "$(srcdir)"/parallel_tutorial.pod > "$(srcdir)"/parallel_tutorial.rst \
+ || echo "Warning: pod2rst not found. Using old parallel_tutorial.rst"
+
+parallel_book.rst: parallel_book.pod
+ ./pod2rst-fix < "$(srcdir)"/parallel_book.pod > "$(srcdir)"/parallel_book.rst \
+ || echo "Warning: pod2rst not found. Using old parallel_book.rst"
+
+parallel_design.rst: parallel_design.pod
+ ./pod2rst-fix < "$(srcdir)"/parallel_design.pod > "$(srcdir)"/parallel_design.rst \
+ || echo "Warning: pod2rst not found. Using old parallel_design.rst"
+
+parallel_alternatives.rst: parallel_alternatives.pod
+ ./pod2rst-fix < "$(srcdir)"/parallel_alternatives.pod > "$(srcdir)"/parallel_alternatives.rst \
+ || echo "Warning: pod2rst not found. Using old parallel_alternatives.rst"
+
+sem.rst: sem.pod
+ ./pod2rst-fix < "$(srcdir)"/sem.pod > "$(srcdir)"/sem.rst \
+ || echo "Warning: pod2rst not found. Using old sem.rst"
+
+sql.rst: sql
+ ./pod2rst-fix < "$(srcdir)"/sql > "$(srcdir)"/sql.rst \
+ || echo "Warning: pod2rst not found. Using old sql.rst"
+
+niceload.rst: niceload.pod
+ ./pod2rst-fix < "$(srcdir)"/niceload.pod > "$(srcdir)"/niceload.rst \
+ || echo "Warning: pod2rst not found. Using old niceload.rst"
+
+parcat.rst: parcat.pod
+ ./pod2rst-fix < "$(srcdir)"/parcat.pod > "$(srcdir)"/parcat.rst \
+ || echo "Warning: pod2rst not found. Using old parcat.rst"
+
+parset.rst: parset.pod
+ ./pod2rst-fix < "$(srcdir)"/parset.pod > "$(srcdir)"/parset.rst \
+ || echo "Warning: pod2rst not found. Using old parset.rst"
+
+parsort.rst: parsort
+ ./pod2rst-fix < "$(srcdir)"/parsort > "$(srcdir)"/parsort.rst \
+ || echo "Warning: pod2rst not found. Using old parsort.rst"
+
+parallel.pdf: parallel.pod
+ pod2pdf --output-file "$(srcdir)"/parallel.pdf "$(srcdir)"/parallel.pod --title "GNU Parallel" \
+ || echo "Warning: pod2pdf not found. Using old parallel.pdf"
+
+env_parallel.pdf: env_parallel.pod
+ pod2pdf --output-file "$(srcdir)"/env_parallel.pdf "$(srcdir)"/env_parallel.pod --title "GNU Parallel with environment" \
+ || echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
+
+parallel_examples.pdf: parallel_examples.pod
+ pod2pdf --output-file "$(srcdir)"/parallel_examples.pdf "$(srcdir)"/parallel_examples.pod --title "GNU Parallel Examples" \
+ || echo "Warning: pod2pdf not found. Using old parallel_examples.pdf"
+
+parallel_tutorial.pdf: parallel_tutorial.pod
+ pod2pdf --output-file "$(srcdir)"/parallel_tutorial.pdf "$(srcdir)"/parallel_tutorial.pod --title "GNU Parallel Tutorial" \
+ || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
+
+parallel_book.pdf: parallel_book.pod
+ pod2pdf --output-file "$(srcdir)"/parallel_book.pdf "$(srcdir)"/parallel_book.pod --title "GNU Parallel Book" \
+ || echo "Warning: pod2pdf not found. Using old parallel_book.pdf"
+
+parallel_design.pdf: parallel_design.pod
+ pod2pdf --output-file "$(srcdir)"/parallel_design.pdf "$(srcdir)"/parallel_design.pod --title "GNU Parallel Design" \
+ || echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
+
+parallel_alternatives.pdf: parallel_alternatives.pod
+ pod2pdf --output-file "$(srcdir)"/parallel_alternatives.pdf "$(srcdir)"/parallel_alternatives.pod --title "GNU Parallel alternatives" \
+ || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf"
+
+sem.pdf: sem.pod
+ pod2pdf --output-file "$(srcdir)"/sem.pdf "$(srcdir)"/sem.pod --title "GNU sem" \
+ || echo "Warning: pod2pdf not found. Using old sem.pdf"
+
+sql.pdf: sql
+ pod2pdf --output-file "$(srcdir)"/sql.pdf "$(srcdir)"/sql --title "GNU SQL" \
+ || echo "Warning: pod2pdf not found. Using old sql.pdf"
+
+niceload.pdf: niceload.pod
+ pod2pdf --output-file "$(srcdir)"/niceload.pdf "$(srcdir)"/niceload.pod --title "GNU niceload" \
+ || echo "Warning: pod2pdf not found. Using old niceload.pdf"
+
+parcat.pdf: parcat.pod
+ pod2pdf --output-file "$(srcdir)"/parcat.pdf "$(srcdir)"/parcat.pod --title "GNU parcat" \
+ || echo "Warning: pod2pdf not found. Using old parcat.pdf"
+
+parset.pdf: parset.pod
+ pod2pdf --output-file "$(srcdir)"/parset.pdf "$(srcdir)"/parset.pod --title "GNU parset" \
+ || echo "Warning: pod2pdf not found. Using old parset.pdf"
+
+parsort.pdf: parsort
+ pod2pdf --output-file "$(srcdir)"/parsort.pdf "$(srcdir)"/parsort --title "GNU parsort" \
+ || echo "Warning: pod2pdf not found. Using old parsort.pdf"
+
+parallel_cheat_bw.pdf: parallel_cheat_bw.fodt
+ libreoffice --headless --convert-to pdf parallel_cheat_bw.fodt \
+ || echo "Warning: libreoffice failed. Using old parallel_cheat_bw.pdf"
+
+parallel_options_map.pdf: parallel.pod pod2graph
+ ./pod2graph parallel.pod > parallel_options_map.pdf \
+ || echo "Warning: pod2graph failed. Using old parallel_options_map.pdf"
+
+sem: parallel
+ ln -fs parallel sem
+