forked from mbbill/flexbison
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathMakefile.ch9
57 lines (39 loc) · 1.55 KB
/
Makefile.ch9
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
# $Header: /home/johnl/flnb/code/RCS/Makefile.ch9,v 2.1 2009/11/08 02:53:18 johnl Exp $
# Companion source code for "flex & bison", published by O'Reilly
# Media, ISBN 978-0-596-15597-1
# Copyright (c) 2009, Taughannock Networks. All rights reserved.
# See the README file for license conditions and contact info.
# programs in chapter 9
CFLAGS = -g
all: purewc purecalc cppcalc
# reentrant flex and bison
purewc: purewc.lex.o
cc -g -o $@ purewc.lex.c
purewc.lex.c: purewc.l
flex -opurewc.lex.c purewc.l
purecalc: purecalc.lex.o purecalc.tab.o purecalcfuncs.o
cc -g -o $@ purecalc.tab.o purecalc.lex.o purecalcfuncs.o -lm
purecalc.lex.o: purecalc.lex.c purecalc.tab.h purecalc.h
purecalc.tab.o: purecalc.tab.c purecalc.lex.h purecalc.h
purecalc.lex.c purecalc.lex.h: purecalc.l
flex -opurecalc.lex.c purecalc.l
purecalc.tab.c purecalc.tab.h: purecalc.y
bison -vd purecalc.y
# C++ bison and C++ compatible flex
cppcalc: cppcalc.lex.o cppcalc.tab.o
c++ -g -o $@ cppcalc.tab.o cppcalc.lex.o -lm
cppcalc.lex.o: cppcalc.lex.c cppcalc.tab.hh cppcalc-ctx.hh
c++ -c $<
cppcalc.tab.o: cppcalc.tab.cc cppcalc-ctx.hh
cppcalc.lex.c: cppcalc.l
flex -ocppcalc.lex.c cppcalc.l
cppcalc.tab.cc cppcalc.tab.hh: cppcalc.yy
bison -vd cppcalc.yy
clean:
rm -f purewc purecalc cppcalc \
purecalc.lex.c purecalc.lex.h purecalc.tab.c purecalc.tab.h \
purewc.lex.c purewc.lex.o \
purecalc.lex.o purecalc.tab.o purecalcfuncs.o purecalc.output \
cppcalc.lex.c cppcalc.tab.c cppcalc.tab.cc cppcalc.tab.hh \
cppcalc.lex.o cppcalc.tab.o cppcalc.output \
location.hh position.hh stack.hh