diff options
author | Jeremy Sowden <jeremy@azazel.net> | 2022-08-03 21:12:46 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2022-09-21 10:37:52 +0200 |
commit | d9bd111c99a054db24e3b7d0cc19cead5a593643 (patch) | |
tree | f490c11219907c44b1ef78b68cb3f499e9aa01a0 /doxygen/Makefile.am | |
parent | cd533815917043584546a6d1a4da6f163a56ad3e (diff) |
doc: move man-page sym-link shell-script into a separate file
We use `$(SHELL)` to run the script and exec bash if `$(SHELL)` is something
else. We don't hard-code the path to bash.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'doxygen/Makefile.am')
-rw-r--r-- | doxygen/Makefile.am | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/doxygen/Makefile.am b/doxygen/Makefile.am index e4fc0eb..4770fc7 100644 --- a/doxygen/Makefile.am +++ b/doxygen/Makefile.am @@ -1,42 +1,10 @@ if HAVE_DOXYGEN - doc_srcs = $(shell find $(top_srcdir)/src -name '*.c') doxyfile.stamp: $(doc_srcs) Makefile.am rm -rf html man doxygen doxygen.cfg >/dev/null -# We need to use bash for its associative array facility -# (`bash -p` prevents import of functions from the environment). -# The command has to be a single line so the functions work -# and so `make` gives all lines to `bash -c` -# (hence ";\" at the end of every line but the last). - bash -p -c 'declare -A renamed_page;\ -main(){ set -e; cd man/man3; rm -f _*;\ - count_real_pages;\ - rename_real_pages;\ - make_symlinks;\ -};\ -count_real_pages(){ page_count=0;\ - for i in $$(ls -S);\ - do head -n1 $$i | grep -E -q '^\.so' && break;\ - page_count=$$(($$page_count + 1));\ - done;\ - first_link=$$(($$page_count + 1));\ -};\ -rename_real_pages(){ for i in $$(ls -S | head -n$$page_count);\ - do for j in $$(ls -S | tail -n+$$first_link);\ - do grep -E -q $$i$$ $$j && break;\ - done;\ - mv -f $$i $$j;\ - renamed_page[$$i]=$$j;\ - done;\ -};\ -make_symlinks(){ for j in $$(ls -S | tail -n+$$first_link);\ - do ln -sf $${renamed_page[$$(cat $$j | cut -f2 -d/)]} $$j;\ - done;\ -};\ -main' - + $(SHELL) $(top_srcdir)/doxygen/finalize_manpages.sh touch doxyfile.stamp CLEANFILES = doxyfile.stamp @@ -53,3 +21,5 @@ install-data-local: uninstall-local: rm -r $(DESTDIR)$(mandir) man html doxyfile.stamp endif + +EXTRA_DIST = finalize_manpages.sh |