blob: 768349dfc70e0c463e6a0fe7dec2575d792b4018 [file] [log] [blame]
E. Scott Daniels392168d2019-11-06 15:12:38 -05001# vim: ts=4 noet sw=4:
2#==================================================================================
3# Copyright (c) 2019 Nokia
4# Copyright (c) 2018-2019 AT&T Intellectual Property.
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#==================================================================================
18
19# This is a stand-alone make file as the RTD documentation is NOT built and packaged
20# with the normal CMake process and thus isn't covered in the CMake files.
21
22# {X}fm is required to compile the source.
23
24
E. Scott Daniels4d1f9bf2020-03-06 12:29:28 -050025%.rst:: %.xfm man_list.im
E. Scott Daniels392168d2019-11-06 15:12:38 -050026 OUTPUT_TYPE=rst tfm $< | sed 's/^ //' >$@
27
E. Scott Daniels4d1f9bf2020-03-06 12:29:28 -050028%.ps:: %.xfm man_list.im
E. Scott Daniels392168d2019-11-06 15:12:38 -050029 OUTPUT_TYPE=ps pfm $< $@
30
E. Scott Daniels4d1f9bf2020-03-06 12:29:28 -050031%.txt:: %.xfm man_list.im
E. Scott Daniels392168d2019-11-06 15:12:38 -050032 OUTPUT_TYPE=txt tfm $< $@
33
E. Scott Daniels4d1f9bf2020-03-06 12:29:28 -050034%.md:: %.xfm man_list.im
E. Scott Daniels392168d2019-11-06 15:12:38 -050035 OUTPUT_TYPE=markdown tfm $< | sed 's/^ //' >$@
36
37docs = config-deploy developer-guide user-guide rel-notes overview
38
E. Scott Daniels190665f2019-12-09 09:05:22 -050039all:: $(docs:%=%.rst) $(docs:%=%.txt) $(docs:%=%.md)
E. Scott Daniels392168d2019-11-06 15:12:38 -050040
E. Scott Daniels4d1f9bf2020-03-06 12:29:28 -050041man_list.im:: always
42 bash gen_man_list.sh >man_list.im
43
E. Scott Daniels190665f2019-12-09 09:05:22 -050044rel-notes.xfm: ../../../CHANGES
E. Scott Daniels392168d2019-11-06 15:12:38 -050045 ksh fmt_changes.ksh >rel-notes.xfm
46
E. Scott Daniels4d1f9bf2020-03-06 12:29:28 -050047
E. Scott Daniels190665f2019-12-09 09:05:22 -050048# we force the docs to always be out of date so that we don't have to
49# manage the list of man pages and other files that are read to generate the
50# output needed for RTD.
51#
52$(docs:%=%.rst): always
53$(docs:%=%.txt): always
54$(docs:%=%.md): always
55
56
E. Scott Daniels392168d2019-11-06 15:12:38 -050057# copy the .rst files which have changed into the docs (plural) directory at the root of the repo
58publish : $(docs:%=%.rst)
59 for f in *.rst;\
60 do\
61 if ! diff -N -q $$f ../../../docs/$$f >/dev/null 2>&1;\
62 then\
63 cp -p $$f ../../../docs/;\
64 fi;\
65 done
66
E. Scott Daniels190665f2019-12-09 09:05:22 -050067# just list what would be published
68verify : $(docs:%=%.rst)
69 for f in *.rst;\
70 do\
71 if ! diff -N -q $$f ../../../docs/$$f >/dev/null 2>&1;\
72 then\
73 echo "$$f would be published";\
74 fi;\
75 done
76
E. Scott Daniels392168d2019-11-06 15:12:38 -050077# ditch any intermediate files
78clean:
79 rm -f rel-notes.xfm *.sp *.ca
80
81# ditch anything that can be rebuilt
82nuke: clean
83 rm -f *.ps *.pdf *.rst *.md
84
E. Scott Daniels190665f2019-12-09 09:05:22 -050085# make hack to force a rule to always be out of date
86always: