mirror of https://github.com/python/cpython
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)
|