/
Makefile.in
344 lines (281 loc) · 17.5 KB
/
Makefile.in
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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
BAT = @bat@
JAVA = java
JAVAC = javac
JAR = jar
J_RUNNER = nqp-j$(BAT)
NQP_JAR_DIR = @nfp($(NQP_LANG_DIR)/runtime)@
JVM_BUILD_DIR = @nfp(gen/jvm)@
J_RUNNER_JAR_DIR = @nfp($(JVM_BUILD_DIR)/share/runtime)@
J_RUNNER_LIB_DIR = @nfp($(JVM_BUILD_DIR)/share/lib)@
RUNTIME_JAVAS = \
@nfp(src/vm/jvm/runtime/org/perl6/nqp/io/*.java)@ \
@nfp(src/vm/jvm/runtime/org/perl6/nqp/jast2bc/*.java)@ \
@nfp(src/vm/jvm/runtime/org/perl6/nqp/runtime/*.java)@ \
@nfp(src/vm/jvm/runtime/org/perl6/nqp/sixmodel/*.java)@ \
@nfp(src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/*.java)@ \
@nfp(src/vm/jvm/runtime/org/perl6/nqp/tools/*.java)@ \
RUNTIME_JAR = nqp-runtime.jar
ASM = @asm@
ASMTREE = @asmtree@
JLINE = @jline@
JNA = @jna@
THIRDPARTY_JARS = $(ASM)@cpsep@$(ASMTREE)@cpsep@$(JLINE)@cpsep@$(JNA)
J_RUNNER_JARS = @nfplq(nqp-runtime.jar $(ASM) $(ASMTREE) $(JLINE) $(JNA))@
J_RUNNER_LIBS = @nfplq(nqp.jar)@
J_STAGE0_DIR = @jvm_stage0@
J_STAGE1_DIR = @nfp($(JVM_BUILD_DIR)/stage1)@
J_STAGE2_DIR = @nfp($(JVM_BUILD_DIR)/stage2)@
J_STAGE0_NQP = $(JAVA) -cp $(J_STAGE0_DIR) -Xbootclasspath/a:$(J_STAGE0_DIR)@cpsep@nqp-runtime.jar@cpsep@@q($(THIRDPARTY_JARS))@@cpsep@$(J_STAGE0_DIR)@slash@nqp.jar nqp --bootstrap
J_STAGE1_NQP = $(JAVA) -cp $(J_STAGE1_DIR) -Xbootclasspath/a:$(J_STAGE1_DIR)@cpsep@nqp-runtime.jar@cpsep@@q($(THIRDPARTY_JARS))@@cpsep@$(J_STAGE1_DIR)@slash@nqp.jar nqp --bootstrap
NQP_MO_JAR = nqpmo.jar
MODULE_LOADER_JAR = ModuleLoader.jar
CORE_SETTING_JAR = NQPCORE.setting.jar
QASTNODE_JAR = QASTNode.jar
QREGEX_JAR = QRegex.jar
HLL_JAR = NQPHLL.jar
J_HLL_SOURCES = @nfp(src/vm/jvm/HLL/Backend.nqp)@ $(COMMON_HLL_SOURCES)
JASTNODES_JAR = JASTNodes.jar
JASTNODES_COMBINED = JASTNodes.nqp
JASTNODES_SOURCES = \
@nfp(src/vm/jvm/QAST/JASTNodes.nqp)@ \
QAST_JAR = QAST.jar
J_QAST_SOURCES = @nfp(src/vm/jvm/QAST/Compiler.nqp)@
P6QREGEX_JAR = NQPP6QRegex.jar
P5QREGEX_JAR = NQPP5QRegex.jar
EVAL_CLIENT = @nfp(tools/jvm/eval-client.pl)@
NQP_JAR = nqp.jar
J_NQP_SOURCES= @nfp(src/vm/jvm/NQP/Ops.nqp)@ $(COMMON_NQP_SOURCES)
J_SOURCES = \
$(COMMON_SOURCES) \
$(J_QAST_SOURCES) \
$(J_HLL_SOURCES) \
$(J_NQP_SOURCES) \
@nfp(src/vm/jvm/ModuleLoader.nqp)@ \
J_STAGE1_OUTPUT = \
@nfp($(J_STAGE1_DIR)/$(NQP_MO_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(MODULE_LOADER_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(CORE_SETTING_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(QASTNODE_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(QREGEX_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(HLL_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(JASTNODES_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(QAST_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(P6QREGEX_JAR))@ \
@nfp($(J_STAGE1_DIR)/$(NQP_JAR))@ \
J_STAGE2_OUTPUT = \
@nfp($(J_STAGE2_DIR)/$(NQP_MO_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(MODULE_LOADER_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(CORE_SETTING_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(QASTNODE_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(QREGEX_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(HLL_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(JASTNODES_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(QAST_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(P6QREGEX_JAR))@ \
@nfp($(J_STAGE2_DIR)/$(NQP_JAR))@ \
ALL_OUTPUT = \
$(NQP_MO_JAR) \
$(MODULE_LOADER_JAR) \
$(CORE_SETTING_JAR) \
$(QASTNODE_JAR) \
$(QREGEX_JAR) \
$(HLL_JAR) \
$(JASTNODES_JAR) \
$(QAST_JAR) \
$(P6QREGEX_JAR) \
$(NQP_JAR) \
j-all: $(ALL_OUTPUT) $(J_RUNNER) $(P5QREGEX_JAR)
j-install: j-all
$(MKPATH) @q($(DESTDIR)$(BIN_DIR))@
$(MKPATH) @q($(DESTDIR)$(NQP_JAR_DIR))@
$(MKPATH) @q($(DESTDIR)$(NQP_LIB_DIR))@
$(CP) @q($(ASM))@ @q($(ASMTREE))@ @q($(DESTDIR)$(NQP_JAR_DIR))@
$(CP) @q($(JLINE))@ @q($(JNA))@ @q($(DESTDIR)$(NQP_JAR_DIR))@
$(CP) @q($(RUNTIME_JAR))@ @q($(DESTDIR)$(NQP_JAR_DIR))@
$(CP) @q($(NQP_MO_JAR))@ @q($(MODULE_LOADER_JAR))@ @q($(DESTDIR)$(NQP_LIB_DIR))@
$(CP) @q($(CORE_SETTING_JAR))@ @q($(QASTNODE_JAR))@ $(QREGEX_JAR) @q($(DESTDIR)$(NQP_LIB_DIR))@
$(CP) @q($(HLL_JAR))@ @q($(JASTNODES_JAR))@ @q($(QAST_JAR))@ $(P6QREGEX_JAR) @q($(DESTDIR)$(NQP_LIB_DIR))@
$(CP) @q($(NQP_JAR))@ @q($(P5QREGEX_JAR))@ @q($(DESTDIR)$(NQP_LIB_DIR))@
$(CP) @q($(EVAL_CLIENT))@ @q($(DESTDIR)$(BIN_DIR))@
$(CHMOD) 0755 @nfpq($(DESTDIR)$(BIN_DIR)/eval-client.pl)@
$(CONFIGURE) --expand=nqp-j --out=@nfpq($(DESTIR)$(PREFIX)/bin/$(J_RUNNER))@ \
--set-var=ctx_subdir=@shquot(@backend_subdir@)@ \
--set-var=jar_dir=@q($(DESTIR)$(NQP_JAR_DIR))@ \
--set-var=lib_dir=@q($(DESTIR)$(NQP_LIB_DIR))@ \
--set-var=cur_dir=@q()@
$(CHMOD) 755 @nfpq($(DESTIR)$(PREFIX)/bin/$(J_RUNNER))@
$(RUNTIME_JAR): $(RUNTIME_JAVAS) @mkquot(@script(gen-jvm-properties.pl)@)@
$(PERL5) -MExtUtils::Command -e mkpath bin
$(JAVAC) -source 1.9 -cp @q($(THIRDPARTY_JARS))@ -g -d bin -encoding UTF8 $(RUNTIME_JAVAS)
$(PERL5) @shquot(@script(gen-jvm-properties.pl)@)@ . @q($(THIRDPARTY_JARS))@ > jvmconfig.properties
$(PERL5) @shquot(@script(gen-jvm-properties.pl)@)@ @nfpq(@prefix@)@ @q($(THIRDPARTY_JARS))@ > @nfpq(bin/jvmconfig.properties)@
$(JAR) cf0 nqp-runtime.jar -C @nfp(bin/)@ .
J_CLEANUPS = *.class *.jar @q($(J_STAGE1_DIR))@ @q($(J_STAGE2_DIR))@ bin nqp nqp.bat jvmconfig.properties @q($(J_RUNNER))@
j-clean:
$(RM_RF) $(J_CLEANUPS)
$(J_STAGE0_DIR): $(RUNTIME_JAR)
$(J_STAGE1_DIR): $(J_STAGE1_OUTPUT)
@nfp($(J_STAGE1_DIR)/$(NQP_MO_JAR))@: $(J_STAGE0_DIR) $(NQP_MO_SOURCES)
$(MKPATH) @q($(J_STAGE1_DIR))@
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(NQP_MO_SOURCES) > @nfpq($(J_STAGE1_DIR)/$(NQP_MO_COMBINED))@
$(J_STAGE0_NQP) --setting=NULL --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(NQP_MO_JAR))@ @nfpq($(J_STAGE1_DIR)/$(NQP_MO_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(MODULE_LOADER_JAR))@: $(J_STAGE0_DIR) @nfp(src/vm/jvm/ModuleLoader.nqp)@
$(J_STAGE0_NQP) --setting=NULL --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(MODULE_LOADER_JAR))@ @nfpq(src/vm/jvm/ModuleLoader.nqp)@
@nfp($(J_STAGE1_DIR)/$(CORE_SETTING_JAR):)@ $(J_STAGE0_DIR) $(CORE_SETTING_SOURCES) @nfp($(J_STAGE1_DIR)/$(NQP_MO_JAR))@ @nfp($(J_STAGE1_DIR)/$(MODULE_LOADER_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(CORE_SETTING_SOURCES) > @nfp($(J_STAGE1_DIR)/$(CORE_SETTING_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting=NULL --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(CORE_SETTING_JAR))@ @nfpq($(J_STAGE1_DIR)/$(CORE_SETTING_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(QASTNODE_JAR):)@ $(J_STAGE0_DIR) $(QASTNODE_SOURCES) @nfp($(J_STAGE1_DIR)/$(CORE_SETTING_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(QASTNODE_SOURCES) > @nfp($(J_STAGE1_DIR)/$(QASTNODE_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(QASTNODE_JAR))@ @nfpq($(J_STAGE1_DIR)/$(QASTNODE_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(QREGEX_JAR):)@ $(J_STAGE0_DIR) $(QREGEX_SOURCES) @nfp($(J_STAGE1_DIR)/$(QASTNODE_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(QREGEX_SOURCES) > @nfp($(J_STAGE1_DIR)/$(QREGEX_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(QREGEX_JAR))@ @nfpq($(J_STAGE1_DIR)/$(QREGEX_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(HLL_JAR):)@ $(J_STAGE0_DIR) $(J_HLL_SOURCES) @nfp($(J_STAGE1_DIR)/$(QREGEX_JAR))@ @nfp($(J_STAGE1_DIR)/$(JASTNODES_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(J_HLL_SOURCES) > @nfp($(J_STAGE1_DIR)/$(HLL_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(HLL_JAR))@ @nfpq($(J_STAGE1_DIR)/$(HLL_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(JASTNODES_JAR):)@ $(J_STAGE0_DIR) $(JASTNODES_SOURCES) @nfp($(J_STAGE1_DIR)/$(CORE_SETTING_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(JASTNODES_SOURCES) > @nfp($(J_STAGE1_DIR)/$(JASTNODES_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(JASTNODES_JAR))@ @nfpq($(J_STAGE1_DIR)/$(JASTNODES_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(QAST_JAR):)@ $(J_STAGE0_DIR) $(J_QAST_SOURCES) @nfp($(J_STAGE1_DIR)/$(HLL_JAR))@ @nfp($(J_STAGE1_DIR)/$(JASTNODES_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(J_QAST_SOURCES) > @nfp($(J_STAGE1_DIR)/$(QAST_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(QAST_JAR))@ @nfpq($(J_STAGE1_DIR)/$(QAST_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(P6QREGEX_JAR):)@ $(J_STAGE0_DIR) $(P6QREGEX_SOURCES) @nfp($(J_STAGE1_DIR)/$(QAST_JAR))@
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(P6QREGEX_SOURCES) > @nfp($(J_STAGE1_DIR)/$(P6QREGEX_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar --stable-sc=stage1 \
--output=@nfpq($(J_STAGE1_DIR)/$(P6QREGEX_JAR))@ @nfpq($(J_STAGE1_DIR)/$(P6QREGEX_COMBINED))@
@nfp($(J_STAGE1_DIR)/$(NQP_JAR):)@ $(J_STAGE0_DIR) @nfp($(J_STAGE1_DIR)/$(P6QREGEX_JAR))@ $(J_SOURCES)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL5) @shquot(@script(gen-version.pl)@)@ $(PREFIX) $(NQP_LIB_DIR) > @nfp($(J_STAGE1_DIR)/nqp-config.nqp)@
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(J_NQP_SOURCES) @nfp($(J_STAGE1_DIR)/nqp-config.nqp)@ > @nfp($(J_STAGE1_DIR)/$(NQP_COMBINED))@
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --target=jar --no-regex-lib --stable-sc=stage1 --javaclass=nqp \
--output=@nfpq($(J_STAGE1_DIR)/$(NQP_JAR))@ @nfpq($(J_STAGE1_DIR)/$(NQP_COMBINED))@
$(J_STAGE2_DIR): $(J_STAGE2_OUTPUT)
@nfp($(J_STAGE2_DIR)/$(NQP_MO_JAR):)@ $(J_STAGE1_DIR) $(NQP_MO_SOURCES)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(NQP_MO_SOURCES) > @nfp($(J_STAGE2_DIR)/$(NQP_MO_COMBINED))@
$(J_STAGE1_NQP) --setting=NULL --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(NQP_MO_JAR))@ @nfpq($(J_STAGE2_DIR)/$(NQP_MO_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(MODULE_LOADER_JAR):)@ $(J_STAGE1_DIR) @nfp(src/vm/jvm/ModuleLoader.nqp)@
$(J_STAGE1_NQP) --setting=NULL --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(MODULE_LOADER_JAR))@ @nfpq(src/vm/jvm/ModuleLoader.nqp)@
@nfp($(J_STAGE2_DIR)/$(CORE_SETTING_JAR):)@ $(J_STAGE1_DIR) $(CORE_SETTING_SOURCES) @nfp($(J_STAGE2_DIR)/$(NQP_MO_JAR))@ @nfp($(J_STAGE2_DIR)/$(MODULE_LOADER_JAR))@
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(CORE_SETTING_SOURCES) > @nfp($(J_STAGE2_DIR)/$(CORE_SETTING_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting=NULL --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(CORE_SETTING_JAR))@ @nfpq($(J_STAGE2_DIR)/$(CORE_SETTING_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(QASTNODE_JAR):)@ $(J_STAGE1_DIR) $(QASTNODE_SOURCES) @nfp($(J_STAGE2_DIR)/$(CORE_SETTING_JAR))@
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(QASTNODE_SOURCES) > @nfp($(J_STAGE2_DIR)/$(QASTNODE_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(QASTNODE_JAR))@ @nfpq($(J_STAGE2_DIR)/$(QASTNODE_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(QREGEX_JAR):)@ $(J_STAGE1_DIR) $(QREGEX_SOURCES) @nfp($(J_STAGE2_DIR)/$(QASTNODE_JAR))@
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(QREGEX_SOURCES) > @nfp($(J_STAGE2_DIR)/$(QREGEX_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(QREGEX_JAR))@ @nfpq($(J_STAGE2_DIR)/$(QREGEX_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(HLL_JAR):)@ $(J_STAGE1_DIR) $(J_HLL_SOURCES) @nfp($(J_STAGE2_DIR)/$(QREGEX_JAR))@ @nfp($(J_STAGE2_DIR)/$(JASTNODES_JAR))@
$(MKPATH) @nfp($(J_STAGE2_DIR)/gen)@
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(J_HLL_SOURCES) > @nfp($(J_STAGE2_DIR)/$(HLL_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(HLL_JAR))@ @nfpq($(J_STAGE2_DIR)/$(HLL_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(JASTNODES_JAR):)@ $(J_STAGE1_DIR) $(JASTNODES_SOURCES) @nfp($(J_STAGE2_DIR)/$(CORE_SETTING_JAR))@
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(JASTNODES_SOURCES) > @nfp($(J_STAGE2_DIR)/$(JASTNODES_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(JASTNODES_JAR))@ @nfpq($(J_STAGE2_DIR)/$(JASTNODES_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(QAST_JAR):)@ $(J_STAGE1_DIR) $(J_QAST_SOURCES) @nfp($(J_STAGE2_DIR)/$(HLL_JAR))@ @nfp($(J_STAGE2_DIR)/$(JASTNODES_JAR))@
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(J_QAST_SOURCES) > @nfp($(J_STAGE2_DIR)/$(QAST_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(QAST_JAR))@ @nfpq($(J_STAGE2_DIR)/$(QAST_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(P6QREGEX_JAR):)@ $(J_STAGE1_DIR) $(P6QREGEX_SOURCES) @nfp($(J_STAGE2_DIR)/$(QAST_JAR))@
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(P6QREGEX_SOURCES) > @nfp($(J_STAGE2_DIR)/$(P6QREGEX_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=@nfpq($(J_STAGE2_DIR)/$(P6QREGEX_JAR))@ @nfpq($(J_STAGE2_DIR)/$(P6QREGEX_COMBINED))@
@nfp($(J_STAGE2_DIR)/$(NQP_JAR):)@ $(J_STAGE1_DIR) @nfp($(J_STAGE2_DIR)/$(P6QREGEX_JAR))@ $(J_SOURCES)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-version.pl)@)@ $(PREFIX) $(NQP_LIB_DIR) > @nfp($(J_STAGE2_DIR)/nqp-config.nqp)@
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(J_NQP_SOURCES) @nfp($(J_STAGE2_DIR)/nqp-config.nqp)@ > @nfp($(J_STAGE2_DIR)/$(NQP_COMBINED))@
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --target=jar --no-regex-lib --javaclass=nqp \
--output=@nfpq($(J_STAGE2_DIR)/$(NQP_JAR))@ @nfpq($(J_STAGE2_DIR)/$(NQP_COMBINED))@
$(ALL_OUTPUT): $(J_STAGE2_OUTPUT)
$(CP) @nfpq($(J_STAGE2_DIR)/$(NQP_MO_JAR))@ @nfpq($(J_STAGE2_DIR)/$(MODULE_LOADER_JAR))@ .
$(CP) @nfpq($(J_STAGE2_DIR)/$(CORE_SETTING_JAR))@ @nfpq($(J_STAGE2_DIR)/$(QASTNODE_JAR))@ .
$(CP) @nfpq($(J_STAGE2_DIR)/$(QREGEX_JAR))@ @nfpq($(J_STAGE2_DIR)/$(HLL_JAR))@ @nfpq($(J_STAGE2_DIR)/$(JASTNODES_JAR))@ .
$(CP) @nfpq($(J_STAGE2_DIR)/$(QAST_JAR))@ @nfpq($(J_STAGE2_DIR)/$(P6QREGEX_JAR))@ @nfpq($(J_STAGE2_DIR)/$(NQP_JAR))@ .
$(J_RUNNER): @mkquot(@configure_script@)@ @@template(nqp-j)@@ @@template(runner-prelude)@@
$(MKPATH) @q($(J_RUNNER_JAR_DIR))@ @q($(J_RUNNER_LIB_DIR))@
$(CP) $(J_RUNNER_JARS) @q($(J_RUNNER_JAR_DIR))@
$(CP) $(J_RUNNER_LIBS) @q($(J_RUNNER_LIB_DIR))@
$(CONFIGURE) --expand=nqp-j --out=@nfpq($(BASE_DIR)/$(J_RUNNER))@ \
--set-var=ctx_subdir=@q(@backend_subdir@)@ \
--set-var=jar_dir=@q($(J_RUNNER_JAR_DIR))@ \
--set-var=lib_dir=@q($(J_RUNNER_LIB_DIR))@ \
--set-var=cur_dir=@q(.:)@
$(CHMOD) 755 @q($(J_RUNNER))@
j-runner-default: j-all
$(CP) @q($(J_RUNNER))@ nqp$(BAT)
$(CHMOD) 755 nqp$(BAT)
j-runner-default-install: j-runner-default j-install
$(CP) @nfpq($(DESTDIR)$(BIN_DIR)/$(J_RUNNER))@ @nfpq($(DESTDIR)$(BIN_DIR)/nqp$(BAT))@
$(CHMOD) 755 @nfpq($(DESTDIR)$(BIN_DIR)/nqp$(BAT))@
$(P5QREGEX_JAR): $(ALL_OUTPUT) $(P5QREGEX_SOURCES)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL5) @shquot(@script(gen-cat.pl)@)@ jvm $(P5QREGEX_SOURCES) > @nfpq($(J_STAGE2_DIR)/$(P5QREGEX_COMBINED))@
@nfpq($(BASE_DIR)/$(J_RUNNER))@ --target=jar --output=@q($(P5QREGEX_JAR))@ \
@nfpq($(J_STAGE2_DIR)/$(P5QREGEX_COMBINED))@
j-bootstrap-files: $(J_STAGE2_OUTPUT)
$(CP) @nfpq($(J_STAGE2_DIR)/$(NQP_MO_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(MODULE_LOADER_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(CORE_SETTING_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(QASTNODE_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(QREGEX_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(HLL_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(JASTNODES_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(QAST_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(P6QREGEX_JAR))@ @q($(J_STAGE0_DIR))@
$(CP) @nfpq($(J_STAGE2_DIR)/$(NQP_JAR))@ @q($(J_STAGE0_DIR))@
## testing
j-test: j-all
$(PROVE) -r --exec @nfpq($(BASE_DIR)/$(J_RUNNER))@ @nfpl(t/nqp t/hll t/qregex t/p5regex t/qast t/serialization t/jvm t/nativecall)@
j-test-loud: j-all
$(PROVE) -r -v --exec @nfpq($(BASE_DIR)/$(J_RUNNER))@ @nfpl(t/nqp t/hll t/qregex t/p5regex t/qast t/serialization t/jvm t/nativecall)@
j-core-test: $(J_RUNNER)
$(PROVE) -r --exec @nfpq($(BASE_DIR)/$(J_RUNNER))@ @nfpq(t/nqp)@
j-core-test-loud: $(J_RUNNER)
$(PROVE) -r -v --exec @nfpq($(BASE_DIR)/$(J_RUNNER))@ @nfpq(t/nqp)@
j-qregex-test: $(J_RUNNER)
$(PROVE) -r --exec @nfpq($(BASE_DIR)/$(J_RUNNER))@ @nfpq(t/qregex)@
j-qregex-test-loud: $(J_RUNNER)
$(PROVE) -r -v --exec @nfpq($(BASE_DIR)/$(J_RUNNER))@ @nfpq(t/qregex)@
# vim: ft=make noexpandtab ts=4 sw=4