1
- # Copyright (C) 2006-2009 , The Perl Foundation.
1
+ # Copyright (C) 2006-2011 , The Perl Foundation.
2
2
# $Id$
3
3
4
4
PARROT_ARGS =
@@ -86,11 +86,20 @@ NQP_SOURCES = \
86
86
src/NQP/Compiler.pir \
87
87
src/cheats/nqp-builtins.pir \
88
88
89
+ CORE_SETTING_SOURCES = \
90
+ src/core/NativeTypes.pm \
91
+ src/core/NQPMu.pm \
92
+ src/core/IO.pm \
93
+ src/core/Regex.pm \
94
+
95
+ CORE_SETTING_NQP = NQPCORE.setting
96
+
89
97
STAGE0_SOURCES = \
90
98
src/stage0/Regex-s0.pir \
91
99
src/stage0/HLL-s0.pir \
92
100
src/stage0/P6Regex-s0.pir \
93
- src/stage0/NQP-s0.pir
101
+ src/stage0/NQP-s0.pir \
102
+ src/stage0/NQPCORE.setting-s0.pir \
94
103
95
104
STAGE0 = src/stage0
96
105
STAGE1 = src/stage1
@@ -102,7 +111,7 @@ HLL_PBC = HLL.pbc
102
111
HLLGRAMMAR_G = gen/hllgrammar-grammar.pir
103
112
HLLGRAMMAR_A = gen/hllgrammar-actions.pir
104
113
105
- HLLCOMPILER_PIR = gen/hllcompiler.pir
114
+ HLLCOMPILER_PIR = gen/hllcompiler.pir
106
115
HLLCOMMANDLINE_PIR = gen/hllcommandline.pir
107
116
108
117
P6REGEX_PBC = P6Regex.pbc
@@ -121,10 +130,13 @@ NQP_A = gen/nqp-actions.pir
121
130
NQP_C = gen/nqp-compiler.pir
122
131
NQP_EXE = nqp$(EXE )
123
132
124
- STAGE0_PBCS = $(STAGE0 ) /$(HLL_PBC ) $(STAGE0 ) /$(P6REGEX_PBC ) $(STAGE0 ) /$(NQP_PBC ) $(STAGE0 ) /$(REGEX_PBC )
125
- STAGE1_PBCS = $(STAGE1 ) /$(HLL_PBC ) $(STAGE1 ) /$(P6REGEX_PBC ) $(STAGE1 ) /$(NQP_PBC ) $(REGEX_PBC )
126
- STAGE2_PBCS = $(STAGE2 ) /$(HLL_PBC ) $(STAGE2 ) /$(P6REGEX_PBC ) $(STAGE2 ) /$(NQP_PBC ) $(REGEX_PBC )
127
- ALL_PBCS = $(HLL_PBC ) $(P6REGEX_PBC ) $(NQP_PBC )
133
+ CORE_SETTING_PBC = NQPCORE.setting.pbc
134
+ CORE_SETTING_PIR = gen/NQPCORE.setting.pir
135
+
136
+ STAGE0_PBCS = $(STAGE0 ) /$(HLL_PBC ) $(STAGE0 ) /$(P6REGEX_PBC ) $(STAGE0 ) /$(NQP_PBC ) $(STAGE0 ) /$(REGEX_PBC ) $(STAGE0 ) /$(CORE_SETTING_PBC )
137
+ STAGE1_PBCS = $(STAGE1 ) /$(HLL_PBC ) $(STAGE1 ) /$(P6REGEX_PBC ) $(STAGE1 ) /$(NQP_PBC ) $(REGEX_PBC ) $(STAGE1 ) /$(CORE_SETTING_PBC )
138
+ STAGE2_PBCS = $(STAGE2 ) /$(HLL_PBC ) $(STAGE2 ) /$(P6REGEX_PBC ) $(STAGE2 ) /$(NQP_PBC ) $(REGEX_PBC ) $(STAGE2 ) /$(CORE_SETTING_PBC )
139
+ ALL_PBCS = $(HLL_PBC ) $(P6REGEX_PBC ) $(NQP_PBC ) $(CORE_SETTING_PBC )
128
140
129
141
GROUP = nqp_group
130
142
OPS = nqp_ops
@@ -163,14 +175,6 @@ HOW_SOURCES = src/metamodel/how/KnowHOWAttribute.pm src/metamodel/how/NQPClassH
163
175
164
176
HOW_COMBINED = src/gen/how.pm
165
177
166
- CORE_SETTING_SOURCES = src/core/NativeTypes.pm src/core/NQPMu.pm src/core/IO.pm \
167
- src/core/Regex.pm
168
-
169
- CORE_SETTING_NQP = src/gen/CORE.setting
170
- CORE_SETTING_PIR = src/gen/CORE.setting.pir
171
- CORE_SETTING_PBC = CORE.setting.pbc
172
-
173
-
174
178
CLEANUPS = \
175
179
*.manifest \
176
180
*.pdb \
@@ -208,14 +212,15 @@ CLEANUPS = \
208
212
$(OPS_DIR ) /*$(LOAD_EXT ) \
209
213
$(DYNEXT_DIR ) /*$(LOAD_EXT ) \
210
214
211
- all : $(NQP_EXE ) $( CORE_SETTING_PBC )
215
+ all : $(NQP_EXE )
212
216
213
217
install : all
214
- $(MKPATH ) $(DESTDIR )$(NQP_LANG_DIR )
215
- $(CP ) nqp.pbc $(DESTDIR )$(NQP_LANG_DIR ) /nqprx.pbc
218
+ $(MKPATH ) $(DESTDIR )$(NQP_LANG_DIR )
219
+ $(CP ) nqp.pbc $(DESTDIR )$(NQP_LANG_DIR ) /nqprx.pbc
216
220
$(CP ) $(P6REGEX_PBC ) $(DESTDIR )$(PARROT_LIBRARY_DIR ) /$(P6REGEX_PBC )
217
221
$(CP ) $(REGEX_PBC ) $(DESTDIR )$(PARROT_LIBRARY_DIR ) /$(REGEX_PBC )
218
222
$(CP ) $(HLL_PBC ) $(DESTDIR )$(PARROT_LIBRARY_DIR ) /$(HLL_PBC )
223
+ $(CP ) $(CORE_SETTING_PBC ) $(DESTDIR )$(PARROT_LIBRARY_DIR ) /$(CORE_SETTING_PBC )
219
224
$(MKPATH ) $(DESTDIR )$(PARROT_BIN_DIR )
220
225
$(CP ) $(NQP_EXE ) $(DESTDIR )$(PARROT_BIN_DIR ) /nqp$(EXE )
221
226
$(CHMOD ) 755 $(DESTDIR )$(PARROT_BIN_DIR ) /nqp$(EXE )
@@ -232,10 +237,11 @@ $(REGEX_PBC): $(DYNEXT_TARGET) $(REGEX_SOURCES)
232
237
$(STAGE0 ) : $(STAGE0_PBCS )
233
238
234
239
$(STAGE0_PBCS ) : $(DYNEXT_TARGET ) $(STAGE0_SOURCES )
235
- $(PARROT ) -o $(STAGE0 ) /$(REGEX_PBC ) src/stage0/Regex-s0.pir
236
- $(PARROT ) -o $(STAGE0 ) /$(HLL_PBC ) src/stage0/HLL-s0.pir
237
- $(PARROT ) -o $(STAGE0 ) /$(P6REGEX_PBC ) src/stage0/P6Regex-s0.pir
238
- $(PARROT ) -o $(STAGE0 ) /$(NQP_PBC ) src/stage0/NQP-s0.pir
240
+ $(PARROT ) -o $(STAGE0 ) /$(REGEX_PBC ) src/stage0/Regex-s0.pir
241
+ $(PARROT ) -o $(STAGE0 ) /$(HLL_PBC ) src/stage0/HLL-s0.pir
242
+ $(PARROT ) -o $(STAGE0 ) /$(P6REGEX_PBC ) src/stage0/P6Regex-s0.pir
243
+ $(PARROT ) -o $(STAGE0 ) /$(NQP_PBC ) src/stage0/NQP-s0.pir
244
+ $(PARROT ) -o $(STAGE0 ) /$(CORE_SETTING_PBC ) src/stage0/NQPCORE.setting-s0.pir
239
245
240
246
$(STAGE1 ) : $(STAGE1_PBCS )
241
247
@@ -290,6 +296,14 @@ $(STAGE1)/$(NQP_PBC): $(STAGE0_PBCS) $(NQP_SOURCES) $(HOW_COMBINED)
290
296
$(PARROT ) --include=$(STAGE1 ) -o $(STAGE1 ) /$(NQP_PBC ) \
291
297
src/NQP/Compiler.pir
292
298
299
+ $(STAGE1 ) /$(CORE_SETTING_PBC ) : $(STAGE0_PBCS ) $(CORE_SETTING_SOURCES )
300
+ $(MKPATH ) $(STAGE1 ) /gen
301
+ $(PERL ) build/gen_setting.pl $(CORE_SETTING_SOURCES ) > $(STAGE1 ) /$(CORE_SETTING_NQP )
302
+ $(PARROT ) --library=$(STAGE0 ) $(STAGE0 ) /$(NQP_PBC ) \
303
+ --target=pir --output=$(STAGE1 ) /$(CORE_SETTING_PIR ) \
304
+ $(STAGE1 ) /$(CORE_SETTING_NQP )
305
+ $(PARROT ) -o $(STAGE1 ) /$(CORE_SETTING_PBC ) $(STAGE1 ) /$(CORE_SETTING_PIR )
306
+
293
307
$(STAGE2 ) : $(STAGE2_PBCS )
294
308
295
309
$(STAGE2 ) /$(HLL_PBC ) : $(STAGE1_PBCS ) $(HLL_SOURCES )
@@ -340,21 +354,23 @@ $(STAGE2)/$(NQP_PBC): $(STAGE1_PBCS) $(NQP_SOURCES) $(HOW_COMBINED)
340
354
$(PARROT ) --include=$(STAGE2 ) -o $(STAGE2 ) /$(NQP_PBC ) \
341
355
src/NQP/Compiler.pir
342
356
357
+ $(STAGE2 ) /$(CORE_SETTING_PBC ) : $(STAGE1_PBCS ) $(CORE_SETTING_SOURCES )
358
+ $(MKPATH ) $(STAGE2 ) /gen
359
+ $(PERL ) build/gen_setting.pl $(CORE_SETTING_SOURCES ) > $(STAGE2 ) /$(CORE_SETTING_NQP )
360
+ $(PARROT ) --library=$(STAGE1 ) $(STAGE1 ) /$(NQP_PBC ) \
361
+ --target=pir --output=$(STAGE2 ) /$(CORE_SETTING_PIR ) \
362
+ --setting=NULL $(STAGE2 ) /$(CORE_SETTING_NQP )
363
+ $(PARROT ) -o $(STAGE2 ) /$(CORE_SETTING_PBC ) $(STAGE2 ) /$(CORE_SETTING_PIR )
364
+
343
365
$(ALL_PBCS ) : $(REGEX_PBC ) $(STAGE2_PBCS )
344
366
$(CP ) $(STAGE2 ) /$(HLL_PBC ) .
345
367
$(CP ) $(STAGE2 ) /$(P6REGEX_PBC ) .
346
368
$(CP ) $(STAGE2 ) /$(NQP_PBC ) .
369
+ $(CP) $(STAGE2)/$(CORE_SETTING_PBC) .
347
370
348
371
$(NQP_EXE ) : $(NQP_PBC )
349
372
$(PBC_TO_EXE ) $(NQP_PBC )
350
373
351
- $(CORE_SETTING_NQP ) : $(CORE_SETTING_SOURCES )
352
- $(PERL ) build/gen_setting.pl $(CORE_SETTING_SOURCES ) > $(CORE_SETTING_NQP )
353
- $(CORE_SETTING_PIR ) : $(CORE_SETTING_NQP ) $(NQP_PBC )
354
- $(PARROT ) $(NQP_PBC ) --setting=NULL --target=pir --output=$(CORE_SETTING_PIR ) $(CORE_SETTING_NQP )
355
- $(CORE_SETTING_PBC ) : $(CORE_SETTING_PIR )
356
- $(PARROT ) -o $(CORE_SETTING_PBC ) $(CORE_SETTING_PIR )
357
-
358
374
$(DYNEXT_TARGET ) : $(DYNPMC ) $(DYNOPS )
359
375
$(CP ) $(DYNPMC ) $(DYNEXT_DIR )
360
376
$(CP ) $(DYNOPS ) $(DYNEXT_DIR )
@@ -388,7 +404,7 @@ bootstrap-files: $(STAGE2_PBCS) $(CORE_SETTING_NQP)
388
404
$(PERL ) build/gen_bootstrap.pl src/HLL.pir > src/stage0/HLL-s0.pir
389
405
$(PERL ) build/gen_bootstrap.pl src/Regex/P6Regex.pir > src/stage0/P6Regex-s0.pir
390
406
$(PERL ) build/gen_bootstrap.pl src/NQP/Compiler.pir > src/stage0/NQP-s0.pir
391
- $(PERL ) build/gen_bootstrap.pl $( CORE_SETTING_NQP ) > src/stage0/CORE .setting
407
+ $(PERL ) build/gen_bootstrap.pl src/stage2/gen/ $( CORE_SETTING_PIR ) > src/stage0/NQPCORE .setting-s0.pir
392
408
393
409
394
410
# # testing
0 commit comments