Files
lammps/doc/Makefile
Richard Berger 1986eda4d5 Remove no longer needed generated files in doc
If we use the Google Custom Search API, we do not need to keep the
generated searchindex.js file anymore. We also can safely remove
the _sources directory for good.

Since these get generated during each Sphinx build, additional
steps have been added to the Makefile to get rid of them. They
are also added to .gitignore to avoid commiting them by accident.
2016-08-31 00:36:56 -04:00

88 lines
2.2 KiB
Makefile

# Makefile for LAMMPS documentation
SHA1 = $(shell echo $USER-$PWD | python utils/sha1sum.py)
BUILDDIR = /tmp/lammps-docs-$(SHA1)
RSTDIR = $(BUILDDIR)/rst
VENV = $(BUILDDIR)/docenv
TXT2RST = $(VENV)/bin/txt2rst
PYTHON = $(shell which python3)
ifeq ($(shell which python3 >/dev/null 2>&1; echo $$?), 1)
$(error Python3 was not found! Please check README.md for further instructions)
endif
ifeq ($(shell which virtualenv >/dev/null 2>&1; echo $$?), 1)
$(error virtualenv was not found! Please check README.md for further instructions)
endif
SOURCES=$(wildcard src/*.txt)
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
.PHONY: help clean-all clean html pdf venv
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make HTML version of documentation using Sphinx"
@echo " pdf to make Manual.pdf"
@echo " txt2html to build txt2html tool"
@echo " clean to remove all generated RST files"
@echo " clean-all to reset the entire build environment"
clean-all:
rm -rf $(BUILDDIR)/* utils/txt2html/txt2html.exe
clean:
rm -rf $(RSTDIR)
txt2html: utils/txt2html/txt2html.exe
html: $(OBJECTS)
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
deactivate ;\
)
-rm html/searchindex.js
-rm -rf html/_sources
@echo "Build finished. The HTML pages are in doc/html."
pdf: utils/txt2html/txt2html.exe
@(\
cd src; \
../utils/txt2html/txt2html.exe -b *.txt; \
htmldoc --batch ../lammps.book; \
for s in `echo *.txt | sed -e 's,\.txt,\.html,g'` ; \
do grep -q $$s ../lammps.book || \
echo doc file $$s missing in lammps.book; done; \
rm *.html; \
)
utils/txt2html/txt2html.exe: utils/txt2html/txt2html.cpp
g++ -O -Wall -o $@ $<
$(RSTDIR)/%.rst : src/%.txt $(TXT2RST)
@(\
mkdir -p $(RSTDIR) ; \
. $(VENV)/bin/activate ;\
txt2rst $< > $@ ;\
deactivate ;\
)
$(VENV):
@( \
virtualenv -p $(PYTHON) $(VENV); \
. $(VENV)/bin/activate; \
pip install Sphinx; \
pip install sphinxcontrib-images; \
deactivate;\
)
$(TXT2RST): $(VENV)
@( \
. $(VENV)/bin/activate; \
(cd utils/converters;\
python setup.py develop);\
deactivate;\
)