-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
89 lines (72 loc) · 1.89 KB
/
Makefile
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
CXX = g++
LIBS = -lm
#CFLAGS = -g -O0 -Wall -Werror -pedantic -ansi -I./inc
CFLAGS = -g -O0 -Wall -pedantic -ansi -I./inc
LDFLAGS =
FILES = \
src/graph/Face.cxx \
src/graph/Node.cxx \
src/graph/PlanarGraph.cxx \
src/graph/SortedEdgeList.cxx \
src/BZWGenerator.cxx \
src/BuildZone.cxx \
src/FloorZone.cxx \
src/Generator.cxx \
src/GridGenerator.cxx \
src/FaceGenerator.cxx \
src/Mesh.cxx \
src/MultiFace.cxx \
src/Operation.cxx \
src/Expression.cxx \
src/OSFile.cxx \
src/Rule.cxx \
src/RuleSet.cxx \
src/TextUtils.cxx \
src/bzwgen.cxx \
src/commandArgs.cxx \
src/parser.cxx \
src/lexer.cxx
APP_FILES = \
src/BZWGeneratorStandalone.cxx
PLUGIN_FILES = \
src/BZWGeneratorPlugin.cxx
OBJECTS = ${FILES:.cxx=.o}
PICOBJECTS = ${FILES:.cxx=_pic.o}
APP_OBJECTS = ${APP_FILES:.cxx=.o}
PLUGIN_OBJECTS = ${PLUGIN_FILES:.cxx=_pic.o}
.PHONY: all clean blather
.SUFFIXES: .cxx _pic.o .o .l .y
all: blather bzwgen
plugin: blather bzwgenplugin
.cxx_pic.o:
${CXX} ${CFLAGS} ${CPPFLAGS} -fpic -c -o $@ $<
.cxx.o:
${CXX} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<
src/lexer.cxx: src/lexer.l
flex -o$@ $<
src/parser.cxx: src/parser.y
bison -d -o$@ $<
blather:
@echo ""
@echo "Using the following settings:"
@echo " CXX=\"$(CXX)\""
@echo " LIBS=\"$(LIBS)\""
@echo " CFLAGS=\"$(CFLAGS)\""
@echo " LDFLAGS=\"$(LDFLAGS)\""
@echo " CPPFLAGS=\"$(CPPFLAGS)\""
@echo ""
clean:
@echo "Cleaning up..."
rm -f bzwgen src/lexer.cxx src/parser.[ch]xx ${OBJECTS} ${APP_OBJECTS} ${PICOBJECTS}
@echo "Done."
bzwgen: ${OBJECTS} ${APP_OBJECTS}
@echo ""
@echo "Linking bzwgen..."
@echo ""
${CXX} -o $@ ${OBJECTS} ${APP_OBJECTS} ${CFLAGS} ${LDFLAGS} ${LIBS}
@echo "Done."
bzwgenplugin: ${PICOBJECTS} ${PLUGIN_OBJECTS}
@echo ""
@echo "Linking bzwgen as a plugin..."
@echo ""
${CXX} -I../bzflag/include/ -shared -o [email protected] ${PICOBJECTS} ${PLUGIN_OBJECTS} ${CFLAGS} -DCOMPILE_PLUGIN ${LDFLAGS} ${LIBS}