mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
including the howtos in the build process. * Put LaTeX output in ../paper-<whatever>/. * Put HTML output in ../html/ * Explain some of the Makefile variables * Remove some cruft dating to my environment (e.g. the 'web' target) This makefile isn't currently invoked by the documentation build process, so these changes won't destabilize anything.
85 lines
2.0 KiB
Makefile
85 lines
2.0 KiB
Makefile
# Makefile for the HOWTO directory
|
|
# LaTeX HOWTOs can be turned into HTML, PDF, PS, DVI or plain text output.
|
|
# reST HOWTOs can only be turned into HTML.
|
|
|
|
# Variables to change
|
|
|
|
# Paper size for non-HTML formats (letter or a4)
|
|
PAPER=letter
|
|
|
|
# Arguments to rst2html.py, and location of the script
|
|
RSTARGS = --input-encoding=utf-8
|
|
RST2HTML = rst2html.py
|
|
|
|
# List of HOWTOs that aren't to be processed. This should contain the
|
|
# base name of the HOWTO without any extension (e.g. 'advocacy',
|
|
# 'unicode').
|
|
REMOVE_HOWTOS =
|
|
|
|
MKHOWTO=../tools/mkhowto
|
|
WEBDIR=.
|
|
PAPERDIR=../paper-$(PAPER)
|
|
HTMLDIR=../html
|
|
|
|
# Determine list of files to be built
|
|
TEX_SOURCES = $(wildcard *.tex)
|
|
RST_SOURCES = $(wildcard *.rst)
|
|
TEX_NAMES = $(filter-out $(REMOVE_HOWTOS),$(patsubst %.tex,%,$(TEX_SOURCES)))
|
|
|
|
PAPER_PATHS=$(addprefix $(PAPERDIR)/,$(TEX_NAMES))
|
|
DVI =$(addsuffix .dvi,$(PAPER_PATHS))
|
|
PDF =$(addsuffix .pdf,$(PAPER_PATHS))
|
|
PS =$(addsuffix .ps,$(PAPER_PATHS))
|
|
|
|
ALL_HOWTO_NAMES = $(TEX_NAMES) $(patsubst %.rst,%,$(RST_SOURCES))
|
|
HOWTO_NAMES = $(filter-out $(REMOVE_HOWTOS),$(ALL_HOWTO_NAMES))
|
|
HTML = $(addprefix $(HTMLDIR)/,$(HOWTO_NAMES))
|
|
|
|
# Rules for building various formats
|
|
|
|
# reST to HTML
|
|
$(HTMLDIR)/%: %.rst
|
|
if [ ! -d $@ ] ; then mkdir $@ ; fi
|
|
$(RST2HTML) $(RSTARGS) $< >$@/index.html
|
|
|
|
# LaTeX to various output formats
|
|
$(PAPERDIR)/%.dvi : %.tex
|
|
$(MKHOWTO) --dvi $<
|
|
mv $*.dvi $@
|
|
|
|
$(PAPERDIR)/%.pdf : %.tex
|
|
$(MKHOWTO) --pdf $<
|
|
mv $*.pdf $@
|
|
|
|
$(PAPERDIR)/%.ps : %.tex
|
|
$(MKHOWTO) --ps $<
|
|
mv $*.ps $@
|
|
|
|
$(HTMLDIR)/% : %.tex
|
|
$(MKHOWTO) --html --iconserver="." --dir $@ $<
|
|
|
|
# Rule that isn't actually used -- we no longer support the 'txt' target.
|
|
$(PAPERDIR)/%.txt : %.tex
|
|
$(MKHOWTO) --text $<
|
|
mv $@ txt
|
|
|
|
default:
|
|
@echo "'all' -- build all files"
|
|
@echo "'dvi', 'pdf', 'ps', 'html' -- build one format"
|
|
|
|
all: dvi pdf ps html
|
|
|
|
.PHONY : dvi pdf ps html
|
|
dvi: $(DVI)
|
|
pdf: $(PDF)
|
|
ps: $(PS)
|
|
html: $(HTML)
|
|
|
|
clean:
|
|
rm -f *~ *.log *.ind *.l2h *.aux *.toc *.how *.bkm
|
|
rm -f *.dvi *.pdf *.ps
|
|
|
|
clobber:
|
|
rm -rf $(HTML)
|
|
rm -rf $(DVI) $(PDF) $(PS)
|