# $Id: Makefile 609 2018-03-04 23:44:29Z jimhefferon $ # Public domain. Originally written 2006, Karl Berry. # Makefile for latexrefman. en_tex_output = latex2e.dvi latex2e.pdf es_tex_output = latex2e-es.dvi latex2e-es.pdf fr_tex_output = latex2e-fr.dvi latex2e-fr.pdf # xref_suffixes := ky cp vr fn cp pg tp xref_suffixes := $(xref_suffixes) $(addsuffix s,$(xref_suffixes)) xref_suffixes := aux log toc $(xref_suffixes) mi_suffixes = dbk html info txt xml en_mi_output = $(addprefix latex2e., $(mi_suffixes)) es_mi_output = $(addprefix latex2e-es., $(mi_suffixes)) fr_mi_output = $(addprefix latex2e-fr., $(mi_suffixes)) # all_suffixes = dvi pdf $(mi_suffixes) # how to build. # texi2dvi = texi2dvi --batch --tidy --build-dir=$*.t2dvi texi2pdf = texi2pdf --batch --tidy --build-dir=$*.t2pdf # makeinfo = makeinfo texi2docbook = $(makeinfo) --docbook texi2html = $(makeinfo) --html --no-split --css-include=latex2e.css $(texi2html_top) texi2info = $(makeinfo) --no-split texi2txt = $(makeinfo) --plaintext --no-split texi2xml = $(makeinfo) --xml # # Go somewhere useful from Top. texi2html_top = -c TOP_NODE_UP_URL=http://tug.org/texinfohtml/ %.pdf: %.texi $(texi2pdf) $< %.dvi: %.texi $(texi2dvi) $< # %.dbk: %.texi $(texi2docbook) -o $@ $< %.html: %.texi %.css $(texi2html) $< %.info: %.texi $(texi2info) $< %.txt: %.texi $(texi2txt) -o $@ $< %.xml: %.texi $(texi2xml) $< # targets follow. # default: check-en # to test changes, build a subset: html and info (since these formats # exercise significantly different code paths), and pdf for tex. check_suffixes = html info pdf # check-en: spell-en $(addprefix latex2e., $(check_suffixes)) check-es: $(addprefix latex2e-es., $(check_suffixes)) check-fr: $(addprefix latex2e-fr., $(check_suffixes)) check: check-en check-es check-fr # Build per language. en: $(en_mi_output) $(en_tex_output) es: $(es_mi_output) $(es_tex_output) fr: $(fr_mi_output) $(fr_tex_output) # To build everything in all languages. all: en es fr # following the GNU sequence of clean targets. distclean clean mostlyclean: rm -rf latex2e*.t2* realclean maintainer-clean: distclean rm -f $(addprefix latex2e*., pdf dvi $(mi_suffixes) $(xref_suffixes)) # dist for CTAN. Also update NEWS # txt_files = ChangeLog Makefile NEWS README aspell.en.pws ltx-help.el dist = latex2e-help-texinfo.zip # dist: en mkdir latex2e-help-texinfo && cd latex2e-help-texinfo && ln -s ../* . zip -q $(dist) \ $(addprefix latex2e-help-texinfo/, $(txt_files) \ latex2e.texi common.texi $(en_mi_output) latex2e.pdf) rm -rf latex2e-help-texinfo @ls -l $(dist); unzip -t $(dist) # A hacky spell check target. # Remove \commandnames to reduce exception list, but not {args} or # [args], since they are often words. spell spell-en: sed -e 's/\\[a-zA-Z]*//g' latex2e.texi \ | aspell list --mode=texinfo --add-extra-dicts=`pwd`/aspell.en.pws \ | sort -f -u # Check for doubled words. # http://www.math.utah.edu/~beebe/software/file-tools.html#dw check-dw: grep -v '^@item' latex2e.texi | dw # Convenience targets to svn revert the generated files, # and svn diff the source files. svr: svn revert $(addprefix latex2e*., $(all_suffixes)) svd: svn diff $(txt_files) *.texi