mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-12-02 23:25:03 +03:00
80 lines
2.5 KiB
Makefile
80 lines
2.5 KiB
Makefile
TARGET = Cryptol
|
|
TMP = tmp
|
|
MAIN = main
|
|
MAINTARGET= ${MAIN}/${TARGET}
|
|
TMPTARGET = ${TMP}/${TARGET}
|
|
SRCS = ${wildcard *.tex */*.tex *.sty */*.sty} ${wildcard *.bib */*.bib} \
|
|
${wildcard *.sty} Makefile ${wildcard *.cry */*.cry}
|
|
SPELLSRC = ${filter-out ${wildcard utils/*.tex}, ${wildcard *.tex */*.tex}}
|
|
LTMPDIR = tmp
|
|
NEWSPELL = ${LTMPDIR}/${TARGET}.SPELLNEW
|
|
OLDSPELL = ${LTMPDIR}/${TARGET}.SPELLOLD
|
|
SPELL = aspell -t -l
|
|
AUX = ${wildcard ${TMP}/*.blg} ${wildcard ${TMP}/*.bbl} ${wildcard ${TMP}/*.aux} \
|
|
${wildcard ${TMP}/*.eps} ${wildcard ${TMP}/*.log} ${wildcard ${TMP}/*.toc} \
|
|
${wildcard ${TMP}/*.out} ${wildcard ${TMP}/*.idx} ${wildcard ${TMP}/*.ilg} \
|
|
${wildcard ${TMP}/*.ind} ${wildcard ${TMP}/*.brf} ${wildcard ${TMP}/*.glg} \
|
|
${wildcard ${TMP}/*.glo} ${wildcard ${TMP}/*.gls} ${wildcard ${TMP}/*.ist} \
|
|
|
|
LATEX = xelatex -output-directory=${TMP} -halt-on-error -file-line-error
|
|
# LATEX = xelatex -output-driver=xdvipdfmx -output-directory=${TMP} -halt-on-error -file-line-error
|
|
BIBTEX = bibtex
|
|
MAKEINDEX = makeindex
|
|
|
|
# TODO: Switch to using pdflatex or rubber?
|
|
# TODO: Ensure that TEXINPUTS is set correctly to make \includes and \usepackages more robust?
|
|
|
|
all: pdf
|
|
cp ${TMP}/Cryptol.pdf ..
|
|
|
|
test:
|
|
cd aes ; make test
|
|
cd highAssurance ; make test
|
|
cd enigma ; make test
|
|
|
|
pdf: ${TARGET}.pdf
|
|
|
|
${TMP}:
|
|
mkdir -p ${TMP}
|
|
|
|
${TARGET}.pdf: ${SRCS} ${TMP}
|
|
# surely I don't need this many latex's and indexes etc; but this looks like a sure fire way of
|
|
# getting numbers right.. heh
|
|
${LATEX} ${MAINTARGET}
|
|
${MAKEINDEX} ${TMP}/Cryptol.glo -s ${TMP}/Cryptol.ist -t ${TMP}/Cryptol.glg -o ${TMP}/Cryptol.gls
|
|
${MAKEINDEX} ${TMPTARGET}
|
|
${BIBTEX} ${TMPTARGET}
|
|
${LATEX} ${MAINTARGET}
|
|
${MAKEINDEX} ${TMPTARGET}
|
|
${MAKEINDEX} ${TMP}/Cryptol.glo -s ${TMP}/Cryptol.ist -t ${TMP}/Cryptol.glg -o ${TMP}/Cryptol.gls
|
|
${BIBTEX} ${TMPTARGET}
|
|
${LATEX} ${MAINTARGET}
|
|
${LATEX} ${MAINTARGET}
|
|
|
|
# for quickly seeing changes; might get the labels wrong
|
|
quick: ${SRCS}
|
|
${LATEX} ${MAINTARGET}
|
|
|
|
.PHONY: squeaky superClean clean quickSpell
|
|
|
|
clean:
|
|
rm -f ${AUX}
|
|
|
|
squeaky: clean
|
|
rm -f ${TARGET}.pdf
|
|
make -C tools clean
|
|
|
|
spellClean:
|
|
rm -f ${NEWSPELL} ${OLDSPELL}
|
|
|
|
quickSpell:
|
|
@touch ${NEWSPELL}
|
|
@mv -f ${NEWSPELL} ${OLDSPELL}
|
|
@cat ${SPELLSRC} | ${SPELL} | tr "A-Z" "a-z" | sort | uniq | less > ${NEWSPELL}
|
|
@echo '(The ones marked with < are new.)'
|
|
@diff ${NEWSPELL} ${OLDSPELL}
|
|
|
|
.PHONY: continuous
|
|
continuous:
|
|
@make -C tools
|