blob: b500d0894179e43a33a516336be5f16550daf85d [file] [log] [blame] [edit]
NAME = NanoWasm
SPECTECDIR = ../..
SPECTEC = $(SPECTECDIR)/spectec
SPHINX = sphinx-build
BUILDDIR = _build
# Menu
default:
@echo "Targets available:"
@echo "make check (run SpecTec)"
@echo "make rst (run SpecTec splicing)"
@echo "make html (run SpecTec + Sphinx)"
@echo "make latex (run SpecTec + Sphinx)"
@echo "make pdf (run SpecTec + Sphinx + Latex)"
@echo "make all (run everything)"
@echo "make out (run everything and update output directory)"
@echo "make spectec (build updir SpecTec)"
all: rst html latex pdf
# Building SpecTec itself
spectec:
(cd $(SPECTECDIR); make exe >/dev/null)
# Running SpecTec
check: $(NAME).spectec
$(SPECTEC) $(NAME).spectec
# Running SpecTec splicing
RSTFILE = $(NAME).rst
rst: $(RSTFILE)
$(RSTFILE): $(NAME).rst.in $(NAME).spectec
$(SPECTEC) $(NAME).spectec --splice-sphinx -p $< -o $@
# Running Sphinx
HTMLFILE = $(BUILDDIR)/html/$(NAME).html
TEXFILE = $(BUILDDIR)/latex/$(NAME).tex
html: $(HTMLFILE)
$(HTMLFILE): $(RSTFILE) conf.py
$(SPHINX) -b html -d $(BUILDDIR)/doctrees . $(BUILDDIR)/html
latex: $(TEXFILE)
$(TEXFILE): $(RSTFILE) conf.py
$(SPHINX) -b latex -d $(BUILDDIR)/doctrees . $(BUILDDIR)/latex
# Running Latex
PDFFILE = $(BUILDDIR)/latex/$(NAME).pdf
pdf: $(PDFFILE)
$(PDFFILE): $(TEXFILE)
$(MAKE) -C $(BUILDDIR)/latex LATEXMKOPTS=" </dev/null" all-pdf
# Copying to output directory
out: $(PDFFILE) $(HTMLFILE)
cp -rf $^ output
# Clean-up
clean:
rm -f $(NAME).rst
rm -rf $(BUILDDIR)