-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathMakefile.linux
More file actions
228 lines (167 loc) · 11.4 KB
/
Makefile.linux
File metadata and controls
228 lines (167 loc) · 11.4 KB
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
all: output/debug/libddlparser.a output/release/libddlparser.a ddlt/ddlt test/test test/test_nacl README README.html README.md
## ## #### ######## ######## ### ######## ## ##
#### ## ## ## ## ## ## ## ## ## ## ## ##
###### ## ## ## ## ## ## ## ## ## ## ####
######## ## ## ######## ######## ## ## ######## ##
###### ## ## ## ## ## ## ######### ## ## ##
#### ## ## ## ## ## ## ## ## ## ## ##
## ######## #### ######## ## ## ## ## ## ## ##
LIBOBJSD=output/debug/AreaManager.o output/debug/DDLParser.o output/debug/Error.o output/debug/Hash.o output/debug/JSONChecker.o output/debug/Lexer.o output/debug/Parser.o output/debug/Str.o output/debug/StringArea.o output/debug/Value.o
output/debug/libddlparser.a: $(LIBOBJSD)
ar cru $@ $+ && ranlib $@
output/debug/AreaManager.o: src/AreaManager.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/AreaManager.cpp
output/debug/DDLParser.o: src/DDLParser.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/DDLParser.cpp
output/debug/Error.o: src/Error.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Error.cpp
output/debug/Hash.o: src/Hash.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Hash.cpp
output/debug/JSONChecker.o: src/JSONChecker.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/JSONChecker.cpp
output/debug/Lexer.o: src/Lexer.cpp src/Tokens.inc
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Lexer.cpp
output/debug/Parser.o: src/Parser.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Parser.cpp
output/debug/Str.o: src/Str.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Str.cpp
output/debug/StringArea.o: src/StringArea.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/StringArea.cpp
output/debug/Value.o: src/Value.cpp
g++ -O0 -g -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Value.cpp
LIBOBJSR=output/release/AreaManager.o output/release/DDLParser.o output/release/Error.o output/release/Hash.o output/release/JSONChecker.o output/release/Lexer.o output/release/Parser.o output/release/Str.o output/release/StringArea.o output/release/Value.o
output/release/libddlparser.a: $(LIBOBJSR)
ar cru $@ $+ && ranlib $@
output/release/AreaManager.o: src/AreaManager.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/AreaManager.cpp
output/release/DDLParser.o: src/DDLParser.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/DDLParser.cpp
output/release/Error.o: src/Error.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Error.cpp
output/release/Hash.o: src/Hash.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Hash.cpp
output/release/JSONChecker.o: src/JSONChecker.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/JSONChecker.cpp
output/release/Lexer.o: src/Lexer.cpp src/Tokens.inc
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Lexer.cpp
output/release/Parser.o: src/Parser.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Parser.cpp
output/release/Str.o: src/Str.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Str.cpp
output/release/StringArea.o: src/StringArea.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/StringArea.cpp
output/release/Value.o: src/Value.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c src/Value.cpp
src/Tokens.inc: src/Tokens.gperf
cd src && gperf -c -C -l -L C++ -t -7 -m 100 -I --output-file=Tokens.inc Tokens.gperf && cd ..
## ######## ######## ## ## ######## ####### ######
#### ## ## ## ## ## ## ## ## ##
###### ## ## ## ## ## ## ##
######## ## ###### ### ## ####### ##
###### ## ## ## ## ## ## ##
#### ## ## ## ## ## ## ## ##
## ## ######## ## ## ## ######### ######
util/text2c.o: util/text2c.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c util/text2c.cpp
util/text2c: util/text2c.o
g++ -o $@ $+
## ######## ######## ## ########
#### ## ## ## ## ## ##
###### ## ## ## ## ## ##
######## ## ## ## ## ## ##
###### ## ## ## ## ## ##
#### ## ## ## ## ## ##
## ######## ######## ######## ##
DDLTOBJS=ddlt/Allocator.o ddlt/BitfieldIf.o ddlt/CompilerIf.o ddlt/DefinitionIf.o ddlt/SelectIf.o ddlt/StructIf.o ddlt/TagIf.o ddlt/Util.o ddlt/ddlt.o
ddlt/ddlt: $(DDLTOBJS) output/release/libddlparser.a
g++ -o $@ $+ -llua -lastyle
ddlt/Allocator.o: ddlt/Allocator.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/Allocator.cpp
ddlt/BitfieldIf.o: ddlt/BitfieldIf.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/BitfieldIf.cpp
ddlt/CompilerIf.o: ddlt/CompilerIf.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/CompilerIf.cpp
ddlt/DefinitionIf.o: ddlt/DefinitionIf.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/DefinitionIf.cpp
ddlt/SelectIf.o: ddlt/SelectIf.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/SelectIf.cpp
ddlt/StructIf.o: ddlt/StructIf.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/StructIf.cpp
ddlt/TagIf.o: ddlt/TagIf.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/TagIf.cpp
ddlt/Util.o: ddlt/Util.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/Util.cpp
ddlt/ddlt.o: ddlt/ddlt.cpp ddlt/ddlc.h
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c ddlt/ddlt.cpp
ddlt/ddlc.h: ddlt/ddlc.lua util/text2c
util/text2c ddlt/ddlc.lua ddlc > ddlt/ddlc.h
## ######## ######## ###### ########
#### ## ## ## ## ##
###### ## ## ## ##
######## ## ###### ###### ##
###### ## ## ## ##
#### ## ## ## ## ##
## ## ######## ###### ##
test/test_ddl.h: ddlt/ddlt test/test.ddl
ddlt/ddlt -i test/test.ddl -t hpp -o test/test_ddl.h --search-path test
test/test_ddl.cpp: ddlt/ddlt test/test.ddl
ddlt/ddlt -i test/test.ddl -t cpp -I test_ddl.h -o test/test_ddl.cpp --search-path test
test/test_ddl.o: test/test_ddl.cpp test/test_ddl.h
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c test/test_ddl.cpp
test/test.o: test/test.cpp test/test_ddl.h
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c test/test.cpp
test/test: test/test.o test/test_ddl.o
g++ -o $@ $+
echo "Running test..."
test/test
test/test_nacl_ddl.h: ddlt/ddlt test/test.ddl
ddlt/ddlt -i test/test.ddl -t nacl_hpp -o test/test_nacl_ddl.h --search-path test
test/test_nacl_ddl.cpp: ddlt/ddlt test/test.ddl
ddlt/ddlt -i test/test.ddl -t nacl_cpp -I test_nacl_ddl.h -o test/test_nacl_ddl.cpp --search-path test
test/test_nacl_ddl.o: test/test_nacl_ddl.cpp test/test_nacl_ddl.h
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c test/test_nacl_ddl.cpp
test/test_nacl.o: test/test_nacl.cpp test/test_nacl_ddl.h test/test_nacl_ddl.cpp
g++ -O2 -Iinclude -DDDLT_TEMPLATE_DIR="\"/usr/local/share/ddlt/\"" -Wall -Wno-format -o $@ -c test/test_nacl.cpp
test/test_nacl: test/test_nacl.o test/test_nacl_ddl.o
g++ -o $@ $+
echo "Running test_nacl..."
test/test_nacl
## ######## ####### ###### ## ## ## ## ######## ## ## ######## ### ######## #### ####### ## ##
#### ## ## ## ## ## ## ## ## ### ### ## ### ## ## ## ## ## ## ## ## ### ##
###### ## ## ## ## ## ## ## #### #### ## #### ## ## ## ## ## ## ## ## #### ##
######## ## ## ## ## ## ## ## ## ### ## ###### ## ## ## ## ## ## ## ## ## ## ## ## ##
###### ## ## ## ## ## ## ## ## ## ## ## #### ## ######### ## ## ## ## ## ####
#### ## ## ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## ## ## ## ## ###
## ######## ####### ###### ####### ## ## ######## ## ## ## ## ## ## #### ####### ## ##
README: util/createdoc.lua
lua util/createdoc.lua txt > $@
README.html: util/createdoc.lua
lua util/createdoc.lua html > $@
README.md: util/createdoc.lua
lua util/createdoc.lua md > $@
## #### ## ## ###### ######## ### ## ##
#### ## ### ## ## ## ## ## ## ## ##
###### ## #### ## ## ## ## ## ## ##
######## ## ## ## ## ###### ## ## ## ## ##
###### ## ## #### ## ## ######### ## ##
#### ## ## ### ## ## ## ## ## ## ##
## #### ## ## ###### ## ## ## ######## ########
install:
@echo "To install the DDLParser library, copy libddlparser.a from output/debug or output/release to /usr/local/lib and include/DDLParser.h to /use/local/include. Alternatively, add the include folder and either output/release or output/debug folders to your compiler paths."
@echo "To install ddlt, copy the ddlt/ddlt executable to /usr/local/bin. Alternatively, add the ddlt folder to your PATH."
## ###### ## ######## ### ## ##
#### ## ## ## ## ## ## ### ##
###### ## ## ## ## ## #### ##
######## ## ## ###### ## ## ## ## ##
###### ## ## ## ######### ## ####
#### ## ## ## ## ## ## ## ###
## ###### ######## ######## ## ## ## ##
clean:
rm -f src/Tokens.inc
rm -f output/debug/libddlparser.a $(LIBOBJSD) output/debug/ddlparser.pdb
rm -f output/release/libddlparser.a $(LIBOBJSR) output/release/ddlparser.pdb
rm -f ddlt/ddlt $(DDLTOBJS) ddlt/ddlc.h ddlt/ddlt.exp ddlt/ddlt.lib
rm -f etc/text2c etc/text2c.o
rm -f test/test_ddl.h test/test_ddl.cpp test/test_ddl.o test/test.o test/test
rm -f test/test_nacl_ddl.h test/test_nacl_ddl.cpp test/test_nacl_ddl.o test/test_nacl.o test/test_nacl
rm -f util/text2c util/text2c.o