Skip to content

Commit c96d8b4

Browse files
committed
Use new Makefile
1 parent 8c6c57e commit c96d8b4

File tree

1 file changed

+191
-31
lines changed

1 file changed

+191
-31
lines changed

Diff for: doc/Makefile

+191-31
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,194 @@
1+
# Makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
PAPER =
8+
BUILDDIR = build
9+
BASENAME = $(subst .,,$(subst $() $(),,diffpy.srfit))
10+
11+
# User-friendly check for sphinx-build
12+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
13+
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
14+
endif
15+
16+
# Internal variables.
17+
PAPEROPT_a4 = -D latex_paper_size=a4
18+
PAPEROPT_letter = -D latex_paper_size=letter
19+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
20+
# the i18n builder cannot share the environment and doctrees with the others
21+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
22+
23+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
24+
25+
help:
26+
@echo "Please use \`make <target>' where <target> is one of"
27+
@echo " html to make standalone HTML files"
28+
@echo " dirhtml to make HTML files named index.html in directories"
29+
@echo " singlehtml to make a single large HTML file"
30+
@echo " pickle to make pickle files"
31+
@echo " json to make JSON files"
32+
@echo " htmlhelp to make HTML files and a HTML help project"
33+
@echo " qthelp to make HTML files and a qthelp project"
34+
@echo " devhelp to make HTML files and a Devhelp project"
35+
@echo " epub to make an epub"
36+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
38+
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39+
@echo " text to make text files"
40+
@echo " man to make manual pages"
41+
@echo " texinfo to make Texinfo files"
42+
@echo " info to make Texinfo files and run them through makeinfo"
43+
@echo " gettext to make PO message catalogs"
44+
@echo " changes to make an overview of all changed/added/deprecated items"
45+
@echo " xml to make Docutils-native XML files"
46+
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
47+
@echo " linkcheck to check all external links for integrity"
48+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
149

2-
all: doc examples upload
3-
4-
RELEASE = alpha9
5-
6-
DOCROOT = ~/docroot/diffraction/
7-
PKGROOT = ~/dev_danse_us/
8-
9-
.PHONY : doc
10-
doc:
11-
epydoc diffpy.srfit --html -vvv -o diffpy.srfitapi -n diffpy.srfit \
12-
--include-log --exclude diffpy.srfit.structure.cctbxstructure $@
13-
$(MAKE) -C devmanual $@
14-
15-
.PHONY : upload
16-
upload:
17-
rsync -ruvz --delete diffpy.srfitapi $(TARGET):$(DOCROOT)
18-
ssh $(TARGET) "rm -rf $(DOCROOT)/diffpy.srfitapi-$(RELEASE)"
19-
ssh $(TARGET) "cp -r $(DOCROOT)/diffpy.srfitapi $(DOCROOT)/diffpy.srfitapi-$(RELEASE)"
20-
rsync -ruv srfit_examples.zip $(TARGET):$(PKGROOT)
21-
ssh $(TARGET) "rm -rf $(PKGROOT)/srfit_examples-$(RELEASE).zip"
22-
ssh $(TARGET) "cp -r $(PKGROOT)/srfit_examples.zip $(PKGROOT)/srfit_examples-$(RELEASE).zip"
23-
$(MAKE) -C devmanual $@
24-
25-
.PHONY : examples
26-
examples:
27-
zip -r srfit_examples.zip ./examples/*.py ./examples/data -x \*svn\* -x \*threedoublepeaks\* -x \*temp\* -x \*test\*
28-
29-
.PHONY : clean
3050
clean:
31-
rm -rf diffpy.srfitapi
32-
rm -f srfit_examples.zip
33-
$(MAKE) -C devmanual $@
51+
rm -rf $(BUILDDIR)/*
52+
53+
html:
54+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
55+
@echo
56+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
57+
58+
dirhtml:
59+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
60+
@echo
61+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
62+
63+
singlehtml:
64+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
65+
@echo
66+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
67+
68+
pickle:
69+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
70+
@echo
71+
@echo "Build finished; now you can process the pickle files."
72+
73+
json:
74+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
75+
@echo
76+
@echo "Build finished; now you can process the JSON files."
77+
78+
htmlhelp:
79+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
80+
@echo
81+
@echo "Build finished; now you can run HTML Help Workshop with the" \
82+
".hhp project file in $(BUILDDIR)/htmlhelp."
83+
84+
qthelp:
85+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
86+
@echo
87+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
88+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
89+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/$(BASENAME).qhcp"
90+
@echo "To view the help file:"
91+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/$(BASENAME).qhc"
92+
93+
devhelp:
94+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
95+
@echo
96+
@echo "Build finished."
97+
@echo "To view the help file:"
98+
@echo "# mkdir -p $$HOME/.local/share/devhelp/$(BASENAME)"
99+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/$(BASENAME)"
100+
@echo "# devhelp"
101+
102+
epub:
103+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
104+
@echo
105+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
106+
107+
latex:
108+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
109+
@echo
110+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
111+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
112+
"(use \`make latexpdf' here to do that automatically)."
113+
114+
latexpdf:
115+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
116+
@echo "Running LaTeX files through pdflatex..."
117+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
118+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
119+
120+
latexpdfja:
121+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
122+
@echo "Running LaTeX files through platex and dvipdfmx..."
123+
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
124+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
125+
126+
text:
127+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
128+
@echo
129+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
130+
131+
man:
132+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
133+
@echo
134+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
135+
136+
texinfo:
137+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
138+
@echo
139+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
140+
@echo "Run \`make' in that directory to run these through makeinfo" \
141+
"(use \`make info' here to do that automatically)."
142+
143+
info:
144+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
145+
@echo "Running Texinfo files through makeinfo..."
146+
make -C $(BUILDDIR)/texinfo info
147+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
148+
149+
gettext:
150+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
151+
@echo
152+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
153+
154+
changes:
155+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
156+
@echo
157+
@echo "The overview file is in $(BUILDDIR)/changes."
158+
159+
linkcheck:
160+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
161+
@echo
162+
@echo "Link check complete; look for any errors in the above output " \
163+
"or in $(BUILDDIR)/linkcheck/output.txt."
164+
165+
doctest:
166+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
167+
@echo "Testing of doctests in the sources finished, look at the " \
168+
"results in $(BUILDDIR)/doctest/output.txt."
169+
170+
# Manual publishing to the gh-pages branch
171+
172+
GITREPOPATH = $(shell cd $(CURDIR) && git rev-parse --git-dir)
173+
GITREMOTE = origin
174+
GITREMOTEURL = $(shell git config --get remote.$(GITREMOTE).url)
175+
GITLASTCOMMIT = $(shell git rev-parse --short HEAD)
34176

177+
publish:
178+
@test -d build/html || \
179+
( echo >&2 "Run 'make html' first!"; false )
180+
git show-ref --verify --quiet refs/heads/gh-pages || \
181+
git branch --track gh-pages $(GITREMOTE)/gh-pages
182+
test -d build/gh-pages || \
183+
git clone -s -b gh-pages $(GITREPOPATH) build/gh-pages
184+
cd build/gh-pages && \
185+
git pull $(GITREMOTEURL) gh-pages
186+
rsync -acv --delete --exclude=.git --exclude=.rsync-exclude \
187+
--exclude-from=build/gh-pages/.rsync-exclude \
188+
--link-dest=$(CURDIR)/build/html build/html/ build/gh-pages/
189+
cd build/gh-pages && \
190+
git add --all . && \
191+
git diff --cached --quiet || \
192+
git commit -m "Sync with the source at $(GITLASTCOMMIT)."
193+
cd build/gh-pages && \
194+
git push origin gh-pages

0 commit comments

Comments
 (0)