blob: 0e2f33c2ba7ad284d91fc6579ff984154e654fbf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# this Makefile uses a flat directory structure for demonstration
# purposes; the main directory (../..) contains a slightly more
# modular organization.
SPLINT_ROOT = $(shell pwd)/../..
include ${SPLINT_ROOT}/makefile.inc
include ${SPLINT_ROOT}/makefile.loc
# rules specific to this example
PARSER = expp
LEXER = expl
all: expression.pdf ptab.tex ltab.tex
step1: expp.y expl.l
step2: ptabout ltabout
step3: ltab.tex ptab.tex
ptabout: ${SPLINT_ROOT}/cweb/mkeparser.c ${PARSER}.c
${CC} -DPARSER_FILE=\"../examples/expression/$(lastword $^)\" -DYYPARSE_PARAMETERS= -o $@ $<
ptab.tex: ptabout
$< --optimize-actions $@
ltabout: ${SPLINT_ROOT}/cweb/mkscanner.c ${LEXER}.c
${CC} -DLEXER_FILE=\"../examples/expression/$(lastword $^)\" -o $@ $<
ltab.tex: ltabout
$< --optimize-actions $@
${LEXER}.c: ${LEXER}.l
${FLEX} -o $@ $<
test.tex ${PARSER}.yy ${LEXER}.ll: expression.x
@${CTANGLE} $<
${UNLINE} test.txx test.tex
expression.tex: expression.x
@${CWEAVE} $<
expression.pdf: expression.tex ${SPLINT_XPTABLES} ${SPLINT_XLTABLES} ${SPLINT_ROOT}/cweb/bo.tok etoks.sty
@${PDFTEX} $<
test: test.tex ptab.tex ltab.tex
tex test.tex
docs: expression.pdf
mostlyclean: clean_temp
-rm -f ptabout ltabout expression.c *.txx
clean: clean_core
-rm -f ptabout ltabout *.txx
distclean: clean
cd ${SPLINT_ROOT} && ${MAKE} clean
|