1 #==================================================================================
2 # Copyright (c) 2020 Nokia
3 # Copyright (c) 2020 AT&T Intellectual Property.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #==================================================================================
18 # this uses {X}fm which can be cloned from: https://gitlab.com/rouxware/xfm
22 imbed_src = cpp_frame.im example1.im example2.im example3.im
25 # use care: the output type is used to source the macros based on the type
26 # of output being rendered.
27 # Two pass builds allow for table of contents gen/insert, forward var
31 OUTPUT_TYPE=generic_ps XFM_PASS=1 pfm $< /dev/null
32 OUTPUT_TYPE=generic_ps XFM_PASS=2 pfm $< $@
35 OUTPUT_TYPE=markdown XFM_PASS=1 tfm $< /dev/null
36 OUTPUT_TYPE=markdown XFM_PASS=2 tfm $< | sed 's/^ //' >$@
39 OUTPUT_TYPE=rst XFM_PASS=1 tfm $< /dev/null
40 GEN_TITLE=1 OUTPUT_TYPE=rst XFM_PASS=2 tfm $< | sed 's/^ //' >$@
43 OUTPUT_TYPE=txt XFM_PASS=1 tfm $< /dev/null
44 OUTPUT_TYPE=txt XFM_PASS=2 tfm $< $@
46 # -----------------------------------------------------------------------------------
47 all: $(desired_out:%=user_guide.%)
49 user_guide.ps: user_guide.xfm $(imbed_src)
51 # we force the .rst docs to always be out of date so that we don't have to
52 # jump hoops to ensure that they build for make publish. (See hack rule
53 # at the end of the file.)
55 $(docs:%=%.rst): always
57 publish: user_guide.rst
58 cp *.rst ../../../docs/
60 # intermeidate junk that might straggle
62 rm -fr *.bcnfile *.ca *.ecnfile *.sp
64 # Destroy anything that can be built
66 rm -fr *.md *.ps *.pdf *.txt *.rst *.toc
68 # make hack to force a rule to always be out of date