Note: We no longer publish the latest version of our code here. We primarily use a kumc-bmi github organization. The heron ETL repository, in particular, is not public. Peers in the informatics community should see MultiSiteDev for details on requesting access.

source: heron_load/devdoc/Makefile @ 0:42ad7288920a

heron-michigan tip
Last change on this file since 0:42ad7288920a was 0:42ad7288920a, checked in by Matt Hoag <mhoag@…>, 6 years ago

Merge with demo_concepts_3800

File size: 6.1 KB
Line 
1# Makefile for Sphinx documentation
2#
3
4# You can set these variables from the command line.
5SPHINXOPTS    =
6SPHINXBUILD   = sphinx-build
7PAPER         =
8BUILDDIR      = _build
9
10# Internal variables.
11PAPEROPT_a4     = -D latex_paper_size=a4
12PAPEROPT_letter = -D latex_paper_size=letter
13ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14
15.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
16
17RSYNC=rsync
18publish: html
19        $(RSYNC) -av _build/html/ informatics.kumc.edu:/usr/local/apache2/htdocs-informatics/devdoc/heron_load/
20
21help:
22        @echo "Please use \`make <target>' where <target> is one of"
23        @echo "  html       to make standalone HTML files"
24        @echo "  dirhtml    to make HTML files named index.html in directories"
25        @echo "  singlehtml to make a single large HTML file"
26        @echo "  pickle     to make pickle files"
27        @echo "  json       to make JSON files"
28        @echo "  htmlhelp   to make HTML files and a HTML help project"
29        @echo "  qthelp     to make HTML files and a qthelp project"
30        @echo "  devhelp    to make HTML files and a Devhelp project"
31        @echo "  epub       to make an epub"
32        @echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
33        @echo "  latexpdf   to make LaTeX files and run them through pdflatex"
34        @echo "  text       to make text files"
35        @echo "  man        to make manual pages"
36        @echo "  changes    to make an overview of all changed/added/deprecated items"
37        @echo "  linkcheck  to check all external links for integrity"
38        @echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
39
40clean:
41        -rm -rf $(BUILDDIR)/*
42
43html:
44        $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
45        @echo
46        @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
47
48dirhtml:
49        $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
50        @echo
51        @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
52
53singlehtml:
54        $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
55        @echo
56        @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
57
58pickle:
59        $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
60        @echo
61        @echo "Build finished; now you can process the pickle files."
62
63json:
64        $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
65        @echo
66        @echo "Build finished; now you can process the JSON files."
67
68htmlhelp:
69        $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
70        @echo
71        @echo "Build finished; now you can run HTML Help Workshop with the" \
72              ".hhp project file in $(BUILDDIR)/htmlhelp."
73
74qthelp:
75        $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
76        @echo
77        @echo "Build finished; now you can run "qcollectiongenerator" with the" \
78              ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
79        @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/heron_load.qhcp"
80        @echo "To view the help file:"
81        @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/heron_load.qhc"
82
83devhelp:
84        $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
85        @echo
86        @echo "Build finished."
87        @echo "To view the help file:"
88        @echo "# mkdir -p $$HOME/.local/share/devhelp/heron_load"
89        @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/heron_load"
90        @echo "# devhelp"
91
92epub:
93        $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
94        @echo
95        @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
96
97latex:
98        $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
99        @echo
100        @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
101        @echo "Run \`make' in that directory to run these through (pdf)latex" \
102              "(use \`make latexpdf' here to do that automatically)."
103
104latexpdf:
105        $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
106        @echo "Running LaTeX files through pdflatex..."
107        make -C $(BUILDDIR)/latex all-pdf
108        @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
109
110text:
111        $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
112        @echo
113        @echo "Build finished. The text files are in $(BUILDDIR)/text."
114
115man:
116        $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
117        @echo
118        @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
119
120changes:
121        $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
122        @echo
123        @echo "The overview file is in $(BUILDDIR)/changes."
124
125linkcheck:
126        $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
127        @echo
128        @echo "Link check complete; look for any errors in the above output " \
129              "or in $(BUILDDIR)/linkcheck/output.txt."
130
131doctest:
132        $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
133        @echo "Testing of doctests in the sources finished, look at the " \
134              "results in $(BUILDDIR)/doctest/output.txt."
135
136SQL_SOURCES=../*.sql
137# STAT_ENV=$(HOME)/pyenv/sqlstat
138# PYTHON=$(STAT_ENV)/bin/python
139PYTHON=python
140etl-deps-test.csv: datadeps.py select_parser.py $(SQL_SOURCES)
141        ($(PYTHON) datadeps.py $(SQL_SOURCES) --csv) >$@ \
142        || rm $@
143
144
145TASK=heron_load
146OPEN=xdg-open
147view-sql-deps: sql-deps
148        $(OPEN) etl-deps-$(TASK).dot.svg
149
150sql-deps: etl-deps-$(TASK).dot.svg
151
152DOT=dot
153etl-deps-$(TASK).dot.svg: etl-deps-$(TASK).dot
154        $(DOT) -Tsvg -O etl-deps-$(TASK).dot
155
156etl-deps-$(TASK).dot: etl-deps-$(TASK).csv
157        $(PYTHON) datadeps.py etl-deps-$(TASK).csv --convert >$@ \
158        || rm $@
159
160WC=wc
161# TODO: parse CSV log rather than XML
162etl-deps-$(TASK).csv: datadeps.py ../,$(TASK).log
163        $(PYTHON) datadeps.py ../,$(TASK).log --codelog >$@ 2>,errs \
164        || rm $@
165        $(WC) $@ ,errs
166
167datadeps.py: select_parser.py
168
169#ETL_ENV=$(HOME)/pyenv/etl
170#PAVER=$(ETL_ENV)/bin/paver
171PAVER=paver
172../,$(TASK).log: $(SQL_SOURCES)
173        (cd ..; \
174        (cat heron-test.ini.example; \
175         echo '[id]'; echo 'fact_exceptions:'; \
176         echo '[logging]'; echo 'config: ,dep-log.ini') >,deps.ini; \
177        (cat heron-logging.ini; \
178         echo '[handler_detail]'; echo 'detail_log_file: ,$(TASK).log'; \
179         ) >,dep-log.ini; \
180        $(PAVER) --dry-run config=,deps.ini $(TASK) )
181
182PY_SOURCES=../*.py
183task-deps.csv: datadeps.py $(PY_SOURCES)
184        (cd ..; $(PYTHON) devdoc/datadeps.py *.py --csv) >$@ \
185        || rm $@
186
187task-deps.dot.pdf: task-deps.dot
188        $(DOT) -Tpdf -O task-deps.dot
189
190task-deps.dot.svg: task-deps.dot
191        $(DOT) -Tsvg -O task-deps.dot
192
193task-deps.dot: task-deps.csv
194        $(PYTHON) datadeps.py task-deps.csv --convert >$@ \
195        || rm $@
Note: See TracBrowser for help on using the repository browser.