From a3706d84be1fbb37fb6dccaa1a1f9444620b48c5 Mon Sep 17 00:00:00 2001 From: sylvain tricot Date: Tue, 23 Feb 2021 10:26:22 +0100 Subject: [PATCH] Update Makefile doc rule. --- Makefile | 24 +++++++------- doc/SConstruct | 88 -------------------------------------------------- 2 files changed, 11 insertions(+), 101 deletions(-) delete mode 100644 doc/SConstruct diff --git a/Makefile b/Makefile index c8e4e4d..90a5237 100644 --- a/Makefile +++ b/Makefile @@ -28,31 +28,29 @@ devel: venv pybinding wx wx: - @echo "Building wxPython for your `python --version` under Linux $(DISTRO_RELEASE)..." + @$(INSIDE_VENV) echo "Building wxPython for your `python --version 2>&1` under Linux $(DISTRO_RELEASE)..." # Create a folder to build wx into @mkdir -p _build_wx # download the wheel or the source if it cannot find a wheel @$(INSIDE_VENV) cd _build_wx && pip download -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/$(DISTRO_RELEASE) wxPython # Build the source if a tar.gz was downloaded @$(INSIDE_VENV) cd _build_wx && \ - if [ -e wxPython*.tar.gz ]; then \ - tar -x --skip-old-files -vzf wxPython*.tar.gz; \ - cd `ls -d wxPython*/`; \ - pip install requests; \ - python build.py dox etg --nodoc sip build bdist_wheel; \ - ln -s `readlink -f dist/wxPython*.whl` ../; \ - fi; + if [ -e wxPython*.tar.gz ]; then \ + tar -x --skip-old-files -vzf wxPython*.tar.gz; \ + cd `ls -d wxPython*/`; \ + pip install requests; \ + python build.py dox etg --nodoc sip build bdist_wheel; \ + ln -s `readlink -f dist/wxPython*.whl` ../; \ + fi; # Install the wheel @$(INSIDE_VENV) cd _build_wx && pip install wxPython*.whl doc: @echo "Building pdf and html documentation..." - @mkdir -p package/ - @+$(MAKE) -C doc/ latexpdf - @rm -rf package/*.pdf - @cp "doc/build/latex/MsSpec-python.pdf" "./package/MsSpec-$(VERSION).pdf" - @+$(MAKE) -C doc/ html + @$(INSIDE_VENV) pip install sphinx + @+$(INSIDE_VENV) $(MAKE) -C doc/ latexpdf + @+$(INSIDE_VENV) $(MAKE) -C doc/ html clean:: diff --git a/doc/SConstruct b/doc/SConstruct deleted file mode 100644 index ae9adb7..0000000 --- a/doc/SConstruct +++ /dev/null @@ -1,88 +0,0 @@ -# SCons file for Sphinx -import sys -sys.path.append('./source') - -import subprocess -from pathlib import Path -from sphinx.cmd.build import main as sphinx_build - -import custom - - -doc = Environment( - # You can set these variables from the command line. - SPHINXOPTS = "", - SPHINXBUILD = "sphinx-build", - PAPER = "", - BUILDDIR = "build") - -# Internal variables. -PAPEROPT_a4 = "-D latex_elements.papersize=a4paper" -#PAPEROPT_a4 = "-D latex_paper_size=a4" -#PAPEROPT_letter = "-D latex_paper_size=letter" -ALLSPHINXOPTS = f"-d {doc['BUILDDIR']}/doctrees {PAPEROPT_a4} {doc['SPHINXOPTS']} source" -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = "{PAPEROPT_a4} {SPHINXOPTS} source" - -# create the banner of the website -banner_src = "./source/title_template.svg" -banner_tgt = "./source/title.svg" -def build_banner(env, target, source): - custom.modify_banner(str(source[0]), str(target[0])) -banner = doc.Command(banner_tgt, banner_src, Action(build_banner, "Creating the website banner...")) -doc.Alias('banner', banner) - -# convert *.svg and *.gif to *.png -# first find all of them -src_dir = Path('./source') -svg_pictures = list(src_dir.glob('**/*.svg')) -gif_pictures = list(src_dir.glob('**/*.gif')) -# conversion -pictures = [] -for f in svg_pictures + banner: - pictures += doc.Command(str(f).replace('.svg', '.png'), str(f), - Action("convert -background none -density 150 $SOURCE $TARGET", - "Converting $SOURCE to PNG...")) - -for f in gif_pictures: - pictures += doc.Command(str(f).replace('.gif', '.png'), str(f), - Action("convert -background none -density 150 $SOURCE[0] $TARGET", - "Converting $SOURCE to PNG...")) -doc.Alias('pictures', pictures) -Depends(pictures, banner) - -# html -def html_builder(env, target, source): - return sphinx_build(f"-b html {ALLSPHINXOPTS} {doc['BUILDDIR']}/html".split()) - -html = doc.Command("html.target", [], Action(html_builder, "Building html...")) -Depends(html, [banner, pictures]) -AlwaysBuild(html) -Clean(html, f"{doc['BUILDDIR']}/html") -doc.Alias('html', html) - -# generate sitemap.xml -t = f"{doc['BUILDDIR']}/html/sitemap.xml" -cmd = f"python source/sitemap-generate.py --url https://msspec.cnrs.fr --path {doc['BUILDDIR']}/html {t}" -sitemap = doc.Command(t, [], cmd)#Action(cmd, "Generating sitemap.xml...")) -Depends(sitemap, html) -doc.Alias('html', sitemap) - -# install ownership -t = f"{doc['BUILDDIR']}/html" -s = Glob('source/google*.html') -ownership = doc.Install(t, s) -Depends(ownership, html) -doc.Alias('html', ownership) - -# LaTeX PDF -def latexpdf_builder(env, target, source): - rc = sphinx_build(f"-b latex {ALLSPHINXOPTS} {doc['BUILDDIR']}/latex".split()) - if rc == 0: - subprocess.call(f"make -C {doc['BUILDDIR']}/latex all-pdf".split()) - -latexpdf = doc.Command("latexpdf.target", [], Action(latexpdf_builder, "Building LaTeX PDF...")) -Depends(latexpdf, [banner, pictures]) -AlwaysBuild(latexpdf) -Clean(latexpdf, f"{doc['BUILDDIR']}/latex") -doc.Alias('latexpdf', latexpdf)