summaryrefslogtreecommitdiff
path: root/support/splint/makefile.inc
diff options
context:
space:
mode:
Diffstat (limited to 'support/splint/makefile.inc')
-rw-r--r--support/splint/makefile.inc60
1 files changed, 38 insertions, 22 deletions
diff --git a/support/splint/makefile.inc b/support/splint/makefile.inc
index 787617da1e..e485ea2c83 100644
--- a/support/splint/makefile.inc
+++ b/support/splint/makefile.inc
@@ -1,4 +1,4 @@
-# Copyright 2012-2020, Alexander Shibakov
+# Copyright 2012-2024, Alexander Shibakov
# This file is part of SPLinT
#
# SPLinT is free software: you can redistribute it and/or modify
@@ -18,30 +18,41 @@ SPLINT_ROOT := $(dir $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)
# taken from a stackoverflow answer by Xavier Holt
TEXINPUTS := .:${SPLINT_ROOT}cweb/:${SPLINT_ROOT}tex/:${SPLINT_ROOT}:${TEXINPUTS}
+TEXFONTS := .:${SPLINT_ROOT}tex/fonts:${SPLINT_ROOT}:${TEXFONTS}
+VFFONTS := .:${SPLINT_ROOT}tex/fonts:${SPLINT_ROOT}:${VFFONTS}
+TFMFONTS := .:${SPLINT_ROOT}tex/fonts:${SPLINT_ROOT}:${TFMFONTS}
SPLINT_DRIVER_DIR = ${SPLINT_ROOT}cweb
-SPLINT_TEXSTYLES = flex.sty yyfaststack.sty yyparse.sty yyunion.sty yyinput.sty yystype.sty yy.sty
-SPLINT_TEXSTYLES += yyinit.sty yybootstrap.sty dcols.sty limbo.sty yycommon.sty yymisc.sty yytexlex.sty
-SPLINT_TEXSTYLES += yydebug.sty gindex.sty noweb.sty
-SPLINT_BOOTSTRAP_STYLES = grabstates.sty
-SPLINT_PTABLES = byytab.tex dyytab.tex fyytab.tex gyytab.tex fiptab.tex reptab.tex small_tab.tex
-SPLINT_PTABLES += raptab.tex ddptab.tex
-SPLINT_LTABLES = ltab.tex small_dfa.tex filtab.tex
+SPLINT_TEXSTYLES_BASE = yycommon.sty yymisc.sty trt1.sty xarithm.sty yyfaststack.sty
+SPLINT_TEXSTYLES_BASE_PARSER0 = yyinput.sty flex.sty yyparse.sty yystype.sty yydebug.sty
+SPLINT_TEXSTYLES_BASE_PARSER1 = yyinit.sty yybootstrap.sty yyunion.sty yy.sty
+SPLINT_TEXSTYLES_BASE_TOKENS = yypretty.sty $(patsubst %, %tokenset.sty, b f s fre)
+SPLINT_TEXSTYLES_BASE_DISPLAY = limbo.sty dcols.sty gindex.sty noweb.sty yytexlex.sty
+
+SPLINT_TEXSTYLES = ${SPLINT_TEXSTYLES_BASE} ${SPLINT_TEXSTYLES_BASE_PARSER0} ${SPLINT_TEXSTYLES_BASE_PARSER1}
+SPLINT_TEXSTYLES += ${SPLINT_TEXSTYLES_BASE_TOKENS} ${SPLINT_TEXSTYLES_BASE_DISPLAY}
+
+SPLINT_PTABLES = byytab.tex dyytab.tex fyytab.tex gyytab.tex fiptab.tex reptab.tex raptab.tex ddptab.tex
+SPLINT_PTABLES += small_tab.tex
+SPLINT_LTABLES = ltab.tex filtab.tex small_dfa.tex
+SPLINT_OTABLES = bo.tok fo.tok
SPLINT_XTEXSTYLES = $(patsubst %, ${SPLINT_ROOT}tex/%, ${SPLINT_TEXSTYLES})
-SPLINT_XBOOTSTRAP_STYLES = $(patsubst %, ${SPLINT_ROOT}tex/%, ${SPLINT_BOOTSTRAP_STYLES})
SPLINT_XPTABLES = $(patsubst %, ${SPLINT_ROOT}cweb/%, ${SPLINT_PTABLES})
SPLINT_XLTABLES = $(patsubst %, ${SPLINT_ROOT}cweb/%, ${SPLINT_LTABLES})
+SPLINT_XOTABLES = $(patsubst %, ${SPLINT_ROOT}cweb/%, ${SPLINT_OTABLES})
+SPLINT_XTABLES = ${SPLINT_XPTABLES} ${SPLINT_XLTABLES} ${SPLINT_XOTABLES}
+
+SPLINT_DOC_PREREQS = splint.tex ${SPLINT_PTABLES} ${SPLINT_LTABLES} ${SPLINT_OTABLES} ${SPLINT_XTEXSTYLES}
+SPLINT_DOC_PREREQS += ${SPLINT_ROOT}tex/frontmatter.sty
-SPLINT_DOC_PREREQS = %.tex ${SPLINT_PTABLES} ${SPLINT_LTABLES} ${SPLINT_XTEXSTYLES}
-SPLINT_DOC_PREREQS += ${SPLINT_ROOT}tex/btokenset.sty ${SPLINT_ROOT}tex/ftokenset.sty
-SPLINT_DOC_PREREQS += ${SPLINT_ROOT}tex/stokenset.sty ${SPLINT_ROOT}tex/fretokenset.sty
-SPLINT_DOC_PREREQS += bo.tok fo.tok
-SPLINT_DOC_PREREQS_XREF = ${SPLINT_DOC_PREREQS} %.scn %.idx
+SPLINT_DOC_PREREQS_XREF = ${SPLINT_DOC_PREREQS} splint.scn splint.idx
-PDFTEX = export TEXINPUTS=${TEXINPUTS} && pdftex
-TEX = export TEXINPUTS=${TEXINPUTS} && tex
+EXPORT_TEX_ENVIRON = TEXINPUTS=${TEXINPUTS} TEXFONTS=${TEXFONTS} VFFONTS=${VFFONTS} TFMFONTS=${TFMFONTS}
+
+PDFTEX = export ${EXPORT_TEX_ENVIRON} && pdftex -recorder -file-line-error -synctex=1
+TEX = export ${EXPORT_TEX_ENVIRON} && tex
DVIPS = dvips
PDFVIEW = evince
CWEAVE = cweave -bhp
@@ -56,6 +67,8 @@ UNLINE = ${SPLINT_ROOT}scripts/unline.pl
BINDX = ${SPLINT_ROOT}scripts/bindx.pl
MISCCW = ${SPLINT_ROOT}scripts/misccw.pl
+# remove the default implicit rules
+
%.c: %.w
%.c: %.y
%.pdf: %.tex
@@ -63,8 +76,10 @@ MISCCW = ${SPLINT_ROOT}scripts/misccw.pl
%.o: %.c
%.c: %.l
-%.x: %.w
- ${BRACK} $< $@
+# new implicit rules
+
+%.x %.u %.m: %.w
+ ${BRACK} --bison-link=$*.m $< $*.x $*.u
%.c: %.y
${BISON} $^ -o $@
@@ -91,12 +106,13 @@ ${SPLINT_ROOT}cweb/%:
clean_temp:
-rm -f *.o *.tab.* *.dvi *.pdf *.ps *~ *.log *.rli *.rls *.lpg \
- *.output *.lst *.exl *.ftn *.*pk *.gdx
+ *.output *.lst *.exl *.*pk *.gdx *.fls *.synctex.gz
clean_core: clean_temp
- -rm -f *.c *.h *.tex *.idx *.scn *.toc *.tok *.sns *.gdy *.xxr *.x \
- *.hx *.hy *.yy *.ll *.y *.l
+ -rm -f *.c *.h *.tex *.idx *.scn *.toc *.tok *.sns *.aux *.gdy *.x \
+ *.u *.m *.hx *.hy *.yy *.yx *.ll *.y *.l
# to ensure that interrupted and erroneous builds are cleaned up
-.DELETE_ON_ERROR:
+.DELETE_ON_ERROR:
+ -rm -f *.gdx *.gdy *.aux *.tok