Skip to content

Commit

Permalink
Update Makefiles for Sphinx to Documenter.jl changes
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelHatherly committed Sep 23, 2016
1 parent 07e9805 commit 48731a5
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 189 deletions.
25 changes: 2 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,7 @@ julia-debug julia-release : julia-% : julia-ui-% julia-sysimg-% julia-symlink ju

debug release : % : julia-%

julia-genstdlib: julia-sysimg-$(JULIA_BUILD_MODE)
@$(call PRINT_JULIA, $(JULIA_EXECUTABLE) $(call cygpath_w, $(JULIAHOME)/doc/genstdlib.jl))

docs: julia-genstdlib
docs: julia-sysimg-$(JULIA_BUILD_MODE)
@$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/doc

check-whitespace:
Expand All @@ -120,27 +117,9 @@ endif

release-candidate: release testall
@$(JULIA_EXECUTABLE) $(JULIAHOME)/contrib/add_license_to_files.jl #add license headers
@$(JULIA_EXECUTABLE) $(JULIAHOME)/doc/genstdlib.jl
@#Check documentation
@$(JULIA_EXECUTABLE) $(JULIAHOME)/doc/NEWS-update.jl #Add missing cross-references to NEWS.md
@$(MAKE) -C $(BUILDROOT)/doc unicode #Rebuild Unicode table if necessary
@$(JULIA_EXECUTABLE) $(JULIAHOME)/doc/DocCheck.jl > $(BUILDROOT)/doc/UNDOCUMENTED.rst 2>&1 #Check for undocumented items
@if [ -z "$(cat $(BUILDROOT)/doc/UNDOCUMENTED.rst)" ]; then \
rm $(BUILDROOT)/doc/UNDOCUMENTED.rst; \
else \
echo "Undocumented functions found in doc/UNDOCUMENTED.rst; document them, then retry"; \
exit 1; \
fi
@$(MAKE) -C $(BUILDROOT)/doc html SPHINXOPTS="-n" #Rebuild Julia HTML docs pedantically
@$(MAKE) -C $(BUILDROOT)/doc latex SPHINXOPTS="-n" #Rebuild Julia PDF docs pedantically
@$(MAKE) -C $(BUILDROOT)/doc doctest #Run Julia doctests
@$(MAKE) -C $(BUILDROOT)/doc linkcheck #Check all links

@# Check to see if the above make invocations changed anything important
@if [ -n "$$(git status --porcelain)" ]; then \
echo "Git repository dirty; Verify and commit changes to the repository, then retry"; \
exit 1; \
fi
@$(MAKE) -C $(BUILDROOT)/doc html

@#Check that benchmarks work
@$(MAKE) -C $(BUILDROOT)/test/perf
Expand Down
173 changes: 7 additions & 166 deletions doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,185 +3,26 @@
default: html

# You can set these variables from the command line.
SPHINXOPTS :=
PAPER :=
SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
BUILDDIR := .
JULIAHOME := $(abspath $(SRCDIR)/..)
JULIA_EXECUTABLE := $(JULIAHOME)/usr/bin/julia

# Internal variables.
PAPEROPT_a4 := -D latex_paper_size=a4
PAPEROPT_letter := -D latex_paper_size=letter
ALLSPHINXOPTS := -d $(BUILDDIR)/_build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SRCDIR)
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS := $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

ifeq ($(abspath .),$(abspath $(SRCDIR)))
JULIA_ENV := $(BUILDDIR)/../deps/scratch/julia-env
else
JULIA_ENV := $(BUILDDIR)/../deps/julia-env
endif
ACTIVATE := $(JULIA_ENV)/bin/activate
SPHINX_BUILD := $(JULIA_ENV)/bin/sphinx-build

$(ACTIVATE):
$(MAKE) -C $(BUILDDIR)/../deps install-virtualenv
touch -c $@

$(SPHINX_BUILD): $(SRCDIR)/requirements.txt $(ACTIVATE)
. $(ACTIVATE) && pip install sphinx==1.4.5 \
&& pip install -r $<
touch -c $@

SPHINXBUILD = . $(ACTIVATE) && sphinx-build

.PHONY: help clean cleanall html dirhtml singlehtml pickle json htmlhelp qthelp devhelp \
epub latex latexpdf text man changes linkcheck doctest gettext
.PHONY: help clean cleanall html

help:
@echo "Please use 'make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"

clean:
-rm -rf _build/*

cleanall: clean

html: $(SPHINX_BUILD)
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/_build/html
@echo
html: deps
@echo "Building HTML documentation."
$(JULIA_EXECUTABLE) $(JULIAHOME)/doc/make.jl
@echo "Build finished. The HTML pages are in _build/html."

dirhtml: $(SPHINX_BUILD)
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/_build/dirhtml
@echo
@echo "Build finished. The HTML pages are in _build/dirhtml."

singlehtml: $(SPHINX_BUILD)
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/_build/singlehtml
@echo
@echo "Build finished. The HTML page is in _build/singlehtml."

pickle: $(SPHINX_BUILD)
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/_build/pickle
@echo
@echo "Build finished; now you can process the pickle files."

json: $(SPHINX_BUILD)
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/_build/json
@echo
@echo "Build finished; now you can process the JSON files."

htmlhelp: $(SPHINX_BUILD)
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/_build/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in _build/htmlhelp."

qthelp: $(SPHINX_BUILD)
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/_build/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in _build/qthelp, like this:"
@echo "# qcollectiongenerator _build/qthelp/JuliaLanguage.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile _build/qthelp/JuliaLanguage.qhc"

devhelp: $(SPHINX_BUILD)
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/_build/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/JuliaLanguage"
@echo "# ln -s _build/devhelp $$HOME/.local/share/devhelp/JuliaLanguage"
@echo "# devhelp"

epub: $(SPHINX_BUILD)
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/_build/epub
@echo
@echo "Build finished. The epub file is in _build/epub."

latex: $(SPHINX_BUILD)
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/_build/latex
@echo
@echo "Build finished; the LaTeX files are in _build/latex."
@echo "Run 'make' in that directory to run these through (pdf)latex" \
"(use 'make latexpdf' here to do that automatically)."

latexpdf: $(SPHINX_BUILD)
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/_build/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C _build/latex all-pdf
@echo "pdflatex finished; the PDF files are in _build/latex."

text: $(SPHINX_BUILD)
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/_build/text
@echo
@echo "Build finished. The text files are in _build/text."

man: $(SPHINX_BUILD)
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/_build/man
@echo
@echo "Build finished. The manual pages are in _build/man."

texinfo: $(SPHINX_BUILD)
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/_build/texinfo
@echo
@echo "Build finished. The Texinfo files are in _build/texinfo."
@echo "Run 'make' in that directory to run these through makeinfo" \
"(use 'make info' here to do that automatically)."

info: $(SPHINX_BUILD)
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/_build/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C _build/texinfo info
@echo "makeinfo finished; the Info files are in _build/texinfo."

gettext: $(SPHINX_BUILD)
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/_build/locale
@echo
@echo "Build finished. The message catalogs are in _build/locale."

changes: $(SPHINX_BUILD)
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/_build/changes
@echo
@echo "The overview file is in _build/changes."

linkcheck: $(SPHINX_BUILD)
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/_build/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in _build/linkcheck/output.txt."

doctest: $(SPHINX_BUILD)
PATH="$(build_bindir):$(PATH)" $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/_build/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in _build/doctest/output.txt."

$(BUILDDIR)/manual:
mkdir -p $@

$(BUILDDIR)/manual/unicode-input-table.rst: $(SRCDIR)/tabcomplete.jl $(JULIAHOME)/base/latex_symbols.jl | $(BUILDDIR)/manual
$(JULIA_EXECUTABLE) $< > $@

unicode: $(BUILDDIR)/manual/unicode-input-table.rst

deps:
@echo "Installing documentation dependencies."
$(JULIA_EXECUTABLE) -e 'Pkg.installed("Documenter") === nothing && Pkg.add("Documenter")'

0 comments on commit 48731a5

Please sign in to comment.