diff --git a/docs/.gitignore b/docs/.gitignore index 3a1fe66a79e..94f516c74b4 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -18,34 +18,3 @@ src/code/hss.svg src/code/hss_es.svg src/code/task-state-transitions.svg src/code/task-state-transitions_es.svg - -# Troff manpages generated from .adoc by the asciidoctor manpage backend. -man/man1/ -man/man3/ -man/man9/ - -# po4a-translated man trees. -man/ar/* -man/bg/* -man/ckb/* -man/cs/* -man/da/* -man/de/* -man/es/* -man/fr/* -man/hu/* -man/it/* -man/ka/* -man/nb/* -man/pl/* -man/pt/* -man/pt_BR/* -man/ro/* -man/ru/* -man/sai/* -man/sk/* -man/sv/* -man/tr/* -man/uk/* -man/vi/* -man/zh_CN/* diff --git a/docs/man/an-old-fixed.tmac b/docs/man/an-old-fixed.tmac deleted file mode 100644 index 38c27813e55..00000000000 --- a/docs/man/an-old-fixed.tmac +++ /dev/null @@ -1,838 +0,0 @@ -.\" an-old.tmac -.\" -.\" Copyright (C) 1989-2020 Free Software Foundation, Inc. -.\" Written by James Clark (jjc@jclark.com) -.\" -.\" This file is part of groff. -.\" -.\" groff is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation, either version 3 of the License, or -.\" (at your option) any later version. -.\" -.\" groff is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -.\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -.\" License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program. If not, see -.\" . -. -. -.\" The file man.local is loaded at the end. Put local additions there. -.\" If you need to add things to TH, use '.am1 TH'. -. -.if !\n(.g \ -. ab groff man macros require groff extensions; aborting -. -.do if d RI .nx -. -.do mso devtag.tmac -. -.do nr *groff_an-old_tmac_C \n[.cp] -.cp 0 -. -.\" Define a string for use in diagnostic messages. -.ds an-old an-old.tmac\" -. -.if (\n[.x]\n[.y] < 118) \{\ -. ds an-msg \*[an-old]: groff man macros require groff 1.18 or later,\" -. as an-msg " but found groff \n[.x].\n[.y]; aborting\" -. ab \*[an-msg] -.\} -. -.de an-warn -. tm \*[an-old]:\\n[.F]:\\n[.c]: warning: \\$* -.. -. -.de an-style-warn -. if \\n[CHECKSTYLE] \ -. tm \*[an-old]:\\n[.F]:\\n[.c]: style: \\$* -.. -. -.nr need_eo_h 0 -.nr need_col2 0 -. -.nr an-first 1 -. -.nr an-html 0 -.if '\*[.T]'html' .nr an-html 1 -. -.\" Define alternate requests to handle continuous rendering. -.\" -.\" This .ne replacement avoids page breaks; instead, the page length is -.\" increased to the necessary amount (this is needed for tables). -.de an-ne -. ie \\n[.$] \ -. nr an-need (v;\\$*) -. el \ -. nr an-need 1v -. if (\\n[an-need] >= \\n[.t]) \ -. pl +(\\n[an-need]u - \\n[.t]u + 1v) -.. -. -.\" This .bp replacement adjusts the page length to the current position -.\" so that no empty lines are inserted. -.de an-bp -. br -. pl \\n[nl]u -. an-real-bp \\$* -.. -. -.\" We need an end macro for continuous rendering as well, to flush any -.\" pending output line and write the footer for the final man page -.\" rendered. -.de1 an-end -. nr % 1 -. pl +4v -. fl -. sp 3 -. an-p-footer -. pl \\n[nl]u -.. -. -.\" Move macros into place for continuous rendering. -.de an-set-up-continuous-rendering -. rn ne an-real-ne -. rn bp an-real-bp -. rn an-ne ne -. rn an-bp bp -. em an-end -.. -. -.de an-set-margin -. nr an-level 1 -. nr an-margin \\n[IN] -. nr an-saved-margin1 \\n[IN] -. nr an-prevailing-indent \\n[IN] -. nr an-saved-prevailing-indent1 \\n[IN] -.. -. -.ds an-extra1 \" empty -.ds an-extra2 \" empty -.ds an-extra3 \" empty -. -.\" .TH title section extra1 extra2 extra3 -.de1 TH -. if ((\\n[.$] < 2) : (\\n[.$] > 5)) \ -. an-style-warn .\\$0 expects 2 to 5 arguments, got \\n[.$] -. if \\n[an-html] \{\ -. DEVTAG-TL -. nop \\$1 -. DEVTAG-EO-TL -. \} -. -. DT -. -. nr PS 10z \" default point size -. nr PS-SS 10z -. nr PS-SH 10.95z -. nr VS 12p -. -. \" use sizes similar to LaTeX -. if t \{\ -. ie (\\n[S] == 11) \{\ -. nr PS 10.95z -. nr PS-SS 10.95z -. nr PS-SH 12z -. nr VS 13.6p -. \} -. el \{\ -. if (\\n[S] == 12) \{\ -. nr PS 12z -. nr PS-SS 12z -. nr PS-SH 14.4z -. nr VS 14.5p -. \} -. \} -. \} -. -. ps \\n[PS]u -. vs \\n[VS]u -. -. \" Restore parameters that a previous man page might have messed up. -. ad \\*[AD] -. hy \\n[HY] -. ll \\n[LL]u -. ss 12 -. -. PD -. an-set-margin -. -. nr an-tag-sep 1n -. nr an-no-space-flag 0 -. nr an-break-flag 0 -. nr an-div? 0 -. -. ds an-title "\\$1\" -. if \\n[CT] .stringup an-title -. ds an-section "\\$2\" -. ie (\\n[.$] > 4) .ds an-extra3 "\\$5\" -. el \{ .ie '\\$2'1' .ds an-extra3 General Commands Manual\" -. el \{ .ie '\\$2'2' .ds an-extra3 System Calls Manual\" -. el \{ .ie '\\$2'3' .ds an-extra3 Library Functions Manual\" -. el \{ .ie '\\$2'3p' .ds an-extra3 Perl Programmer's Reference Guide\" -. el \{ .ie '\\$2'4' .ds an-extra3 Kernel Interfaces Manual\" -. el \{ .ie '\\$2'5' .ds an-extra3 File Formats Manual\" -. el \{ .ie '\\$2'6' .ds an-extra3 Games Manual\" -. el \{ .ie '\\$2'7' .ds an-extra3 Miscellaneous Information Manual\" -. el \{ .ie '\\$2'8' .ds an-extra3 System Manager's Manual\" -. el \{ .ie '\\$2'9' .ds an-extra3 Kernel Developer's Manual\" -. el .ds an-extra3 \" empty -. \}\}\}\}\}\}\}\}\}\} -. -. ie \\n[cR] \ -. an-header -. el \{\ -. wh 0 an-header -. wh -1i an-footer -. wh \\n[FT]u an-p-footer -. -. if \\n[nl] \{\ -. ie \\n[C] .bp (\\n[%] + 1) -. el .bp 1 -. \} -. \} -. -. ds an-extra1 "\\$3\" -. ie (\\n[.$] > 3) .ds an-extra2 "\\$4\" -. el .ds an-extra2 \" empty -.. -. -.\" BSD compatibility macros: .AT and .UC -. -.de1 AT -. ds an-extra2 "7th Edition\" -. if "\\$1"3" .ds an-extra2 "7th Edition\" -. if "\\$1"4" .ds an-extra2 "System III\" -. if "\\$1"5" \{\ -. ie "\\$2"" .ds an-extra2 "System V\" -. el .ds an-extra2 "System V Release \\$2\" -. \} -.. -. -.de1 UC -. ds an-extra2 "3rd Berkeley Distribution\" -. if "\\$1"3" .ds an-extra2 "3rd Berkeley Distribution\" -. if "\\$1"4" .ds an-extra2 "4th Berkeley Distribution\" -. if "\\$1"5" .ds an-extra2 "4.2 Berkeley Distribution\" -. if "\\$1"6" .ds an-extra2 "4.3 Berkeley Distribution\" -. if "\\$1"7" .ds an-extra2 "4.4 Berkeley Distribution\" -.. -. -.de1 DT -. ta T .5i \" This sets tabs every .5 inches -.. -. -.de1 PD -. ie \\n[.$] .nr PD (v;\\$1) -. el .nr PD (.4v >? \n[.V]) -.. -. -.\" Redefine these to customize the header & footer -. -.de1 PT -. tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\ -\\*[an-title](\\*[an-section])' -.. -. -.de1 BT -. if r ps4html \ -. return -. ie \\n[D] \{\ -. if o .tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]' -. if e .tl '\\*[an-page-string]'\\*[an-extra1]'\\*[an-extra2]' -. \} -. el \ -. tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]' -.. -. -.de1 an-header -. if \\n[cR] \{\ -. ie \\n[an-first] \ -. nr an-first 0 -. el \ -. sp .5i -. \} -. ev an-1 -. ps \\n[PS]u -. vs \\n[VS]u -. lt \\n[LT]u -. ie \\n[an-html] \ -. tl '''' -. el \{\ -. if !\\n[cR] \ -. sp .5i -. PT -. ie !\\n[cR] \ -. sp |1i -. el \ -. sp .5i -. \} -. ev -. ns -.. -. -.de1 an-footer -' bp -.. -. -.af an-page-letter a -. -.de1 an-p-footer -. ev an-1 -. ps \\n[PS]u -. vs \\n[VS]u -. lt \\n[LT]u -. ie \\n[an-html] \{\ -. ds an-page-string \" empty -. ds an-extra1 \" empty -. ds an-extra2 \" empty -. \} -. el \{\ -. ie r X \{\ -. ie (\\n[%] > \\n[X]) \{\ -. nr an-page-letter (\\n[%] - \\n[X]) -. ds an-page-string \\n[X]\\n[an-page-letter]\" -. \} -. el \ -. ds an-page-string \\n[%]\" -. \} -. el \{\ -. ie \\n[cR] \ -. ds an-page-string "\\*[an-title](\\*[an-section])\" -. el \ -. ds an-page-string \\n[%]\" -. \} -. \} -. BT -. ev -.. -. -.de1 SH -. sp \\n[PD]u -. an-set-margin -. fi -. in \\n[an-margin]u -. ti 0 -. nr need_eo_h 1 -. DEVTAG-SH 1 -. itc 1 an-trap -. nr an-no-space-flag 1 -. nr an-break-flag 1 -. ps \\n[PS-SH]u -. ft \\*[HF] -. ne (2v + 1u) -. if \\n[.$] \{\ -. ds an-section-heading \\$*\" -. if \\n[CS] .stringup an-section-heading -\&\\*[an-section-heading] -. \} -.. -. -.de1 SS -. sp \\n[PD]u -. an-set-margin -. fi -. in \\n[IN]u -. ti \\n[SN]u -. nr need_eo_h 1 -. DEVTAG-SH 2 -. itc 1 an-trap -. nr an-no-space-flag 1 -. nr an-break-flag 1 -. ps \\n[PS-SS]u -. ft \\*[HF] -. ne (2v + 1u) -. if \\n[.$] \&\\$* -.. -. -.de1 B -. itc 1 an-trap -. ft B -. if \\n[.$] \&\\$* -.. -. -.de1 I -. itc 1 an-trap -. ft I -. if \\n[.$] \,\\$*\/ -.. -. -.de1 SM -. itc 1 an-trap -. ps -1 -. if \\n[.$] \&\\$* -.. -. -.de1 SB -. itc 1 an-trap -. ps -1 -. ft B -. if \\n[.$] \&\\$* -.. -. -.de1 TP -. sp \\n[PD]u -. if \\n[.$] .nr an-prevailing-indent (n;\\$1) -. itc 1 an-trap -. in 0 -. if !\\n[an-div?] \{\ -. ll -\\n[an-margin]u -. di an-div -. \} -. nr an-div? 1 -.. -. -.de1 an-trap -. if \\n[need_eo_h]>0 .DEVTAG-EO-H -. nr need_eo_h 0 -. if \\n[need_col2]>0 .DEVTAG-COL 2 -. nr need_col2 0 -. ft R -. ps \\n[PS]u -. vs \\n[VS]u -. if \\n[an-break-flag] \{\ -. br -. nr an-break-flag 0 -. \} -. if \\n[an-no-space-flag] \{\ -. ns -. nr an-no-space-flag 0 -. \} -. if \\n[an-div?] .an-do-tag -.. -. -.de an-do-tag -. br -. di -. nr an-div? 0 -. ll -. \" We must emit the diversion in a separate environment to assure -. \" that a possible margin character is printed correctly. -. ev an-2 -. evc 0 -. mc -. nf -. in \\n[an-margin]u -. ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\ -. ne (2v + 1u) -. an-div -. ev -. in (\\n[an-margin]u + \\n[an-prevailing-indent]u) -. \} -. el \{\ -. \" In nroff mode, the indentation value should be an integer -. \" multiple of the character cell, to avoid different results -. \" compared to the .ie part above. -. ne (1v + 1u) -. DEVTAG-COL 1 -. an-div -. sp -1 -. ev -. in (\\n[an-margin]u + \\n[an-prevailing-indent]u) -. DEVTAG-COL-NEXT 2 -. \} -.. -. -.de1 LP -. sp \\n[PD]u -. ps \\n[PS]u -. vs \\n[VS]u -. ft R -. in \\n[an-margin]u -. nr an-prevailing-indent \\n[IN] -. ns -.. -. -.als PP LP -.als P LP -. -.de1 IP -. ie !\\n[.$] \{\ -. ps \\n[PS]u -. vs \\n[VS]u -. ft R -. sp \\n[PD]u -. ne (1v + 1u) -. in (\\n[an-margin]u + \\n[an-prevailing-indent]u) -. ns -. \} -. el \{\ -. ie (\\n[.$] - 1) .TP "\\$2" -. el .TP -\&\\$1 -. \} -.. -. -.de1 HP -. ps \\n[PS]u -. vs \\n[VS]u -. ft R -. sp \\n[PD]u -. ne (1v + 1u) -. if \\n[.$] .nr an-prevailing-indent (n;\\$1) -. in (\\n[an-margin]u + \\n[an-prevailing-indent]u) -. ti \\n[an-margin]u -. DEVTAG-COL 1 -. nr need_col2 1 -. ns -.. -. -.de1 RI -. if (\\n[.$] < 2) \ -. an-style-warn .\\$0 expects at least 2 arguments, got \\n[.$] -. if \\n[.$] \{\ -. ds an-result \&\f[R]\\$1\" -. shift -. while (\\n[.$] >= 2) \{\ -. as an-result \,\f[I]\\$1\f[R]\/\\$2\" -. shift 2 -. \} -. if \\n[.$] .as an-result \,\f[I]\\$1\" -\\*[an-result] -. ft R -. \} -.. -. -.de1 IR -. if (\\n[.$] < 2) \ -. an-style-warn .\\$0 expects at least 2 arguments, got \\n[.$] -. if \\n[.$] \{\ -. ds an-result \&\f[I]\,\\$1\f[R]\" -. shift -. while (\\n[.$] >= 2) \{\ -. as an-result \/\\$1\f[I]\,\\$2\f[R]\" -. shift 2 -. \} -. if \\n[.$] .as an-result \/\\$1\" -\\*[an-result] -. ft R -. \} -.. -. -.de1 IB -. if (\\n[.$] < 2) \ -. an-style-warn .\\$0 expects at least 2 arguments, got \\n[.$] -. if \\n[.$] \{\ -. ds an-result \&\f[I]\,\\$1\" -. shift -. while (\\n[.$] >= 2) \{\ -. as an-result \/\f[B]\\$1\f[I]\,\\$2\" -. shift 2 -. \} -. if \\n[.$] .as an-result \/\f[B]\\$1\" -\\*[an-result] -. ft R -. \} -.. -. -.de1 BI -. if (\\n[.$] < 2) \ -. an-style-warn .\\$0 expects at least 2 arguments, got \\n[.$] -. if \\n[.$] \{\ -. ds an-result \&\f[B]\\$1\" -. shift -. while (\\n[.$] >= 2) \{\ -. as an-result \,\f[I]\\$1\f[B]\/\\$2\" -. shift 2 -. \} -. if \\n[.$] .as an-result \,\f[I]\\$1\" -\\*[an-result] -. ft R -. \} -.. -. -.de1 RB -. if (\\n[.$] < 2) \ -. an-style-warn .\\$0 expects at least 2 arguments, got \\n[.$] -. ds an-result \&\" -. while (\\n[.$] >= 2) \{\ -. as an-result \f[R]\\$1\f[B]\\$2\" -. shift 2 -. \} -. if \\n[.$] .as an-result \f[R]\\$1\" -\\*[an-result] -. ft R -.. -. -.de1 BR -. if (\\n[.$] < 2) \ -. an-style-warn .\\$0 expects at least 2 arguments, got \\n[.$] -. ds an-result \&\" -. while (\\n[.$] >= 2) \{\ -. as an-result \f[B]\\$1\f[R]\\$2\" -. shift 2 -. \} -. if \\n[.$] .as an-result \f[B]\\$1\" -\\*[an-result] -. ft R -.. -. -.de1 RS -. nr an-saved-margin\\n[an-level] \\n[an-margin] -. nr an-saved-prevailing-indent\\n[an-level] \\n[an-prevailing-indent] -. ie \\n[.$] .nr an-margin +(n;\\$1) -. el .nr an-margin +\\n[an-prevailing-indent] -. in \\n[an-margin]u -. nr an-prevailing-indent \\n[IN] -. nr an-level +1 -.. -. -.de1 RE -. ie \\n[.$] .nr an-RE-requested-level \\$1 -. el .nr an-RE-requested-level (\\n[an-level] - 1) -. ie \\n[.$] \{\ -. if (\\n[an-RE-requested-level] = \\n[an-level]) \ -. ds an-RE-problem redundant; already at level \\n[an-level]\" -. if (\\n[an-RE-requested-level] > \\n[an-level]) \ -. ds an-RE-problem too large\" -. if (\\n[an-RE-requested-level] < 1) \ -. ds an-RE-problem too small\" -. if d an-RE-problem \ -. an-style-warn argument """\\$1""" to .\\$0 \\*[an-RE-problem] -. rm an-RE-problem -. \} -. el .if !(\\n[an-RE-requested-level]) .an-style-warn unbalanced .\\$0 -. rr an-RE-requested-level -. ie \\n[.$] .nr an-level ((;\\$1) ? \\n[an-level]) -. nr an-margin \\n[an-saved-margin\\n[an-level]] -. nr an-prevailing-indent \\n[an-saved-prevailing-indent\\n[an-level]] -. in \\n[an-margin]u -.. -. -.\" table support -. -.de1 TS -. \" If continuous rendering, tell tbl not to use keeps. -. ie \\n[cR] \ -. nr 3usekeeps 0 -. el \ -. nr 3usekeeps 1 -. sp \\n[PD]u -. if \\n[an-html] \{\ -. nr an-TS-ll \\n[.l] -. ll 1000n -. \} -. HTML-IMAGE -.. -. -.de1 T& -.. -. -.de1 TE -. HTML-IMAGE-END -. if \\n[an-html] \ -. ll \\n[an-TS-ll]u -.. -. -.\" dummy equation delimiters -.de1 EQ -. if \\n[an-html] \{\ -. nr an-EQ-ll \\n[.l] -. ll 1000n -. \} -. HTML-IMAGE -.. -.de1 EN -. HTML-IMAGE-END -. if \\n[an-html] \ -. ll \\n[an-EQ-ll]u -.. -. -.de1 R -\c -. ie \\n[.$] \{\ -. ds an-msg 'R' is a string (producing the registered sign),\" -. as an-msg " not a macro\" -. an-warn \\*[an-msg] -. rm an-msg -. nop \\$* -. \} -. el \{\ -. ie c\[rg] \ -. nop \[rg]\c -. el \ -. nop (Reg.)\c -. \} -.. -. -.\" These strings must work in compatibility mode also. -. -.ds S \s'\\n(PSu'\" -.ie c\[tm] .ds Tm \(tm\" -.el .ds Tm (TM)\" -.ie c\[lq] .ds lq \(lq\" -.el .ds lq ""\" -.ie c\[rq] .ds rq \(rq\" -.el .ds rq ""\" -. -.\" For UTF-8, map the hyphen-minus to itself to facilitate copy and -.\" paste of code examples, file names, and URLs embedding it. -. -.if '\*[.T]'utf8' \{\ -. char \- \N'45' -. char - \N'45' -.\} -. -.\" Load man macro extensions. -.mso an-ext.tmac -. -.\" Load local modifications. -.mso man.local -. -.\" Set each rendering parameter only if its -[dr] option or man.local -.\" did not. -. -.\" continuous rendering (one long page) -.if !r cR \{\ -. ie n \ -. nr cR 1 -. el \ -. nr cR 0 -.\} -. -.\" continuous page numbering over multiple documents -.\" -.\" We must use consecutive page numbers when using PostScript to -.\" generate HTML images; we must not reset the page number at the -.\" beginning of each document (the 'ps4html' register is automatically -.\" added to the command line by the pre-HTML preprocessor). -.\" -.\" \n[C] may get set to 1 redundantly in the below; we could replace -.\" that with a complex conditional, but it doesn't seem to be worth the -.\" trouble given AT&T-compatible restrictions on '!' placement. -.ie !r C \ -. nr C 0 -.el \ -. if !\n[C] \ -. if \n[an-html] \{\ -. tm \*[an-old]: ignoring continuous page numbering in HTML output -. nr C 1 -. \} -.if \n[an-html] \ -. nr C 1 -.if r ps4html \ -. nr C 1 -. -.\" emit diagnostics for man page style problems -.if !r CHECKSTYLE \ -. nr CHECKSTYLE 0 -. -.\" full capitalization of section headings -.if !r CS \ -. nr CS 0 -. -.\" full capitalization of page title -.if !r CT \ -. nr CT 0 -. -.\" double-sided layout -.ie !r D \ -. nr D 0 -.el \ -. if \n[D] \ -. if \n[an-html] \{\ -. tm \*[an-old]: ignoring double-sided layout in HTML output -. nr D 0 -. \} -. -.\" footer distance -.if !r FT \ -. nr FT (-.5i) -. -.\" hyphenation mode -.if !r HY \{\ -. \" No page breaks occur in continuous rendering. -. ie \n[cR] \ -. nr HY 4 -. el \ -. nr HY 6 -.\} -. -.\" standard indentation -.if !r IN \{\ -. \" We must select an integer indentation value for nroff; see comment -. \" in an-do-tag. -. ie t \ -. nr IN 7.2n -. el \ -. nr IN 7n -.\} -. -.\" line length -.if !r LL \{\ -. \" If in troff mode, respect device default. -. ie t \ -. nr LL \n[.l] -. \" Otherwise, override nroff mode default of 65n. -. el \ -. nr LL 78n -.\} -. -.\" title (header, footer) length -.if !r LT \ -. nr LT \n[LL]u -. -.\" starting page number -.\" -.\" Unlike most of these parameters, we do not set a default for P; -.\" groff supplies a default starting page number (1). Also, when -.\" rendering for the HTML output device, page numbers are concealed and -.\" used for internal purposes like image embedding. -.\" -.if r P \ -. if \n[an-html] \ -. if !(\n[P] = 1) \{\ -. tm \*[an-old]: ignoring starting page number in HTML output -. rr P -. \} -. -.if !r ps4html \ -. if r P \ -. pn 0\n[P] -. -.\" point size -.if !r S \{\ -. nr S 10 -. if '\*[.T]'X75-12' \ -. nr S 12 -. if '\*[.T]'X100-12' \ -. nr S 12 -.\} -. -.\" subsection indentation -.if !r SN \ -. nr SN 3n -. -.\" page number after which to apply letter suffixes -.\" -.\" Unlike most of these parameters, we do not set a default for X; only -.\" the macro an-p-footer uses it. -.if r X \ -. if \n[an-html] \{\ -. tm \*[an-old]: ignoring page letter suffixing in HTML output -. rr X -. \} -. -.\" adjustment mode -.if !d AD \ -. ds AD b\" -. -.\" (sub)section heading font -.if !d HF \ -. ds HF B\" -. -.if \n[cR] \ -. an-set-up-continuous-rendering -. -.cp \n[*groff_an-old_tmac_C] -. -.\" Local Variables: -.\" mode: nroff -.\" fill-column: 72 -.\" End: -.\" vim: set filetype=groff textwidth=72: diff --git a/docs/man/images/Images_info.adoc b/docs/man/images/Images_info.adoc deleted file mode 100644 index b8461c51656..00000000000 --- a/docs/man/images/Images_info.adoc +++ /dev/null @@ -1,60 +0,0 @@ -# Images in man pages - -Images in man pages are not recommended. It's better to use an ASCII representation (ASCII art) if possible. - -## Timing diagrams - -Timing diagrams can be created using link:https://wavedrom.com/editor.html[Wavedrom]. + -To use them in a man page as ASCII art folloe these steps: - -1. Save in a text file -2. Use link:https://github.com/Wren6991/asciiwave[asciiwave] to create the ascii output -3. Copy into the man page using `.br` as line separator - -Here an example: - -.toggle2nist: Timing diagram source code ----- -{'signal': [ - {name: 'in', wave: 'lHx.l.Hx.l'}, - {name: 'on', wave: 'lh.l......' }, - {name: 'off', wave: 'l.....h.l.' }, - {name: 'is-on', wave: 'l..h....l.' }, -]} ----- - - - -.toggle2nist: ASCII art generated by asciiwave ----- - ┐ ┏─────xxxxxxxxxxxx┐ ┏─────xxxxxxxxxxxx┐ -.br -in : └─────┛ xxxxxxxxxxxx└───────────┛ xxxxxxxxxxxx└───── -.br - ┐ ┌───────────┐ -.br -on : └─────┘ └───────────────────────────────────────── - ┐ ┌───────────┐ -.br -off : └───────────────────────────────────┘ └─────────── -.br - ┐ ┌─────────────────────────────┐ -.br -is-on: └─────────────────┘ └─────────── - ----- - - -## Diagrams - -ASCII art diagrams can be drawn e.g., with link:https://asciiflow.com/[asciiflow] - -.toggle2nist: Diagram drawn with asciiflow ----- - toggle2nist - ┌───────────┐ - ──┤in on├── - │ │ - ──┤is-on off├── - └───────────┘ ----- diff --git a/docs/man/images/toggle.json b/docs/man/images/toggle.json deleted file mode 100644 index 08c2f3e5b59..00000000000 --- a/docs/man/images/toggle.json +++ /dev/null @@ -1,4 +0,0 @@ -{signal: [ - {name: 'in', wave: 'lPlP'}, - {name: 'out', wave: 'lh.l' }, -]} diff --git a/docs/man/images/toggle.ps b/docs/man/images/toggle.ps deleted file mode 100644 index a9b5d70cbd0..00000000000 Binary files a/docs/man/images/toggle.ps and /dev/null differ diff --git a/docs/man/images/toggle2nist.json b/docs/man/images/toggle2nist.json deleted file mode 100644 index 32d68278a02..00000000000 --- a/docs/man/images/toggle2nist.json +++ /dev/null @@ -1,6 +0,0 @@ -{'signal': [ - {name: 'in', wave: 'lHx.l.Hx.l'}, - {name: 'on', wave: 'lh.l......' }, - {name: 'off', wave: 'l.....h.l.' }, - {name: 'is-on', wave: 'l..h....l.' }, -]} diff --git a/docs/man/images/toggle2nist.ps b/docs/man/images/toggle2nist.ps deleted file mode 100644 index 0ed194d8825..00000000000 Binary files a/docs/man/images/toggle2nist.ps and /dev/null differ diff --git a/docs/man/stylesheet.9 b/docs/man/stylesheet.9 deleted file mode 100644 index 461245f921d..00000000000 --- a/docs/man/stylesheet.9 +++ /dev/null @@ -1,2 +0,0 @@ -.HEAD " " \ - \ No newline at end of file diff --git a/docs/po4a.cfg b/docs/po4a.cfg index 3d9c8a1b29e..dfe73958541 100644 --- a/docs/po4a.cfg +++ b/docs/po4a.cfg @@ -371,122 +371,122 @@ [type: Text_def] src/gui/panelui_handler.py $lang:build/adoc/$lang/gui/panelui_handler.py -[type: man_def] man/man1/pi500_vfd.1 $lang:man/$lang/man1/pi500_vfd.1 -[type: man_def] man/man1/thermistor.1 $lang:man/$lang/man1/thermistor.1 -[type: man_def] man/man1/wj200_vfd.1 $lang:man/$lang/man1/wj200_vfd.1 -[type: man_def] man/man9/abs.9 $lang:man/$lang/man9/abs.9 -[type: man_def] man/man9/abs_s32.9 $lang:man/$lang/man9/abs_s32.9 -[type: man_def] man/man9/and2.9 $lang:man/$lang/man9/and2.9 -[type: man_def] man/man9/axistest.9 $lang:man/$lang/man9/axistest.9 -[type: man_def] man/man9/bin2gray.9 $lang:man/$lang/man9/bin2gray.9 -[type: man_def] man/man9/biquad.9 $lang:man/$lang/man9/biquad.9 -[type: man_def] man/man9/bitslice.9 $lang:man/$lang/man9/bitslice.9 -[type: man_def] man/man9/bitwise.9 $lang:man/$lang/man9/bitwise.9 -[type: man_def] man/man9/bldc.9 $lang:man/$lang/man9/bldc.9 -[type: man_def] man/man9/blend.9 $lang:man/$lang/man9/blend.9 -[type: man_def] man/man9/carousel.9 $lang:man/$lang/man9/carousel.9 -[type: man_def] man/man9/charge_pump.9 $lang:man/$lang/man9/charge_pump.9 -[type: man_def] man/man9/clarke2.9 $lang:man/$lang/man9/clarke2.9 -[type: man_def] man/man9/clarke3.9 $lang:man/$lang/man9/clarke3.9 -[type: man_def] man/man9/clarkeinv.9 $lang:man/$lang/man9/clarkeinv.9 -[type: man_def] man/man9/comp.9 $lang:man/$lang/man9/comp.9 -[type: man_def] man/man9/conv_bit_float.9 $lang:man/$lang/man9/conv_bit_float.9 -[type: man_def] man/man9/conv_bit_s32.9 $lang:man/$lang/man9/conv_bit_s32.9 -[type: man_def] man/man9/conv_bit_u32.9 $lang:man/$lang/man9/conv_bit_u32.9 -[type: man_def] man/man9/conv_float_s32.9 $lang:man/$lang/man9/conv_float_s32.9 -[type: man_def] man/man9/conv_float_u32.9 $lang:man/$lang/man9/conv_float_u32.9 -[type: man_def] man/man9/conv_s32_bit.9 $lang:man/$lang/man9/conv_s32_bit.9 -[type: man_def] man/man9/conv_s32_float.9 $lang:man/$lang/man9/conv_s32_float.9 -[type: man_def] man/man9/conv_s32_u32.9 $lang:man/$lang/man9/conv_s32_u32.9 -[type: man_def] man/man9/conv_u32_bit.9 $lang:man/$lang/man9/conv_u32_bit.9 -[type: man_def] man/man9/conv_u32_float.9 $lang:man/$lang/man9/conv_u32_float.9 -[type: man_def] man/man9/conv_u32_s32.9 $lang:man/$lang/man9/conv_u32_s32.9 -[type: man_def] man/man9/corexy_by_hal.9 $lang:man/$lang/man9/corexy_by_hal.9 -[type: man_def] man/man9/dbounce.9 $lang:man/$lang/man9/dbounce.9 -[type: man_def] man/man9/ddt.9 $lang:man/$lang/man9/ddt.9 -[type: man_def] man/man9/deadzone.9 $lang:man/$lang/man9/deadzone.9 -[type: man_def] man/man9/demux.9 $lang:man/$lang/man9/demux.9 -[type: man_def] man/man9/differential.9 $lang:man/$lang/man9/differential.9 -[type: man_def] man/man9/edge.9 $lang:man/$lang/man9/edge.9 -[type: man_def] man/man9/eoffset_per_angle.9 $lang:man/$lang/man9/eoffset_per_angle.9 -[type: man_def] man/man9/estop_latch.9 $lang:man/$lang/man9/estop_latch.9 -[type: man_def] man/man9/feedcomp.9 $lang:man/$lang/man9/feedcomp.9 -[type: man_def] man/man9/filter_kalman.9 $lang:man/$lang/man9/filter_kalman.9 -[type: man_def] man/man9/flipflop.9 $lang:man/$lang/man9/flipflop.9 -[type: man_def] man/man9/gantry.9 $lang:man/$lang/man9/gantry.9 -[type: man_def] man/man9/gearchange.9 $lang:man/$lang/man9/gearchange.9 -[type: man_def] man/man9/gray2bin.9 $lang:man/$lang/man9/gray2bin.9 -[type: man_def] man/man9/histobins.9 $lang:man/$lang/man9/histobins.9 -[type: man_def] man/man9/hypot.9 $lang:man/$lang/man9/hypot.9 -[type: man_def] man/man9/ilowpass.9 $lang:man/$lang/man9/ilowpass.9 -[type: man_def] man/man9/integ.9 $lang:man/$lang/man9/integ.9 -[type: man_def] man/man9/invert.9 $lang:man/$lang/man9/invert.9 -[type: man_def] man/man9/joyhandle.9 $lang:man/$lang/man9/joyhandle.9 -[type: man_def] man/man9/knob2float.9 $lang:man/$lang/man9/knob2float.9 -[type: man_def] man/man9/latencybins.9 $lang:man/$lang/man9/latencybins.9 -[type: man_def] man/man9/limit1.9 $lang:man/$lang/man9/limit1.9 -[type: man_def] man/man9/limit2.9 $lang:man/$lang/man9/limit2.9 -[type: man_def] man/man9/limit3.9 $lang:man/$lang/man9/limit3.9 -[type: man_def] man/man9/lincurve.9 $lang:man/$lang/man9/lincurve.9 -[type: man_def] man/man9/logic.9 $lang:man/$lang/man9/logic.9 -[type: man_def] man/man9/lowpass.9 $lang:man/$lang/man9/lowpass.9 -[type: man_def] man/man9/lut5.9 $lang:man/$lang/man9/lut5.9 -[type: man_def] man/man9/maj3.9 $lang:man/$lang/man9/maj3.9 -[type: man_def] man/man9/match8.9 $lang:man/$lang/man9/match8.9 -[type: man_def] man/man9/matrix_kb.9 $lang:man/$lang/man9/matrix_kb.9 -[type: man_def] man/man9/max31855.9 $lang:man/$lang/man9/max31855.9 -[type: man_def] man/man9/mesa_7i65.9 $lang:man/$lang/man9/mesa_7i65.9 -[type: man_def] man/man9/mesa_pktgyro_test.9 $lang:man/$lang/man9/mesa_pktgyro_test.9 -[type: man_def] man/man9/message.9 $lang:man/$lang/man9/message.9 -[type: man_def] man/man9/millturn.9 $lang:man/$lang/man9/millturn.9 -[type: man_def] man/man9/minmax.9 $lang:man/$lang/man9/minmax.9 -[type: man_def] man/man9/moveoff.9 $lang:man/$lang/man9/moveoff.9 -[type: man_def] man/man9/mult2.9 $lang:man/$lang/man9/mult2.9 -[type: man_def] man/man9/multiclick.9 $lang:man/$lang/man9/multiclick.9 -[type: man_def] man/man9/multiswitch.9 $lang:man/$lang/man9/multiswitch.9 -[type: man_def] man/man9/mux16.9 $lang:man/$lang/man9/mux16.9 -[type: man_def] man/man9/mux2.9 $lang:man/$lang/man9/mux2.9 -[type: man_def] man/man9/mux4.9 $lang:man/$lang/man9/mux4.9 -[type: man_def] man/man9/mux8.9 $lang:man/$lang/man9/mux8.9 -[type: man_def] man/man9/mux_generic.9 $lang:man/$lang/man9/mux_generic.9 -[type: man_def] man/man9/near.9 $lang:man/$lang/man9/near.9 -[type: man_def] man/man9/not.9 $lang:man/$lang/man9/not.9 -[type: man_def] man/man9/offset.9 $lang:man/$lang/man9/offset.9 -[type: man_def] man/man9/ohmic.9 $lang:man/$lang/man9/ohmic.9 -[type: man_def] man/man9/oneshot.9 $lang:man/$lang/man9/oneshot.9 -[type: man_def] man/man9/or2.9 $lang:man/$lang/man9/or2.9 -[type: man_def] man/man9/orient.9 $lang:man/$lang/man9/orient.9 -[type: man_def] man/man9/pid.9 $lang:man/$lang/man9/pid.9 -[type: man_def] man/man9/plasmac.9 $lang:man/$lang/man9/plasmac.9 -[type: man_def] man/man9/pwmgen.9 $lang:man/$lang/man9/pwmgen.9 -[type: man_def] man/man9/sample_hold.9 $lang:man/$lang/man9/sample_hold.9 -[type: man_def] man/man9/scale.9 $lang:man/$lang/man9/scale.9 -[type: man_def] man/man9/select8.9 $lang:man/$lang/man9/select8.9 -[type: man_def] man/man9/serport.9 $lang:man/$lang/man9/serport.9 -[type: man_def] man/man9/sim_axis_hardware.9 $lang:man/$lang/man9/sim_axis_hardware.9 -[type: man_def] man/man9/sim_encoder.9 $lang:man/$lang/man9/sim_encoder.9 -[type: man_def] man/man9/sim_home_switch.9 $lang:man/$lang/man9/sim_home_switch.9 -[type: man_def] man/man9/sim_matrix_kb.9 $lang:man/$lang/man9/sim_matrix_kb.9 -[type: man_def] man/man9/sim_parport.9 $lang:man/$lang/man9/sim_parport.9 -[type: man_def] man/man9/simple_tp.9 $lang:man/$lang/man9/simple_tp.9 -[type: man_def] man/man9/sim_spindle.9 $lang:man/$lang/man9/sim_spindle.9 -[type: man_def] man/man9/sphereprobe.9 $lang:man/$lang/man9/sphereprobe.9 -[type: man_def] man/man9/spindle.9 $lang:man/$lang/man9/spindle.9 -[type: man_def] man/man9/spindle_monitor.9 $lang:man/$lang/man9/spindle_monitor.9 -[type: man_def] man/man9/steptest.9 $lang:man/$lang/man9/steptest.9 -[type: man_def] man/man9/sum2.9 $lang:man/$lang/man9/sum2.9 -[type: man_def] man/man9/thc.9 $lang:man/$lang/man9/thc.9 -[type: man_def] man/man9/thcud.9 $lang:man/$lang/man9/thcud.9 -[type: man_def] man/man9/threadtest.9 $lang:man/$lang/man9/threadtest.9 -[type: man_def] man/man9/time.9 $lang:man/$lang/man9/time.9 -[type: man_def] man/man9/timedelay.9 $lang:man/$lang/man9/timedelay.9 -[type: man_def] man/man9/timedelta.9 $lang:man/$lang/man9/timedelta.9 -[type: man_def] man/man9/toggle2nist.9 $lang:man/$lang/man9/toggle2nist.9 -[type: man_def] man/man9/toggle.9 $lang:man/$lang/man9/toggle.9 -[type: man_def] man/man9/tristate_bit.9 $lang:man/$lang/man9/tristate_bit.9 -[type: man_def] man/man9/tristate_float.9 $lang:man/$lang/man9/tristate_float.9 -[type: man_def] man/man9/updown.9 $lang:man/$lang/man9/updown.9 -[type: man_def] man/man9/userkins.9 $lang:man/$lang/man9/userkins.9 -[type: man_def] man/man9/wcomp.9 $lang:man/$lang/man9/wcomp.9 -[type: man_def] man/man9/xhc_hb04_util.9 $lang:man/$lang/man9/xhc_hb04_util.9 -[type: man_def] man/man9/xor2.9 $lang:man/$lang/man9/xor2.9 +[type: man_def] build/man/man1/pi500_vfd.1 $lang:build/man/$lang/man1/pi500_vfd.1 +[type: man_def] build/man/man1/thermistor.1 $lang:build/man/$lang/man1/thermistor.1 +[type: man_def] build/man/man1/wj200_vfd.1 $lang:build/man/$lang/man1/wj200_vfd.1 +[type: man_def] build/man/man9/abs.9 $lang:build/man/$lang/man9/abs.9 +[type: man_def] build/man/man9/abs_s32.9 $lang:build/man/$lang/man9/abs_s32.9 +[type: man_def] build/man/man9/and2.9 $lang:build/man/$lang/man9/and2.9 +[type: man_def] build/man/man9/axistest.9 $lang:build/man/$lang/man9/axistest.9 +[type: man_def] build/man/man9/bin2gray.9 $lang:build/man/$lang/man9/bin2gray.9 +[type: man_def] build/man/man9/biquad.9 $lang:build/man/$lang/man9/biquad.9 +[type: man_def] build/man/man9/bitslice.9 $lang:build/man/$lang/man9/bitslice.9 +[type: man_def] build/man/man9/bitwise.9 $lang:build/man/$lang/man9/bitwise.9 +[type: man_def] build/man/man9/bldc.9 $lang:build/man/$lang/man9/bldc.9 +[type: man_def] build/man/man9/blend.9 $lang:build/man/$lang/man9/blend.9 +[type: man_def] build/man/man9/carousel.9 $lang:build/man/$lang/man9/carousel.9 +[type: man_def] build/man/man9/charge_pump.9 $lang:build/man/$lang/man9/charge_pump.9 +[type: man_def] build/man/man9/clarke2.9 $lang:build/man/$lang/man9/clarke2.9 +[type: man_def] build/man/man9/clarke3.9 $lang:build/man/$lang/man9/clarke3.9 +[type: man_def] build/man/man9/clarkeinv.9 $lang:build/man/$lang/man9/clarkeinv.9 +[type: man_def] build/man/man9/comp.9 $lang:build/man/$lang/man9/comp.9 +[type: man_def] build/man/man9/conv_bit_float.9 $lang:build/man/$lang/man9/conv_bit_float.9 +[type: man_def] build/man/man9/conv_bit_s32.9 $lang:build/man/$lang/man9/conv_bit_s32.9 +[type: man_def] build/man/man9/conv_bit_u32.9 $lang:build/man/$lang/man9/conv_bit_u32.9 +[type: man_def] build/man/man9/conv_float_s32.9 $lang:build/man/$lang/man9/conv_float_s32.9 +[type: man_def] build/man/man9/conv_float_u32.9 $lang:build/man/$lang/man9/conv_float_u32.9 +[type: man_def] build/man/man9/conv_s32_bit.9 $lang:build/man/$lang/man9/conv_s32_bit.9 +[type: man_def] build/man/man9/conv_s32_float.9 $lang:build/man/$lang/man9/conv_s32_float.9 +[type: man_def] build/man/man9/conv_s32_u32.9 $lang:build/man/$lang/man9/conv_s32_u32.9 +[type: man_def] build/man/man9/conv_u32_bit.9 $lang:build/man/$lang/man9/conv_u32_bit.9 +[type: man_def] build/man/man9/conv_u32_float.9 $lang:build/man/$lang/man9/conv_u32_float.9 +[type: man_def] build/man/man9/conv_u32_s32.9 $lang:build/man/$lang/man9/conv_u32_s32.9 +[type: man_def] build/man/man9/corexy_by_hal.9 $lang:build/man/$lang/man9/corexy_by_hal.9 +[type: man_def] build/man/man9/dbounce.9 $lang:build/man/$lang/man9/dbounce.9 +[type: man_def] build/man/man9/ddt.9 $lang:build/man/$lang/man9/ddt.9 +[type: man_def] build/man/man9/deadzone.9 $lang:build/man/$lang/man9/deadzone.9 +[type: man_def] build/man/man9/demux.9 $lang:build/man/$lang/man9/demux.9 +[type: man_def] build/man/man9/differential.9 $lang:build/man/$lang/man9/differential.9 +[type: man_def] build/man/man9/edge.9 $lang:build/man/$lang/man9/edge.9 +[type: man_def] build/man/man9/eoffset_per_angle.9 $lang:build/man/$lang/man9/eoffset_per_angle.9 +[type: man_def] build/man/man9/estop_latch.9 $lang:build/man/$lang/man9/estop_latch.9 +[type: man_def] build/man/man9/feedcomp.9 $lang:build/man/$lang/man9/feedcomp.9 +[type: man_def] build/man/man9/filter_kalman.9 $lang:build/man/$lang/man9/filter_kalman.9 +[type: man_def] build/man/man9/flipflop.9 $lang:build/man/$lang/man9/flipflop.9 +[type: man_def] build/man/man9/gantry.9 $lang:build/man/$lang/man9/gantry.9 +[type: man_def] build/man/man9/gearchange.9 $lang:build/man/$lang/man9/gearchange.9 +[type: man_def] build/man/man9/gray2bin.9 $lang:build/man/$lang/man9/gray2bin.9 +[type: man_def] build/man/man9/histobins.9 $lang:build/man/$lang/man9/histobins.9 +[type: man_def] build/man/man9/hypot.9 $lang:build/man/$lang/man9/hypot.9 +[type: man_def] build/man/man9/ilowpass.9 $lang:build/man/$lang/man9/ilowpass.9 +[type: man_def] build/man/man9/integ.9 $lang:build/man/$lang/man9/integ.9 +[type: man_def] build/man/man9/invert.9 $lang:build/man/$lang/man9/invert.9 +[type: man_def] build/man/man9/joyhandle.9 $lang:build/man/$lang/man9/joyhandle.9 +[type: man_def] build/man/man9/knob2float.9 $lang:build/man/$lang/man9/knob2float.9 +[type: man_def] build/man/man9/latencybins.9 $lang:build/man/$lang/man9/latencybins.9 +[type: man_def] build/man/man9/limit1.9 $lang:build/man/$lang/man9/limit1.9 +[type: man_def] build/man/man9/limit2.9 $lang:build/man/$lang/man9/limit2.9 +[type: man_def] build/man/man9/limit3.9 $lang:build/man/$lang/man9/limit3.9 +[type: man_def] build/man/man9/lincurve.9 $lang:build/man/$lang/man9/lincurve.9 +[type: man_def] build/man/man9/logic.9 $lang:build/man/$lang/man9/logic.9 +[type: man_def] build/man/man9/lowpass.9 $lang:build/man/$lang/man9/lowpass.9 +[type: man_def] build/man/man9/lut5.9 $lang:build/man/$lang/man9/lut5.9 +[type: man_def] build/man/man9/maj3.9 $lang:build/man/$lang/man9/maj3.9 +[type: man_def] build/man/man9/match8.9 $lang:build/man/$lang/man9/match8.9 +[type: man_def] build/man/man9/matrix_kb.9 $lang:build/man/$lang/man9/matrix_kb.9 +[type: man_def] build/man/man9/max31855.9 $lang:build/man/$lang/man9/max31855.9 +[type: man_def] build/man/man9/mesa_7i65.9 $lang:build/man/$lang/man9/mesa_7i65.9 +[type: man_def] build/man/man9/mesa_pktgyro_test.9 $lang:build/man/$lang/man9/mesa_pktgyro_test.9 +[type: man_def] build/man/man9/message.9 $lang:build/man/$lang/man9/message.9 +[type: man_def] build/man/man9/millturn.9 $lang:build/man/$lang/man9/millturn.9 +[type: man_def] build/man/man9/minmax.9 $lang:build/man/$lang/man9/minmax.9 +[type: man_def] build/man/man9/moveoff.9 $lang:build/man/$lang/man9/moveoff.9 +[type: man_def] build/man/man9/mult2.9 $lang:build/man/$lang/man9/mult2.9 +[type: man_def] build/man/man9/multiclick.9 $lang:build/man/$lang/man9/multiclick.9 +[type: man_def] build/man/man9/multiswitch.9 $lang:build/man/$lang/man9/multiswitch.9 +[type: man_def] build/man/man9/mux16.9 $lang:build/man/$lang/man9/mux16.9 +[type: man_def] build/man/man9/mux2.9 $lang:build/man/$lang/man9/mux2.9 +[type: man_def] build/man/man9/mux4.9 $lang:build/man/$lang/man9/mux4.9 +[type: man_def] build/man/man9/mux8.9 $lang:build/man/$lang/man9/mux8.9 +[type: man_def] build/man/man9/mux_generic.9 $lang:build/man/$lang/man9/mux_generic.9 +[type: man_def] build/man/man9/near.9 $lang:build/man/$lang/man9/near.9 +[type: man_def] build/man/man9/not.9 $lang:build/man/$lang/man9/not.9 +[type: man_def] build/man/man9/offset.9 $lang:build/man/$lang/man9/offset.9 +[type: man_def] build/man/man9/ohmic.9 $lang:build/man/$lang/man9/ohmic.9 +[type: man_def] build/man/man9/oneshot.9 $lang:build/man/$lang/man9/oneshot.9 +[type: man_def] build/man/man9/or2.9 $lang:build/man/$lang/man9/or2.9 +[type: man_def] build/man/man9/orient.9 $lang:build/man/$lang/man9/orient.9 +[type: man_def] build/man/man9/pid.9 $lang:build/man/$lang/man9/pid.9 +[type: man_def] build/man/man9/plasmac.9 $lang:build/man/$lang/man9/plasmac.9 +[type: man_def] build/man/man9/pwmgen.9 $lang:build/man/$lang/man9/pwmgen.9 +[type: man_def] build/man/man9/sample_hold.9 $lang:build/man/$lang/man9/sample_hold.9 +[type: man_def] build/man/man9/scale.9 $lang:build/man/$lang/man9/scale.9 +[type: man_def] build/man/man9/select8.9 $lang:build/man/$lang/man9/select8.9 +[type: man_def] build/man/man9/serport.9 $lang:build/man/$lang/man9/serport.9 +[type: man_def] build/man/man9/sim_axis_hardware.9 $lang:build/man/$lang/man9/sim_axis_hardware.9 +[type: man_def] build/man/man9/sim_encoder.9 $lang:build/man/$lang/man9/sim_encoder.9 +[type: man_def] build/man/man9/sim_home_switch.9 $lang:build/man/$lang/man9/sim_home_switch.9 +[type: man_def] build/man/man9/sim_matrix_kb.9 $lang:build/man/$lang/man9/sim_matrix_kb.9 +[type: man_def] build/man/man9/sim_parport.9 $lang:build/man/$lang/man9/sim_parport.9 +[type: man_def] build/man/man9/simple_tp.9 $lang:build/man/$lang/man9/simple_tp.9 +[type: man_def] build/man/man9/sim_spindle.9 $lang:build/man/$lang/man9/sim_spindle.9 +[type: man_def] build/man/man9/sphereprobe.9 $lang:build/man/$lang/man9/sphereprobe.9 +[type: man_def] build/man/man9/spindle.9 $lang:build/man/$lang/man9/spindle.9 +[type: man_def] build/man/man9/spindle_monitor.9 $lang:build/man/$lang/man9/spindle_monitor.9 +[type: man_def] build/man/man9/steptest.9 $lang:build/man/$lang/man9/steptest.9 +[type: man_def] build/man/man9/sum2.9 $lang:build/man/$lang/man9/sum2.9 +[type: man_def] build/man/man9/thc.9 $lang:build/man/$lang/man9/thc.9 +[type: man_def] build/man/man9/thcud.9 $lang:build/man/$lang/man9/thcud.9 +[type: man_def] build/man/man9/threadtest.9 $lang:build/man/$lang/man9/threadtest.9 +[type: man_def] build/man/man9/time.9 $lang:build/man/$lang/man9/time.9 +[type: man_def] build/man/man9/timedelay.9 $lang:build/man/$lang/man9/timedelay.9 +[type: man_def] build/man/man9/timedelta.9 $lang:build/man/$lang/man9/timedelta.9 +[type: man_def] build/man/man9/toggle2nist.9 $lang:build/man/$lang/man9/toggle2nist.9 +[type: man_def] build/man/man9/toggle.9 $lang:build/man/$lang/man9/toggle.9 +[type: man_def] build/man/man9/tristate_bit.9 $lang:build/man/$lang/man9/tristate_bit.9 +[type: man_def] build/man/man9/tristate_float.9 $lang:build/man/$lang/man9/tristate_float.9 +[type: man_def] build/man/man9/updown.9 $lang:build/man/$lang/man9/updown.9 +[type: man_def] build/man/man9/userkins.9 $lang:build/man/$lang/man9/userkins.9 +[type: man_def] build/man/man9/wcomp.9 $lang:build/man/$lang/man9/wcomp.9 +[type: man_def] build/man/man9/xhc_hb04_util.9 $lang:build/man/$lang/man9/xhc_hb04_util.9 +[type: man_def] build/man/man9/xor2.9 $lang:build/man/$lang/man9/xor2.9 diff --git a/docs/src/Submakefile b/docs/src/Submakefile index 7611b346612..50aa2061f32 100644 --- a/docs/src/Submakefile +++ b/docs/src/Submakefile @@ -44,11 +44,26 @@ DOC_SRCDIR=../docs/src # docs/build/html//pdf/LinuxCNC_*_.pdf # docs/build/adoc//... # po4a-translated source tree # -# Manpage troff stays at docs/man/ (input to docs build; also written by -# halcompile and consumed by install-man). +# Manpage troff is generated under build/, not committed to the source tree. +# Written by halcompile and the docs build; consumed by install-man and the +# run-in-place MANPATH. +# +# Layout follows the /usr/share/man hierarchy, NOT the build/html/ and +# build/adoc/ convention used everywhere else in this tree: +# +# docs/build/man/manN # English (the C / default locale) +# docs/build/man//manN # translations, keyed by locale +# +# This asymmetry is deliberate. man(1) resolves a MANPATH entry by locale, +# reading //manN for a translation and falling back to +# /manN for the default locale; putting English under an en/ subdir +# would break a plain `MANPATH=.../build/man` under LANG=C. The cost is that +# the English man tree is special-cased below (top-level manN, no en/ prefix), +# unlike html/adoc which key every language including English under /. DOC_BUILD := $(DOC_DIR)/build DOC_OUT_HTML := $(DOC_BUILD)/html DOC_OUT_ADOC := $(DOC_BUILD)/adoc +DOC_MAN := $(DOC_BUILD)/man # PDFs live under the html tree (docs/build/html//pdf/) so the html # subtree is self-contained and can link them with relative paths. @@ -59,13 +74,13 @@ ASCIIDOCTOR_DEFAULT_CSS := $(shell ruby -e 'require "asciidoctor"; print Asciido LANGUAGES := $(strip $(shell sed -e's/#.*//' < $(DOC_DIR)/po4a.cfg | grep '^\[po4a_langs\]' | cut -d" " -f2-)) LANGUAGES_MATCH := $(shell echo $(LANGUAGES) | tr " " "|") -GENERATED_MANPAGES += ../docs/man/man1/linuxcnc.1 -GENERATED_MANPAGES += $(patsubst ../docs/src/man/%.adoc, ../docs/man/%, $(wildcard ../docs/src/man/*/*.adoc)) +GENERATED_MANPAGES += $(DOC_MAN)/man1/linuxcnc.1 +GENERATED_MANPAGES += $(patsubst ../docs/src/man/%.adoc, $(DOC_MAN)/%, $(wildcard ../docs/src/man/man?/*.adoc)) MAN_SRCS = $(sort \ - $(wildcard $(DOC_DIR)/man/man1/*.1) \ - $(wildcard $(DOC_DIR)/man/man3/*.3) \ - $(wildcard $(DOC_DIR)/man/man9/*.9) \ + $(wildcard $(DOC_MAN)/man1/*.1) \ + $(wildcard $(DOC_MAN)/man3/*.3) \ + $(wildcard $(DOC_MAN)/man9/*.9) \ $(GENERATED_MANPAGES)) $(DOC_OUT_ADOC)/en/man/man1/linuxcnc.1.adoc: $(DOC_SRCDIR)/man/man1/linuxcnc.1.adoc.in $(SRCDIR)/config.status @@ -75,7 +90,7 @@ $(DOC_OUT_ADOC)/en/man/man1/linuxcnc.1.adoc: $(DOC_SRCDIR)/man/man1/linuxcnc.1.a # linuxcnc.1 troff comes from the build-tree-generated .adoc above; the # generic pattern rule at the end of this file expects sources under # $(DOC_DIR)/src/man/, so override with an explicit rule. -../docs/man/man1/linuxcnc.1: $(DOC_OUT_ADOC)/en/man/man1/linuxcnc.1.adoc +$(DOC_MAN)/man1/linuxcnc.1: $(DOC_OUT_ADOC)/en/man/man1/linuxcnc.1.adoc $(ECHO) Making manpage $(notdir $@) @mkdir -p $(dir $@) $(Q)asciidoctor --doctype=manpage \ @@ -248,7 +263,7 @@ endef GENERATED_TRANSLATED = $(foreach l, $(LANGUAGES), \ $(DOC_OUT_ADOC)/$(l) \ $(DOC_OUT_HTML)/$(l) \ - $(DOC_DIR)/man/$(l) \ + $(DOC_MAN)/$(l) \ ) # Time how long po4a takes to run if the system has the `time` command @@ -270,7 +285,7 @@ endif # auto-generated from the English manpages by gen_complist.py. It must # exist before po4a is invoked, otherwise po4a aborts with "master file # does not exist". gen_complist.py reads the manpage source list from -# $(DOC_DIR)/man/, so changes to that set must invalidate the file -- +# $(DOC_MAN)/, so changes to that set must invalidate the file -- # hence $(MAN_SRCS) as a real prereq (the script is content-stable via # write_if_changed, so re-running over the same set is a no-op for # mtime, which keeps downstream po4a from re-firing every build). @@ -333,9 +348,14 @@ endif $(foreach L,en $(LANGUAGES),\ $(eval DOC_SRCS_$(call toUC,$(L))_SMALL := \ - $(filter-out Master_%,$(DOC_SRCS_$(call toUC,$(L)))))) + $(filter-out Master_% man/% $(L)/man/%,$(DOC_SRCS_$(call toUC,$(L)))))) -DOC_SRCS_HTML = $(patsubst %.adoc, %.html, $(foreach p, $(DOC_SRCS), $(if $(findstring Master_, $(p)),, $p))) +# Manpages are produced by the translated-manpage pipeline further +# down (asciidoctor --doctype=manpage), not the generic adoc-to-html +# rule. Filter them out so DOC_TARGETS_HTML_ does not claim the +# same html//man/... output paths. +DOC_SRCS_HTML = $(patsubst %.adoc, %.html, $(foreach p, $(DOC_SRCS), \ + $(if $(findstring Master_, $(p)),, $(if $(findstring /man/, /$(p)),, $(p))))) # Per-language HTML target lists. English files have no lang/ prefix in # their source path; translated files already include $(L)/ in DOC_SRCS_$L. @@ -349,7 +369,8 @@ $(foreach L,$(LANGUAGES), \ $(eval DOC_TARGETS_HTML_$(call toUC,$(L)) := \ $$(addprefix $(DOC_OUT_HTML)/, \ $$(patsubst %.adoc,%.html, \ - $$(filter-out $(L)/Master_%, $$(DOC_SRCS_$(call toUC,$(L)))))))) + $$(filter-out $(L)/Master_% $(L)/man/%, \ + $$(DOC_SRCS_$(call toUC,$(L)))))))) DOC_TARGETS_HTML = $(DOC_TARGETS_HTML_EN) ifeq ($(BUILD_DOCS_TRANSLATED),yes) DOC_TARGETS_HTML += $(foreach L,$(LANGUAGES),$(DOC_TARGETS_HTML_$(call toUC,$(L)))) @@ -365,15 +386,33 @@ DOC_TARGETS_XML += $(foreach L,$(LANGUAGES),$(DOC_TARGETS_XML_$(call toUC,$(L))) endif # Manpage HTML. English manpages live at docs/build/html/en/man/manN/X.html; -# translated manpages mirror the layout under their own lang dir. -MAN_HTML_TARGETS_EN := $(patsubst $(DOC_DIR)/man/%, $(DOC_OUT_HTML)/en/man/%.html, \ - $(filter-out $(foreach L,$(LANGUAGES),$(DOC_DIR)/man/$(L)/%), $(MAN_SRCS))) +# translated manpages mirror the layout under their own lang dir. The +# per-lang list is derived from po4a.cfg (authoritative source of which +# manpages have a translated counterpart) rather than MAN_SRCS, which +# would close a cycle through components_gen.adoc and over-include. +# Every language renders the FULL English manpage set so the docs stay +# uniform: translated where a po4a leg provides it, English fallback +# otherwise (the per-page banner shows the completeness). +MAN_EN_STEMS := $(patsubst $(DOC_MAN)/%, %, $(MAN_SRCS)) +MAN_HTML_TARGETS_EN := $(addprefix $(DOC_OUT_HTML)/en/man/, $(addsuffix .html, $(MAN_EN_STEMS))) +# Stems that get a po4a-built per-language troff: AsciiDoc_def (committed +# src/man/*.adoc, rendered per-lang via TRANSLATED_TROFF_RULE) and man_def +# (the comp manpages, translated troff direct). Everything else is +# English-only and gets an English troff copy per language (rule below) so +# the per-language target set can be the full English set. +PO4A_MANPAGE_STEMS := $(shell sed -ne 's|^\[type: AsciiDoc_def\] src/man/\([^ ]*\)\.adoc .*|\1|p' $(DOC_DIR)/po4a.cfg) +PO4A_MANPAGE_STEMS += $(shell sed -ne 's|^\[type: man_def\] build/man/\([^ ]*\) .*|\1|p' $(DOC_DIR)/po4a.cfg) +MAN_ENONLY_STEMS := $(filter-out $(sort $(PO4A_MANPAGE_STEMS)), $(MAN_EN_STEMS)) $(foreach L,$(LANGUAGES), \ $(eval MAN_HTML_TARGETS_$(call toUC,$(L)) := \ - $$(patsubst $(DOC_DIR)/man/$(L)/%, $(DOC_OUT_HTML)/$(L)/man/%.html, \ - $$(filter $(DOC_DIR)/man/$(L)/%, $$(MAN_SRCS))))) + $$(addprefix $(DOC_OUT_HTML)/$(L)/man/, \ + $$(addsuffix .html, $$(MAN_EN_STEMS))))) +ifeq ($(BUILD_DOCS_TRANSLATED),yes) MAN_HTML_TARGETS = $(MAN_HTML_TARGETS_EN) \ $(foreach L,$(LANGUAGES),$(MAN_HTML_TARGETS_$(call toUC,$(L)))) +else +MAN_HTML_TARGETS = $(MAN_HTML_TARGETS_EN) +endif # PDFs live in their own subtree alongside html/ and adoc/ so the html # tree zips up cleanly without PDF bloat, matching the rest of the @@ -421,7 +460,7 @@ clean: clean-manpages clean-translated clean-manpages: -rm -f $(GENERATED_MANPAGES) # Remove generated alias man pages too. - $(RM) $$(grep -lr '^\.so ' $(DOC_DIR)/man/man*) + $(RM) $$(grep -lr '^\.so ' $(DOC_MAN)/man*) clean-translated: -$(RM) -r $(GENERATED_TRANSLATED) @@ -553,7 +592,7 @@ $(DOC_DIR)/.checkref-%-stamp: $$(DOC_TARGETS_HTML_$$(call uc,$$*)) \ @touch $@ -MAN_SRCS_NOSO = $(patsubst $(DOC_DIR)/man/%,%, \ +MAN_SRCS_NOSO = $(patsubst $(DOC_MAN)/%,%, \ $(shell grep -s -L '^\.so ' $(MAN_SRCS))) PDF_MAN_ORDER := man1/linuxcnc.1 $(filter-out %/linuxcnc.1, $(filter man1/%, $(MAN_SRCS_NOSO))) \ @@ -603,8 +642,8 @@ $(foreach L,$(LANGUAGES), \ # Manpage HTML rule, parameterised over language tag (en / de / ...). The -# English bucket reads troff from docs/man/manN; translated buckets read -# from docs/man//manN. cssrel is ../../../ for both: each output +# English bucket reads troff from docs/build/man/manN; translated buckets read +# from docs/build/man//manN. cssrel is ../../../ for both: each output # sits at docs/build/html//man/manN/X.html (4 levels under html/). define MAN_HTML_RULE $(DOC_OUT_HTML)/$(1)/man/%.html: $(2)/% $(DOC_SRCDIR)/docinfo.html @@ -622,6 +661,10 @@ $(DOC_OUT_HTML)/$(1)/man/%.html: $(2)/% $(DOC_SRCDIR)/docinfo.html F="$(DOC_OUT_ADOC)/$(1)/man/$$$$S/$$$$N"; \ elif [ -r "objects/man/$$$$S/$$$$N" ]; then \ F="objects/man/$$$$S/$$$$N"; \ + elif [ -r "$(DOC_SRCDIR)/man/$$$$S/$$$$N" ]; then \ + F="$(DOC_SRCDIR)/man/$$$$S/$$$$N"; \ + elif [ -r "$(DOC_OUT_ADOC)/en/man/$$$$S/$$$$N" ]; then \ + F="$(DOC_OUT_ADOC)/en/man/$$$$S/$$$$N"; \ else \ echo "Error: Cannot find manpage '$$<' in adoc format"; \ exit 1; \ @@ -648,9 +691,9 @@ $(DOC_OUT_HTML)/$(1)/man/%.html: $(2)/% $(DOC_SRCDIR)/docinfo.html ; \ fi; endef -$(eval $(call MAN_HTML_RULE,en,$(DOC_DIR)/man,$(DOC_SRCDIR))) +$(eval $(call MAN_HTML_RULE,en,$(DOC_MAN),$(DOC_SRCDIR))) $(foreach L,$(LANGUAGES), \ - $(eval $(call MAN_HTML_RULE,$(L),$(DOC_DIR)/man/$(L),$(DOC_OUT_ADOC)/$(L)))) + $(eval $(call MAN_HTML_RULE,$(L),$(DOC_MAN)/$(L),$(DOC_OUT_ADOC)/$(L)))) # # This function appends a section to the "manpages" HTML fragment called @@ -671,7 +714,10 @@ ADD_HTML_MANPAGES = \ echo "" >> objects/index.incl; \ -objects/index.incl: $(GENERATED_MANPAGES) objects/var-MAN_HTML_TARGETS $(DOC_SRCDIR)/Submakefile +# Depends on the English target list only (the index is built from it); the +# full 9-language MAN_HTML_TARGETS would overflow a single bash arg +# (MAX_ARG_STRLEN) once every language renders the whole manpage set. +objects/index.incl: $(GENERATED_MANPAGES) objects/var-MAN_HTML_TARGETS_EN $(DOC_SRCDIR)/Submakefile rm -f $@ $(call ADD_HTML_MANPAGES, 1, Commands and userspace components, $(filter $(DOC_OUT_HTML)/en/man/man1/%.html, $(MAN_HTML_TARGETS_EN))) \ $(call ADD_HTML_MANPAGES, 9, Realtime components and kernel modules, $(filter $(DOC_OUT_HTML)/en/man/man9/%.html, $(MAN_HTML_TARGETS_EN))) \ @@ -681,7 +727,7 @@ objects/index.incl: $(GENERATED_MANPAGES) objects/var-MAN_HTML_TARGETS $(DOC_SRC $(call ADD_HTML_MANPAGES, 3, API: General, $(filter-out $(DOC_OUT_HTML)/en/man/man3/hal%.html, $(filter-out $(DOC_OUT_HTML)/en/man/man3/rtapi%.html, $(filter-out $(DOC_OUT_HTML)/en/man/man3/hm2%.html, $(filter $(DOC_OUT_HTML)/en/man/man3/%.html, $(MAN_HTML_TARGETS_EN)))))) \ # now make sure all English manpages made it into the html index FAIL=0; \ - for F in $$(find $(DOC_DIR)/man/man* -maxdepth 2 -type f); do \ + for F in $$(find $(DOC_MAN)/man* -maxdepth 2 -type f); do \ B=$$(basename $$F); \ if ! grep -q $$B $@; then \ FAIL=1; \ @@ -694,9 +740,12 @@ objects/index.incl: $(GENERATED_MANPAGES) objects/var-MAN_HTML_TARGETS $(DOC_SRC done; \ if [ $$FAIL -ne 0 ]; then exit 1; fi mkdir -p $(DOC_OUT_HTML)/en/man/man/images/ - find $(DOC_DIR)/man -maxdepth 3 -name "*.png" ! -name "grohtml*" -exec mv {} "$(DOC_OUT_HTML)/en/man/man/images/" \; + find $(DOC_MAN) -maxdepth 3 -name "*.png" ! -name "grohtml*" -exec mv {} "$(DOC_OUT_HTML)/en/man/man/images/" \; -$(DOC_OUT_HTML)/%/index.html: $(DOC_OUT_ADOC)/%/index.tmpl ../VERSION $(DOC_SRCDIR)/index.foot +# Translated landing pages append the same manpage index English uses; every +# language now renders the full manpage set, so the relative man/ hrefs all +# resolve under /man/ (no dead links). +$(DOC_OUT_HTML)/%/index.html: $(DOC_OUT_ADOC)/%/index.tmpl objects/index.incl ../VERSION $(DOC_SRCDIR)/index.foot @mkdir -p $(dir $@) cat $(filter-out ../VERSION, $^) | \ sed "s/@VERSION@/`cat ../VERSION`/" | \ @@ -1086,12 +1135,12 @@ docclean: -rm -f $(DOTFILES:.dot=.svg) -MAN_DEPS := $(patsubst $(DOC_DIR)/man/%, depends/%.d, $(MAN_SRCS)) -$(MAN_DEPS): depends/%.d: $(DOC_DIR)/man/% +MAN_DEPS := $(patsubst $(DOC_MAN)/%, depends/%.d, $(MAN_SRCS)) +$(MAN_DEPS): depends/%.d: $(DOC_MAN)/% @echo Depending $(notdir $<) @mkdir -p $(dir $@) $(Q)echo -n "$(DOC_OUT_HTML)/en/man/$*.html: $<" > $@.tmp - $(Q)grep '^\.so ' $< | awk '{ if ($$2 ~ /\//) printf " \\\n\t$(DOC_DIR)/man/%s", $$2; else printf " \\\n\t$(DOC_DIR)/man/$(*D)/%s", $$2 }' >> $@.tmp + $(Q)grep '^\.so ' $< | awk '{ if ($$2 ~ /\//) printf " \\\n\t$(DOC_MAN)/%s", $$2; else printf " \\\n\t$(DOC_MAN)/$(*D)/%s", $$2 }' >> $@.tmp $(Q)echo >> $@.tmp $(Q)mv -f $@.tmp $@ @@ -1127,8 +1176,8 @@ manpages: $(GENERATED_MANPAGES) TARGETS += manpages # make manpages from all the asciidoc manpage-sources -GENERATED_MANPAGES += $(patsubst $(DOC_DIR)/src/man/%.adoc, $(DOC_DIR)/man/%, $(wildcard $(DOC_DIR)/src/man/man?/*.adoc)) -$(DOC_DIR)/man/%: $(DOC_DIR)/src/man/%.adoc +GENERATED_MANPAGES += $(patsubst $(DOC_DIR)/src/man/%.adoc, $(DOC_MAN)/%, $(wildcard $(DOC_DIR)/src/man/man?/*.adoc)) +$(DOC_MAN)/%: $(DOC_DIR)/src/man/%.adoc $(ECHO) Making manpage $(notdir $@) @mkdir -p $(dir $@) $(Q)asciidoctor --doctype=manpage \ @@ -1138,3 +1187,51 @@ $(DOC_DIR)/man/%: $(DOC_DIR)/src/man/%.adoc -a mansource=LinuxCNC \ -a manmanual='LinuxCNC Documentation' \ $< + +# Translated manpages. po4a writes per-lang adocs under +# $(DOC_OUT_ADOC)//man/manN/X.adoc; generate troff under +# $(DOC_MAN)//manN/X (the path MAN_HTML_RULE expects for translations, +# alongside the English tree at $(DOC_MAN)/manN). The MAN_HTML_TARGETS_ +# list is already populated by the general logic earlier in this file once +# GENERATED_MANPAGES carries the translated paths, so HTML generation reuses +# MAN_HTML_RULE and avoids duplicate recipes. +ifeq ($(BUILD_DOCS_TRANSLATED),yes) +define TRANSLATED_TROFF_RULE +$$(DOC_MAN)/$1/%: $$(DOC_OUT_ADOC)/$1/man/%.adoc | $$(DOC_DIR)/.translateddocs-stamp + $$(ECHO) Making translated manpage $1 $$(notdir $$@) + @mkdir -p $$(dir $$@) + $$(Q)asciidoctor --doctype=manpage \ + --backend=manpage \ + --destination-dir="$$(dir $$@)" \ + -a compat-mode \ + -a mansource=LinuxCNC \ + -a manmanual='LinuxCNC Documentation' \ + $$< +endef +$(foreach L,$(LANGUAGES),$(eval $(call TRANSLATED_TROFF_RULE,$(L)))) + +# English-only manpages (no po4a entry on either leg: man3 API reference, +# some man1/man9) have no translated troff. Copy the English troff into +# each language so every language can render the full manpage set, English +# where untranslated. Static-pattern targets, so this takes precedence +# over TRANSLATED_TROFF_RULE's pattern rule (whose translated-adoc prereq +# does not exist for these stems). HTML still routes through MAN_HTML_RULE, +# which resolves the adoc to the committed/objects English source. +define MAN_ENONLY_TROFF_RULE +$(addprefix $(DOC_MAN)/$(1)/,$(MAN_ENONLY_STEMS)): $(DOC_MAN)/$(1)/%: $(DOC_MAN)/% | $(DOC_DIR)/.translateddocs-stamp + @mkdir -p $$(dir $$@) + $(Q)cp $$< $$@ +endef +$(foreach L,$(LANGUAGES),$(eval $(call MAN_ENONLY_TROFF_RULE,$(L)))) + +# Wire translated manpages into `docs` only (not `manpages`). Pulling +# them into `manpages` would create a cycle: the troff rule's order-only +# dep on .translateddocs-stamp resolves through po4a -> manpages, and +# adding the translated manpages back to that node closes the loop. +TRANSLATED_MAN_HTML_TARGETS := $(foreach L,$(LANGUAGES),$(MAN_HTML_TARGETS_$(call toUC,$(L)))) +TRANSLATED_GENERATED_MANPAGES := $(foreach L,$(LANGUAGES), \ + $(patsubst $(DOC_OUT_ADOC)/$(L)/man/%.adoc, $(DOC_MAN)/$(L)/%, \ + $(wildcard $(DOC_OUT_ADOC)/$(L)/man/man?/*.adoc))) +docs: $(TRANSLATED_MAN_HTML_TARGETS) +.SECONDARY: $(TRANSLATED_MAN_HTML_TARGETS) $(TRANSLATED_GENERATED_MANPAGES) +endif diff --git a/docs/src/gen_complist.py b/docs/src/gen_complist.py index 7a7f4df6374..7b47a56654d 100644 --- a/docs/src/gen_complist.py +++ b/docs/src/gen_complist.py @@ -22,9 +22,9 @@ def write_if_changed(path, content): f.write(content) return True -man1_path = '../docs/man/man1' +man1_path = '../docs/build/man/man1' man1_files = {f for f in os.listdir(man1_path) if f[0] != '.' and os.path.isfile(os.path.join(man1_path, f))} -man9_path = '../docs/man/man9' +man9_path = '../docs/build/man/man9' man9_files = {f for f in os.listdir(man9_path) if f[0] != '.' and os.path.isfile(os.path.join(man9_path, f))} man_files = man1_files.union(man9_files) complist_doc = set() @@ -58,7 +58,7 @@ def add_links(lines, add_descr): line = line.replace(comp_man, 'link:../man/man'+man+'/'+comp_man+'.html['+comp+']', 1) if add_descr: splitted = line.split('|') - splitted[2] = extract_descr('../docs/man/man'+man+'/'+comp_man)\ + splitted[2] = extract_descr('../docs/build/man/man'+man+'/'+comp_man)\ .replace(comp + ' ', ' ', 1).strip('\n -') line = '|'.join(splitted) result.append(line) diff --git a/docs/src/hal/tutorial.adoc b/docs/src/hal/tutorial.adoc index cacd61d7c55..87dcfa00d74 100644 --- a/docs/src/hal/tutorial.adoc +++ b/docs/src/hal/tutorial.adoc @@ -27,7 +27,7 @@ man page is not installed but is accessible in the LinuxCNC main directory with the following command: ---- -$ man -M docs/man halcmd +$ man -M docs/build/man halcmd ---- === Notation diff --git a/scripts/rip-environment.in b/scripts/rip-environment.in index 0f3ade3d596..13da69e22e8 100644 --- a/scripts/rip-environment.in +++ b/scripts/rip-environment.in @@ -93,12 +93,12 @@ fi if [ -z "$MANPATH" ]; then if type -path manpath > /dev/null 2>&1; then - MANPATH=$EMC2_HOME/docs/man:"$(manpath)" + MANPATH=$EMC2_HOME/docs/build/man:"$(manpath)" else - MANPATH=$EMC2_HOME/docs/man:/usr/local/man:/usr/local/share/man:/usr/share/man + MANPATH=$EMC2_HOME/docs/build/man:/usr/local/man:/usr/local/share/man:/usr/share/man fi else - MANPATH=$EMC2_HOME/docs/man:"$MANPATH" + MANPATH=$EMC2_HOME/docs/build/man:"$MANPATH" fi if [ -z "$GLADE_CATALOG_SEARCH_PATH" ]; then diff --git a/src/Doxyfile b/src/Doxyfile index 6e210be5a76..ba7e4cc6865 100644 --- a/src/Doxyfile +++ b/src/Doxyfile @@ -2095,7 +2095,7 @@ GENERATE_MAN = NO # The default directory is: man. # This tag requires that the tag GENERATE_MAN is set to YES. -MAN_OUTPUT = ../docs/man +MAN_OUTPUT = ../docs/build/man # The MAN_EXTENSION tag determines the extension that is added to the generated # man pages. In case the manual section does not start with a number, the number diff --git a/src/Makefile b/src/Makefile index 482d453198c..4b221e6546b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -679,9 +679,9 @@ install-dirs: $(DESTDIR)$(datadir)/linuxcnc/hallib install-kernel-indep: install-dirs - $(FILE) ../docs/man/man1/*.1 $(DESTDIR)$(mandir)/man1 - $(FILE) $(wildcard ../docs/man/man3/*.3) $(DESTDIR)$(mandir)/man3 - $(FILE) $(wildcard ../docs/man/man9/*.9) $(DESTDIR)$(mandir)/man9 + $(FILE) ../docs/build/man/man1/*.1 $(DESTDIR)$(mandir)/man1 + $(FILE) $(wildcard ../docs/build/man/man3/*.3) $(DESTDIR)$(mandir)/man3 + $(FILE) $(wildcard ../docs/build/man/man9/*.9) $(DESTDIR)$(mandir)/man9 $(FILE) objects/*.msg $(DESTDIR)$(tcldir)/msgs $(EXE) ../scripts/realtime $(DESTDIR)$(prefix)/lib/linuxcnc $(EXE) ../scripts/halrun $(DESTDIR)$(bindir) @@ -1461,7 +1461,7 @@ swish: $(dir $(BASEPWD))scripts \ $(dir $(BASEPWD))configs \ $(dir $(BASEPWD))docs/src \ - $(dir $(BASEPWD))docs/man/man1 + $(dir $(BASEPWD))docs/build/man/man1 # When you depend on objects/var-ZZZ you are depending on the contents of the # variable ZZZ, which is assumed to depend on a Makefile, a Submakefile, or diff --git a/src/hal/components/Submakefile b/src/hal/components/Submakefile index 2c37b2043f8..718ed39d1a6 100644 --- a/src/hal/components/Submakefile +++ b/src/hal/components/Submakefile @@ -33,7 +33,7 @@ CONVERTERS := \ conv_u64_u32.comp \ conv_u64_s64.comp COMPS := $(filter-out hal/components/tpcomp.comp hal/components/homecomp.comp, $(sort $(wildcard hal/components/*.comp) $(addprefix hal/components/, $(CONVERTERS)))) -COMP_MANPAGES := $(patsubst hal/components/%.comp, ../docs/man/man9/%.9, $(COMPS)) ../docs/man/man9/tpcomp.9 ../docs/man/man9/homecomp.9 +COMP_MANPAGES := $(patsubst hal/components/%.comp, ../docs/build/man/man9/%.9, $(COMPS)) ../docs/build/man/man9/tpcomp.9 ../docs/build/man/man9/homecomp.9 ifeq ($(BUILD_SYS),uspace) COMP_DRIVERS += hal/drivers/serport.comp COMP_DRIVERS += hal/drivers/mesa_7i65.comp @@ -41,7 +41,7 @@ COMP_DRIVERS += hal/drivers/mesa_uart.comp else COMP_DRIVERS := $(wildcard hal/drivers/*.comp) endif -COMP_DRIVER_MANPAGES := $(patsubst hal/drivers/%.comp, ../docs/man/man9/%.9, $(COMP_DRIVERS)) +COMP_DRIVER_MANPAGES := $(patsubst hal/drivers/%.comp, ../docs/build/man/man9/%.9, $(COMP_DRIVERS)) TARGETS += manpages GENERATED_MANPAGES += $(COMP_MANPAGES) GENERATED_MANPAGES += $(COMP_DRIVER_MANPAGES) @@ -76,7 +76,7 @@ $(COMP_DRIVER_MANPAGE_ADOCS): objects/man/man9/%.9.adoc: hal/drivers/%.comp ../b # emitting troff directly with sed post-processing to escape .als / .URL # directives that the old dblatex-based PDF pipeline choked on; with the # asciidoctor toolchain reading adoc straight through, that hack is gone. -$(COMP_MANPAGES) $(COMP_DRIVER_MANPAGES): ../docs/man/man9/%.9: objects/man/man9/%.9.adoc +$(COMP_MANPAGES) $(COMP_DRIVER_MANPAGES): ../docs/build/man/man9/%.9: objects/man/man9/%.9.adoc $(ECHO) Making halcompile manpage $(notdir $@) @mkdir -p $(dir $@) $(Q)asciidoctor --doctype=manpage \ diff --git a/src/hal/components/stylesheet.9 b/src/hal/components/stylesheet.9 deleted file mode 100644 index e313077c576..00000000000 --- a/src/hal/components/stylesheet.9 +++ /dev/null @@ -1 +0,0 @@ -.HEAD " " diff --git a/src/hal/user_comps/Submakefile b/src/hal/user_comps/Submakefile index 42a52579cee..3dd1fe725b9 100644 --- a/src/hal/user_comps/Submakefile +++ b/src/hal/user_comps/Submakefile @@ -2,7 +2,7 @@ USER_COMP_PY = pyvcp hal_input gladevcp scorbot-er-3 mitsub_vfd pmx485 sim-torch USER_COMPS := $(sort $(wildcard hal/user_comps/*.comp)) USER_COMP_BINS := $(patsubst hal/user_comps/%.comp, ../bin/%, $(USER_COMPS)) -USER_COMP_MANPAGES := $(patsubst hal/user_comps/%.comp, ../docs/man/man1/%.1, $(USER_COMPS)) +USER_COMP_MANPAGES := $(patsubst hal/user_comps/%.comp, ../docs/build/man/man1/%.1, $(USER_COMPS)) USER_COMP_SRCS := $(patsubst %.comp, objects/%.c, $(USER_COMPS)) GENERATED_MANPAGES += $(USER_COMP_MANPAGES) USERSRCS += $(USER_COMP_SRCS) @@ -86,7 +86,7 @@ USERSRCS += $(SENDKEYS_SRC) $(Q)$(CC) $(LDFLAGS) -o $@ $^ TARGETS += ../bin/sendkeys -$(USER_COMP_MANPAGES): ../docs/man/man1/%.1: hal/user_comps/%.comp ../bin/halcompile +$(USER_COMP_MANPAGES): ../docs/build/man/man1/%.1: hal/user_comps/%.comp ../bin/halcompile $(ECHO) Making halcompile manpage $(notdir $@) @mkdir -p $(dir $@) objects/man/man1 $(Q)../bin/halcompile -U --userspace --document --keep-adoc=$@.adoc -o $@ $< diff --git a/src/hal/user_comps/pi500_vfd/Submakefile b/src/hal/user_comps/pi500_vfd/Submakefile index 18c31a6249c..231c34aa085 100644 --- a/src/hal/user_comps/pi500_vfd/Submakefile +++ b/src/hal/user_comps/pi500_vfd/Submakefile @@ -16,7 +16,7 @@ hal/user_comps/pi500_vfd/pi500_vfd.c: hal/user_comps/pi500_vfd/pi500_vfd.comp .. $(ECHO) "Preprocessing pi500_vfd.comp" $(Q)../bin/halcompile -U --preprocess $< -../docs/man/man1/pi500_vfd.1: hal/user_comps/pi500_vfd/pi500_vfd.comp ../bin/halcompile +../docs/build/man/man1/pi500_vfd.1: hal/user_comps/pi500_vfd/pi500_vfd.comp ../bin/halcompile @mkdir -p $(dir $@) objects/man/man1 $(Q)../bin/halcompile -U -u --document --keep-adoc=$@.adoc -o $@ $< $(Q)sed -i -e's/^\.als /.\\" .als /' $@ @@ -28,6 +28,6 @@ pi500_clean: -rm -f hal/user_comps/pi500_vfd/pi500_vfd.1 TARGETS += ../bin/pi500_vfd -GENERATED_MANPAGES += ../docs/man/man1/pi500_vfd.1 +GENERATED_MANPAGES += ../docs/build/man/man1/pi500_vfd.1 endif diff --git a/src/hal/user_comps/wj200_vfd/Submakefile b/src/hal/user_comps/wj200_vfd/Submakefile index a8b582a3e38..81a41e6442c 100644 --- a/src/hal/user_comps/wj200_vfd/Submakefile +++ b/src/hal/user_comps/wj200_vfd/Submakefile @@ -16,7 +16,7 @@ hal/user_comps/wj200_vfd/wj200_vfd.c: hal/user_comps/wj200_vfd/wj200_vfd.comp .. $(ECHO) "Preprocessing wj200_vfd.comp" $(Q)../bin/halcompile -U --preprocess $< -../docs/man/man1/wj200_vfd.1: hal/user_comps/wj200_vfd/wj200_vfd.comp ../bin/halcompile +../docs/build/man/man1/wj200_vfd.1: hal/user_comps/wj200_vfd/wj200_vfd.comp ../bin/halcompile @mkdir -p $(dir $@) objects/man/man1 $(Q)../bin/halcompile -U -u --document --keep-adoc=$@.adoc -o $@ $< $(Q)sed -i -e's/^\.als /.\\" .als /' $@ @@ -28,6 +28,6 @@ wj200_clean: -rm -f hal/user_comps/wj200_vfd/wj200_vfd.1 TARGETS += ../bin/wj200_vfd -GENERATED_MANPAGES += ../docs/man/man1/wj200_vfd.1 +GENERATED_MANPAGES += ../docs/build/man/man1/wj200_vfd.1 endif diff --git a/src/hal/utils/halcompile.g b/src/hal/utils/halcompile.g index fcce8c63297..ab5a38310ed 100644 --- a/src/hal/utils/halcompile.g +++ b/src/hal/utils/halcompile.g @@ -1308,7 +1308,7 @@ def main(): manpath = os.path.join(BASE, "share/man/man" + section) sharepath = manpath if not os.path.isdir(manpath): - manpath = os.path.join(BASE, "docs/man/man" + section) + manpath = os.path.join(BASE, "docs/build/man/man" + section) if not os.path.isdir(manpath): raise SystemExit("Error: directory '%s' (nor alternative '%s') found" % (sharepath, manpath)) outfile = os.path.join(manpath, basename + "." + section)