~ubuntu-branches/ubuntu/vivid/nqp/vivid-proposed

« back to all changes in this revision

Viewing changes to tools/build/Makefile-Parrot.in

  • Committer: Package Import Robot
  • Author(s): Alessandro Ghedini
  • Date: 2013-11-01 12:09:18 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20131101120918-kx51sl0sxl3exsxi
Tags: 2013.10-1
* New upstream release
* Bump versioned (Build-)Depends on parrot
* Update patches
* Install new README.pod
* Fix vcs-field-not-canonical
* Do not install rubyish examples
* Do not Depends on parrot-devel anymore
* Add 07_disable-serialization-tests.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (C) 2006-2013, The Perl Foundation.
 
2
# $Id$
 
3
 
 
4
SHELL            = @shell@
 
5
PARROT_ARGS      = -L. -X.
 
6
 
 
7
# values from parrot_config
 
8
PARROT_BIN_DIR     = @@bindir@@
 
9
PARROT_LIB_SHARED  = @@libparrot_shared@@
 
10
PARROT_VERSION     = @@versiondir@@
 
11
PARROT_INCLUDE_DIR = @@includedir@@$(PARROT_VERSION)
 
12
PARROT_LIB_DIR     = @@libdir@@$(PARROT_VERSION)
 
13
PARROT_SRC_DIR     = @@srcdir@@$(PARROT_VERSION)
 
14
PARROT_LIBRARY_DIR = $(PARROT_LIB_DIR)/library
 
15
NQP_LANG_DIR       = $(PARROT_LIB_DIR)/languages/nqp
 
16
HAS_ICU            = @has_icu@
 
17
 
 
18
CC            = @cc@
 
19
CFLAGS        = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @gc_flag@ @optimize@
 
20
EXE           = @exe@
 
21
LD            = @ld@
 
22
LDFLAGS       = @ldflags@ @ld_debug@
 
23
LD_LOAD_FLAGS = @ld_load_flags@
 
24
LIBPARROT     = @inst_libparrot_ldflags@
 
25
O             = @o@
 
26
A             = @a@
 
27
LOAD_EXT      = @load_ext@
 
28
PERL          = @perl@
 
29
CP            = @cp@
 
30
MV            = @mv@
 
31
RM_F          = @rm_f@
 
32
MKPATH        = $(PERL) -MExtUtils::Command -e mkpath
 
33
CHMOD         = $(PERL) -MExtUtils::Command -e chmod
 
34
TOM           = 3rdparty/libtommath/bn
 
35
DYNCALLINC    =
 
36
 
 
37
# locations of parrot resources
 
38
PARROT            = $(PARROT_BIN_DIR)/parrot$(EXE) $(PARROT_ARGS)
 
39
PARROT_DLL        = @dll@
 
40
PARROT_DLL_COPY   = @dllcopy@
 
41
PARROT_NQP        = $(PARROT_BIN_DIR)/parrot_nqp$(EXE)
 
42
PBC_TO_EXE        = $(PARROT_BIN_DIR)/pbc_to_exe$(EXE)
 
43
PARROT_TOOLS_DIR  = $(PARROT_LIB_DIR)/tools
 
44
PARROT_PERL_LIB   = $(PARROT_TOOLS_DIR)/lib
 
45
OPS2C             = $(PARROT_BIN_DIR)/ops2c$(EXE)
 
46
PMC2C             = $(PERL) $(PARROT_TOOLS_DIR)/build/pmc2c.pl
 
47
PMC2C_INCLUDES    = --include src/pmc --include $(PARROT_SRC_DIR) --include $(PARROT_SRC_DIR)/pmc
 
48
CINCLUDES         = -I$(PARROT_INCLUDE_DIR) -I$(PARROT_INCLUDE_DIR)/pmc
 
49
LINKARGS          = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @libs@ @icu_shared@
 
50
 
 
51
# nqp directories
 
52
DYNEXT_DIR       = dynext
 
53
PMC_DIR          = src/vm/parrot/pmc
 
54
OPS_DIR          = src/vm/parrot/ops
 
55
 
 
56
HLL_SOURCES = \
 
57
  src/HLL/Grammar.nqp \
 
58
  src/HLL/Actions.nqp \
 
59
  src/vm/parrot/HLL/Backend.nqp \
 
60
  src/HLL/Compiler.nqp \
 
61
  src/HLL/CommandLine.nqp \
 
62
  src/HLL/World.nqp \
 
63
  src/HLL/sprintf.nqp \
 
64
 
 
65
QASTNODE_COMBINED = QASTNode.nqp
 
66
QASTNODE_PIR = QASTNode.pir
 
67
QASTNODE_PBC = QASTNode.pbc
 
68
QASTNODE_SOURCES = \
 
69
  src/QAST/CompileTimeValue.nqp \
 
70
  src/QAST/SpecialArg.nqp \
 
71
  src/QAST/Node.nqp \
 
72
  src/QAST/Regex.nqp \
 
73
  src/QAST/IVal.nqp \
 
74
  src/QAST/NVal.nqp \
 
75
  src/QAST/SVal.nqp \
 
76
  src/QAST/BVal.nqp \
 
77
  src/QAST/WVal.nqp \
 
78
  src/QAST/Want.nqp \
 
79
  src/QAST/Var.nqp \
 
80
  src/QAST/VarWithFallback.nqp \
 
81
  src/QAST/Op.nqp \
 
82
  src/QAST/VM.nqp \
 
83
  src/QAST/Stmts.nqp \
 
84
  src/QAST/Stmt.nqp \
 
85
  src/QAST/Block.nqp \
 
86
  src/QAST/Unquote.nqp \
 
87
  src/QAST/CompUnit.nqp \
 
88
  src/QAST/InlinePlaceholder.nqp \
 
89
 
 
90
QAST_COMBINED = QAST.nqp
 
91
QAST_PIR = QAST.pir
 
92
QAST_PBC = QAST.pbc
 
93
QAST_SOURCES = \
 
94
  src/vm/parrot/QAST/PIRT.nqp \
 
95
  src/vm/parrot/QAST/Operations.nqp \
 
96
  src/vm/parrot/QAST/Compiler.nqp \
 
97
 
 
98
P6QREGEX_SOURCES = \
 
99
  src/QRegex/P6Regex/Grammar.nqp \
 
100
  src/QRegex/P6Regex/Actions.nqp \
 
101
  src/QRegex/P6Regex/Compiler.nqp \
 
102
 
 
103
P5QREGEX_SOURCES = \
 
104
  src/QRegex/P5Regex/Grammar.nqp \
 
105
  src/QRegex/P5Regex/Actions.nqp \
 
106
  src/QRegex/P5Regex/Compiler.nqp \
 
107
 
 
108
QREGEX_COMBINED = QRegex.nqp
 
109
QREGEX_PIR = QRegex.pir
 
110
QREGEX_PBC = QRegex.pbc
 
111
QREGEX_SOURCES = \
 
112
  src/QRegex/NFA.nqp \
 
113
  src/QRegex/Cursor.nqp \
 
114
 
 
115
CORE_SETTING_SOURCES = \
 
116
  src/core/NativeTypes.nqp \
 
117
  src/core/NQPRoutine.nqp \
 
118
  src/core/NQPMu.nqp \
 
119
  src/core/NQPCapture.nqp \
 
120
  src/core/IO.nqp \
 
121
  src/core/Regex.nqp \
 
122
  src/core/Hash.nqp \
 
123
  src/core/testing.nqp \
 
124
  src/core/YOUAREHERE.nqp \
 
125
 
 
126
CORE_SETTING_NQP = NQPCORE.setting
 
127
 
 
128
STAGE0_SOURCES = \
 
129
        src/vm/parrot/stage0/NQPMO-s0.pir \
 
130
        src/vm/parrot/stage0/ModuleLoader-s0.pir \
 
131
        src/vm/parrot/stage0/NQPCORE.setting-s0.pir \
 
132
        src/vm/parrot/stage0/QASTNode-s0.pir \
 
133
        src/vm/parrot/stage0/QRegex-s0.pir \
 
134
        src/vm/parrot/stage0/HLL-s0.pir \
 
135
        src/vm/parrot/stage0/QAST-s0.pir \
 
136
        src/vm/parrot/stage0/P6QRegex-s0.pir \
 
137
        src/vm/parrot/stage0/NQP-s0.pir
 
138
 
 
139
STAGE0 = src/vm/parrot/stage0
 
140
STAGE1 = src/stage1
 
141
STAGE2 = src/stage2
 
142
 
 
143
MODULE_LOADER_PBC = ModuleLoader.pbc
 
144
 
 
145
REGEX_PBC       = NQPRegex.pbc
 
146
 
 
147
HLL_PBC          = NQPHLL.pbc
 
148
HLL_COMBINED     = gen/NQPHLL.nqp
 
149
HLL_COMBINED_PIR = gen/NQPHLL.pir
 
150
 
 
151
P6REGEX_PBC          = NQPP6Regex.pbc
 
152
P6REGEX_COMBINED     = gen/NQPP6Regex.nqp
 
153
P6REGEX_COMBINED_PIR = gen/NQPP6Regex.pir
 
154
 
 
155
P6QREGEX_PBC          = NQPP6QRegex.pbc
 
156
P6QREGEX_COMBINED     = gen/NQPP6QRegex.nqp
 
157
P6QREGEX_COMBINED_PIR = gen/NQPP6QRegex.pir
 
158
 
 
159
P5QREGEX_PBC          = NQPP5QRegex.pbc
 
160
P5QREGEX_COMBINED     = gen/NQPP5QRegex.nqp
 
161
P5QREGEX_COMBINED_PIR = gen/NQPP5QRegex.pir
 
162
 
 
163
NQP_COMBINED     = gen/NQP.nqp
 
164
NQP_COMBINED_PIR = gen/NQP.pir
 
165
NQP_PBC          = nqp.pbc
 
166
NQP_EXE          = nqp$(EXE)
 
167
 
 
168
NQP_SOURCES = \
 
169
  src/NQP/World.nqp \
 
170
  src/NQP/Grammar.nqp \
 
171
  src/vm/parrot/NQP/Ops.nqp \
 
172
  src/NQP/Actions.nqp \
 
173
  src/NQP/Optimizer.nqp \
 
174
  src/NQP/Compiler.nqp \
 
175
 
 
176
NQP_MO_SOURCES = src/how/Archetypes.nqp src/how/RoleToRoleApplier.nqp \
 
177
                 src/how/NQPConcreteRoleHOW.nqp src/how/RoleToClassApplier.nqp \
 
178
                 src/how/NQPCurriedRoleHOW.nqp src/how/NQPParametricRoleHOW.nqp \
 
179
                 src/how/NQPClassHOW.nqp src/how/NQPNativeHOW.nqp \
 
180
                 src/how/NQPAttribute.nqp src/how/NQPModuleHOW.nqp \
 
181
                 src/how/EXPORTHOW.nqp \
 
182
 
 
183
NQP_MO_PBC      = nqpmo.pbc
 
184
NQP_MO_PIR      = gen/nqp-mo.pir
 
185
NQP_MO_COMBINED = gen/nqp-mo.nqp
 
186
 
 
187
CORE_SETTING_PBC = NQPCORE.setting.pbc
 
188
CORE_SETTING_PIR = gen/NQPCORE.setting.pir
 
189
 
 
190
STAGE0_PBCS     = $(STAGE0)/$(NQP_MO_PBC) $(STAGE0)/$(MODULE_LOADER_PBC) $(STAGE0)/$(CORE_SETTING_PBC) $(STAGE0)/$(QASTNODE_PBC) $(STAGE0)/$(QREGEX_PBC) $(STAGE0)/$(HLL_PBC) $(STAGE0)/$(QAST_PBC) $(STAGE0)/$(P6QREGEX_PBC) $(STAGE0)/$(NQP_PBC)
 
191
STAGE1_PBCS     = $(STAGE1)/$(NQP_MO_PBC) $(STAGE1)/$(MODULE_LOADER_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(QASTNODE_PBC) $(STAGE1)/$(QREGEX_PBC) $(STAGE1)/$(HLL_PBC) $(STAGE1)/$(QAST_PBC) $(STAGE1)/$(P6QREGEX_PBC) $(STAGE1)/$(NQP_PBC)
 
192
STAGE2_PBCS     = $(STAGE2)/$(NQP_MO_PBC) $(STAGE2)/$(MODULE_LOADER_PBC) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(QASTNODE_PBC) $(STAGE2)/$(QREGEX_PBC) $(STAGE2)/$(HLL_PBC) $(STAGE2)/$(QAST_PBC) $(STAGE2)/$(P6QREGEX_PBC) $(STAGE2)/$(NQP_PBC)
 
193
ALL_PBCS        = $(NQP_MO_PBC) $(MODULE_LOADER_PBC) $(CORE_SETTING_PBC) $(QASTNODE_PBC) $(QREGEX_PBC) $(HLL_PBC) $(QAST_PBC) $(P6QREGEX_PBC) $(NQP_PBC)
 
194
 
 
195
GROUP           = nqp_group
 
196
OPS             = nqp_ops
 
197
DYNEXT_TARGET   = $(DYNEXT_DIR)/$(GROUP)$(LOAD_EXT)
 
198
DYNPMC          = $(PMC_DIR)/$(GROUP)$(LOAD_EXT)
 
199
DYNOPS          = $(OPS_DIR)/$(OPS)$(LOAD_EXT)
 
200
 
 
201
PMC_SOURCES     = $(PMC_DIR)/stable.pmc $(PMC_DIR)/sixmodelobject.pmc \
 
202
                  $(PMC_DIR)/nqplexinfo.pmc $(PMC_DIR)/nqplexpad.pmc \
 
203
                  $(PMC_DIR)/serializationcontext.pmc $(PMC_DIR)/ownedhash.pmc \
 
204
                  $(PMC_DIR)/ownedresizablepmcarray.pmc $(PMC_DIR)/qrpa.pmc
 
205
 
 
206
DYNPMC_HEADERS  = $(PMC_DIR)/pmc_stable.h $(PMC_DIR)/pmc_sixmodelobject.h \
 
207
                  $(PMC_DIR)/pmc_nqplexinfo.h $(PMC_DIR)/pmc_nqplexpad.h \
 
208
                  $(PMC_DIR)/pmc_serializationcontext.h $(PMC_DIR)/pmc_ownedhash.h \
 
209
                  $(PMC_DIR)/pmc_ownedresizablepmcarray.h $(PMC_DIR)/pmc_qrpa.h
 
210
 
 
211
OPS_SOURCE      = nqp.ops
 
212
 
 
213
METAMODEL_SOURCE = src/vm/parrot/6model/sixmodelobject.h src/vm/parrot/6model/sixmodelobject.c \
 
214
                   src/vm/parrot/6model/repr_registry.h src/vm/parrot/6model/repr_registry.c \
 
215
                   src/vm/parrot/6model/knowhow_bootstrapper.h src/vm/parrot/6model/knowhow_bootstrapper.c \
 
216
                   src/vm/parrot/6model/reprs/KnowHOWREPR.h src/vm/parrot/6model/reprs/KnowHOWREPR.c \
 
217
                   src/vm/parrot/6model/reprs/P6opaque.h src/vm/parrot/6model/reprs/P6opaque.c \
 
218
                   src/vm/parrot/6model/reprs/P6int.h src/vm/parrot/6model/reprs/P6int.c \
 
219
                   src/vm/parrot/6model/reprs/P6str.h src/vm/parrot/6model/reprs/P6str.c \
 
220
                   src/vm/parrot/6model/reprs/P6num.h src/vm/parrot/6model/reprs/P6num.c \
 
221
                   src/vm/parrot/6model/reprs/HashAttrStore.h src/vm/parrot/6model/reprs/HashAttrStore.c \
 
222
                   src/vm/parrot/6model/reprs/Uninstantiable.h src/vm/parrot/6model/reprs/Uninstantiable.c \
 
223
                   src/vm/parrot/6model/reprs/NFA.h src/vm/parrot/6model/reprs/NFA.c \
 
224
                   src/vm/parrot/6model/reprs/VMArray.h src/vm/parrot/6model/reprs/VMArray.c \
 
225
                   src/vm/parrot/6model/reprs/VMHash.h src/vm/parrot/6model/reprs/VMHash.c \
 
226
                   src/vm/parrot/6model/reprs/VMIter.h src/vm/parrot/6model/reprs/VMIter.c \
 
227
                   src/vm/parrot/6model/storage_spec.h src/vm/parrot/6model/serialization_context.c \
 
228
                   src/vm/parrot/6model/serialization_context.h src/vm/parrot/6model/serialization.c \
 
229
                   src/vm/parrot/6model/serialization.h src/vm/parrot/guts/multi_dispatch.h \
 
230
                   src/vm/parrot/guts/multi_dispatch.c src/vm/parrot/6model/base64.c src/vm/parrot/6model/base64.h \
 
231
                   src/vm/parrot/6model/containers.c src/vm/parrot/6model/containers.h \
 
232
 
 
233
METAMODEL_OBJS   = ../6model/sixmodelobject$(O) ../6model/repr_registry$(O) \
 
234
                   ../6model/knowhow_bootstrapper$(O) ../6model/reprs/KnowHOWREPR$(O) \
 
235
                   ../6model/reprs/P6opaque$(O) ../6model/reprs/P6int$(O) \
 
236
                   ../6model/reprs/P6str$(O) ../6model/reprs/P6num$(O) \
 
237
                   ../6model/reprs/HashAttrStore$(O) ../6model/reprs/Uninstantiable$(O) \
 
238
                   ../6model/reprs/NFA$(O) ../6model/reprs/VMArray$(O) \
 
239
                   ../6model/reprs/VMHash$(O) ../6model/reprs/VMIter$(O) \
 
240
                   ../6model/serialization_context$(O) ../6model/base64$(O) \
 
241
                   ../6model/serialization$(O) ../guts/multi_dispatch$(O) \
 
242
                   ../6model/containers$(O) \
 
243
 
 
244
LIBTOMMATH_BIN = $(TOM)core$(O) \
 
245
        $(TOM)_error$(O) \
 
246
        $(TOM)_fast_mp_invmod$(O) \
 
247
        $(TOM)_fast_mp_montgomery_reduce$(O) \
 
248
        $(TOM)_fast_s_mp_mul_digs$(O) \
 
249
        $(TOM)_fast_s_mp_mul_high_digs$(O) \
 
250
        $(TOM)_fast_s_mp_sqr$(O) \
 
251
        $(TOM)_mp_2expt$(O) \
 
252
        $(TOM)_mp_abs$(O) \
 
253
        $(TOM)_mp_add_d$(O) \
 
254
        $(TOM)_mp_addmod$(O) \
 
255
        $(TOM)_mp_add$(O) \
 
256
        $(TOM)_mp_and$(O) \
 
257
        $(TOM)_mp_clamp$(O) \
 
258
        $(TOM)_mp_clear_multi$(O) \
 
259
        $(TOM)_mp_clear$(O) \
 
260
        $(TOM)_mp_cmp_d$(O) \
 
261
        $(TOM)_mp_cmp_mag$(O) \
 
262
        $(TOM)_mp_cmp$(O) \
 
263
        $(TOM)_mp_cnt_lsb$(O) \
 
264
        $(TOM)_mp_copy$(O) \
 
265
        $(TOM)_mp_count_bits$(O) \
 
266
        $(TOM)_mp_div_2d$(O) \
 
267
        $(TOM)_mp_div_2$(O) \
 
268
        $(TOM)_mp_div_3$(O) \
 
269
        $(TOM)_mp_div_d$(O) \
 
270
        $(TOM)_mp_div$(O) \
 
271
        $(TOM)_mp_dr_is_modulus$(O) \
 
272
        $(TOM)_mp_dr_reduce$(O) \
 
273
        $(TOM)_mp_dr_setup$(O) \
 
274
        $(TOM)_mp_exch$(O) \
 
275
        $(TOM)_mp_expt_d$(O) \
 
276
        $(TOM)_mp_exptmod_fast$(O) \
 
277
        $(TOM)_mp_exptmod$(O) \
 
278
        $(TOM)_mp_exteuclid$(O) \
 
279
        $(TOM)_mp_fread$(O) \
 
280
        $(TOM)_mp_fwrite$(O) \
 
281
        $(TOM)_mp_gcd$(O) \
 
282
        $(TOM)_mp_get_int$(O) \
 
283
        $(TOM)_mp_get_long$(O) \
 
284
        $(TOM)_mp_grow$(O) \
 
285
        $(TOM)_mp_init_copy$(O) \
 
286
        $(TOM)_mp_init_multi$(O) \
 
287
        $(TOM)_mp_init$(O) \
 
288
        $(TOM)_mp_init_set_int$(O) \
 
289
        $(TOM)_mp_init_set$(O) \
 
290
        $(TOM)_mp_init_size$(O) \
 
291
        $(TOM)_mp_invmod$(O) \
 
292
        $(TOM)_mp_invmod_slow$(O) \
 
293
        $(TOM)_mp_is_square$(O) \
 
294
        $(TOM)_mp_jacobi$(O) \
 
295
        $(TOM)_mp_karatsuba_mul$(O) \
 
296
        $(TOM)_mp_karatsuba_sqr$(O) \
 
297
        $(TOM)_mp_lcm$(O) \
 
298
        $(TOM)_mp_lshd$(O) \
 
299
        $(TOM)_mp_mod_2d$(O) \
 
300
        $(TOM)_mp_mod_d$(O) \
 
301
        $(TOM)_mp_mod$(O) \
 
302
        $(TOM)_mp_montgomery_calc_normalization$(O) \
 
303
        $(TOM)_mp_montgomery_reduce$(O) \
 
304
        $(TOM)_mp_montgomery_setup$(O) \
 
305
        $(TOM)_mp_mul_2d$(O) \
 
306
        $(TOM)_mp_mul_2$(O) \
 
307
        $(TOM)_mp_mul_d$(O) \
 
308
        $(TOM)_mp_mulmod$(O) \
 
309
        $(TOM)_mp_mul$(O) \
 
310
        $(TOM)_mp_neg$(O) \
 
311
        $(TOM)_mp_n_root$(O) \
 
312
        $(TOM)_mp_or$(O) \
 
313
        $(TOM)_mp_prime_fermat$(O) \
 
314
        $(TOM)_mp_prime_is_divisible$(O) \
 
315
        $(TOM)_mp_prime_is_prime$(O) \
 
316
        $(TOM)_mp_prime_miller_rabin$(O) \
 
317
        $(TOM)_mp_prime_next_prime$(O) \
 
318
        $(TOM)_mp_prime_rabin_miller_trials$(O) \
 
319
        $(TOM)_mp_prime_random_ex$(O) \
 
320
        $(TOM)_mp_radix_size$(O) \
 
321
        $(TOM)_mp_radix_smap$(O) \
 
322
        $(TOM)_mp_rand$(O) \
 
323
        $(TOM)_mp_read_radix$(O) \
 
324
        $(TOM)_mp_read_signed_bin$(O) \
 
325
        $(TOM)_mp_read_unsigned_bin$(O) \
 
326
        $(TOM)_mp_reduce_2k_l$(O) \
 
327
        $(TOM)_mp_reduce_2k$(O) \
 
328
        $(TOM)_mp_reduce_2k_setup_l$(O) \
 
329
        $(TOM)_mp_reduce_2k_setup$(O) \
 
330
        $(TOM)_mp_reduce_is_2k_l$(O) \
 
331
        $(TOM)_mp_reduce_is_2k$(O) \
 
332
        $(TOM)_mp_reduce$(O) \
 
333
        $(TOM)_mp_reduce_setup$(O) \
 
334
        $(TOM)_mp_rshd$(O) \
 
335
        $(TOM)_mp_set_int$(O) \
 
336
        $(TOM)_mp_set_long$(O) \
 
337
        $(TOM)_mp_set$(O) \
 
338
        $(TOM)_mp_shrink$(O) \
 
339
        $(TOM)_mp_signed_bin_size$(O) \
 
340
        $(TOM)_mp_sqrmod$(O) \
 
341
        $(TOM)_mp_sqr$(O) \
 
342
        $(TOM)_mp_sqrt$(O) \
 
343
        $(TOM)_mp_sub_d$(O) \
 
344
        $(TOM)_mp_submod$(O) \
 
345
        $(TOM)_mp_sub$(O) \
 
346
        $(TOM)_mp_toom_mul$(O) \
 
347
        $(TOM)_mp_toom_sqr$(O) \
 
348
        $(TOM)_mp_toradix_n$(O) \
 
349
        $(TOM)_mp_toradix$(O) \
 
350
        $(TOM)_mp_to_signed_bin_n$(O) \
 
351
        $(TOM)_mp_to_signed_bin$(O) \
 
352
        $(TOM)_mp_to_unsigned_bin_n$(O) \
 
353
        $(TOM)_mp_to_unsigned_bin$(O) \
 
354
        $(TOM)_mp_unsigned_bin_size$(O) \
 
355
        $(TOM)_mp_xor$(O) \
 
356
        $(TOM)_mp_zero$(O) \
 
357
        $(TOM)_prime_tab$(O) \
 
358
        $(TOM)_reverse$(O) \
 
359
        $(TOM)_s_mp_add$(O) \
 
360
        $(TOM)_s_mp_exptmod$(O) \
 
361
        $(TOM)_s_mp_mul_digs$(O) \
 
362
        $(TOM)_s_mp_mul_high_digs$(O) \
 
363
        $(TOM)_s_mp_sqr$(O) \
 
364
        $(TOM)_s_mp_sub$(O)
 
365
 
 
366
LIBTOMMATH_H =  3rdparty/libtommath/tommath_class.h \
 
367
        3rdparty/libtommath/tommath.h \
 
368
        3rdparty/libtommath/tommath_superclass.h \
 
369
 
 
370
LIBTOMMATH_SOURCE =     3rdparty/libtommath/bncore.c \
 
371
        3rdparty/libtommath/bn_error.c \
 
372
        3rdparty/libtommath/bn_fast_mp_invmod.c \
 
373
        3rdparty/libtommath/bn_fast_mp_montgomery_reduce.c \
 
374
        3rdparty/libtommath/bn_fast_s_mp_mul_digs.c \
 
375
        3rdparty/libtommath/bn_fast_s_mp_mul_high_digs.c \
 
376
        3rdparty/libtommath/bn_fast_s_mp_sqr.c \
 
377
        3rdparty/libtommath/bn_mp_2expt.c \
 
378
        3rdparty/libtommath/bn_mp_abs.c \
 
379
        3rdparty/libtommath/bn_mp_add.c \
 
380
        3rdparty/libtommath/bn_mp_add_d.c \
 
381
        3rdparty/libtommath/bn_mp_addmod.c \
 
382
        3rdparty/libtommath/bn_mp_and.c \
 
383
        3rdparty/libtommath/bn_mp_clamp.c \
 
384
        3rdparty/libtommath/bn_mp_clear.c \
 
385
        3rdparty/libtommath/bn_mp_clear_multi.c \
 
386
        3rdparty/libtommath/bn_mp_cmp.c \
 
387
        3rdparty/libtommath/bn_mp_cmp_d.c \
 
388
        3rdparty/libtommath/bn_mp_cmp_mag.c \
 
389
        3rdparty/libtommath/bn_mp_cnt_lsb.c \
 
390
        3rdparty/libtommath/bn_mp_copy.c \
 
391
        3rdparty/libtommath/bn_mp_count_bits.c \
 
392
        3rdparty/libtommath/bn_mp_div_2.c \
 
393
        3rdparty/libtommath/bn_mp_div_2d.c \
 
394
        3rdparty/libtommath/bn_mp_div_3.c \
 
395
        3rdparty/libtommath/bn_mp_div.c \
 
396
        3rdparty/libtommath/bn_mp_div_d.c \
 
397
        3rdparty/libtommath/bn_mp_dr_is_modulus.c \
 
398
        3rdparty/libtommath/bn_mp_dr_reduce.c \
 
399
        3rdparty/libtommath/bn_mp_dr_setup.c \
 
400
        3rdparty/libtommath/bn_mp_exch.c \
 
401
        3rdparty/libtommath/bn_mp_expt_d.c \
 
402
        3rdparty/libtommath/bn_mp_exptmod.c \
 
403
        3rdparty/libtommath/bn_mp_exptmod_fast.c \
 
404
        3rdparty/libtommath/bn_mp_exteuclid.c \
 
405
        3rdparty/libtommath/bn_mp_fread.c \
 
406
        3rdparty/libtommath/bn_mp_fwrite.c \
 
407
        3rdparty/libtommath/bn_mp_gcd.c \
 
408
        3rdparty/libtommath/bn_mp_get_int.c \
 
409
        3rdparty/libtommath/bn_mp_get_long.c \
 
410
        3rdparty/libtommath/bn_mp_grow.c \
 
411
        3rdparty/libtommath/bn_mp_init.c \
 
412
        3rdparty/libtommath/bn_mp_init_copy.c \
 
413
        3rdparty/libtommath/bn_mp_init_multi.c \
 
414
        3rdparty/libtommath/bn_mp_init_set.c \
 
415
        3rdparty/libtommath/bn_mp_init_set_int.c \
 
416
        3rdparty/libtommath/bn_mp_init_size.c \
 
417
        3rdparty/libtommath/bn_mp_invmod.c \
 
418
        3rdparty/libtommath/bn_mp_invmod_slow.c \
 
419
        3rdparty/libtommath/bn_mp_is_square.c \
 
420
        3rdparty/libtommath/bn_mp_jacobi.c \
 
421
        3rdparty/libtommath/bn_mp_karatsuba_mul.c \
 
422
        3rdparty/libtommath/bn_mp_karatsuba_sqr.c \
 
423
        3rdparty/libtommath/bn_mp_lcm.c \
 
424
        3rdparty/libtommath/bn_mp_lshd.c \
 
425
        3rdparty/libtommath/bn_mp_mod_2d.c \
 
426
        3rdparty/libtommath/bn_mp_mod.c \
 
427
        3rdparty/libtommath/bn_mp_mod_d.c \
 
428
        3rdparty/libtommath/bn_mp_montgomery_calc_normalization.c \
 
429
        3rdparty/libtommath/bn_mp_montgomery_reduce.c \
 
430
        3rdparty/libtommath/bn_mp_montgomery_setup.c \
 
431
        3rdparty/libtommath/bn_mp_mul_2.c \
 
432
        3rdparty/libtommath/bn_mp_mul_2d.c \
 
433
        3rdparty/libtommath/bn_mp_mul.c \
 
434
        3rdparty/libtommath/bn_mp_mul_d.c \
 
435
        3rdparty/libtommath/bn_mp_mulmod.c \
 
436
        3rdparty/libtommath/bn_mp_neg.c \
 
437
        3rdparty/libtommath/bn_mp_n_root.c \
 
438
        3rdparty/libtommath/bn_mp_or.c \
 
439
        3rdparty/libtommath/bn_mp_prime_fermat.c \
 
440
        3rdparty/libtommath/bn_mp_prime_is_divisible.c \
 
441
        3rdparty/libtommath/bn_mp_prime_is_prime.c \
 
442
        3rdparty/libtommath/bn_mp_prime_miller_rabin.c \
 
443
        3rdparty/libtommath/bn_mp_prime_next_prime.c \
 
444
        3rdparty/libtommath/bn_mp_prime_rabin_miller_trials.c \
 
445
        3rdparty/libtommath/bn_mp_prime_random_ex.c \
 
446
        3rdparty/libtommath/bn_mp_radix_size.c \
 
447
        3rdparty/libtommath/bn_mp_radix_smap.c \
 
448
        3rdparty/libtommath/bn_mp_rand.c \
 
449
        3rdparty/libtommath/bn_mp_read_radix.c \
 
450
        3rdparty/libtommath/bn_mp_read_signed_bin.c \
 
451
        3rdparty/libtommath/bn_mp_read_unsigned_bin.c \
 
452
        3rdparty/libtommath/bn_mp_reduce_2k.c \
 
453
        3rdparty/libtommath/bn_mp_reduce_2k_l.c \
 
454
        3rdparty/libtommath/bn_mp_reduce_2k_setup.c \
 
455
        3rdparty/libtommath/bn_mp_reduce_2k_setup_l.c \
 
456
        3rdparty/libtommath/bn_mp_reduce.c \
 
457
        3rdparty/libtommath/bn_mp_reduce_is_2k.c \
 
458
        3rdparty/libtommath/bn_mp_reduce_is_2k_l.c \
 
459
        3rdparty/libtommath/bn_mp_reduce_setup.c \
 
460
        3rdparty/libtommath/bn_mp_rshd.c \
 
461
        3rdparty/libtommath/bn_mp_set.c \
 
462
        3rdparty/libtommath/bn_mp_set_int.c \
 
463
        3rdparty/libtommath/bn_mp_set_long.c \
 
464
        3rdparty/libtommath/bn_mp_shrink.c \
 
465
        3rdparty/libtommath/bn_mp_signed_bin_size.c \
 
466
        3rdparty/libtommath/bn_mp_sqr.c \
 
467
        3rdparty/libtommath/bn_mp_sqrmod.c \
 
468
        3rdparty/libtommath/bn_mp_sqrt.c \
 
469
        3rdparty/libtommath/bn_mp_sub.c \
 
470
        3rdparty/libtommath/bn_mp_sub_d.c \
 
471
        3rdparty/libtommath/bn_mp_submod.c \
 
472
        3rdparty/libtommath/bn_mp_toom_mul.c \
 
473
        3rdparty/libtommath/bn_mp_toom_sqr.c \
 
474
        3rdparty/libtommath/bn_mp_toradix.c \
 
475
        3rdparty/libtommath/bn_mp_toradix_n.c \
 
476
        3rdparty/libtommath/bn_mp_to_signed_bin.c \
 
477
        3rdparty/libtommath/bn_mp_to_signed_bin_n.c \
 
478
        3rdparty/libtommath/bn_mp_to_unsigned_bin.c \
 
479
        3rdparty/libtommath/bn_mp_to_unsigned_bin_n.c \
 
480
        3rdparty/libtommath/bn_mp_unsigned_bin_size.c \
 
481
        3rdparty/libtommath/bn_mp_xor.c \
 
482
        3rdparty/libtommath/bn_mp_zero.c \
 
483
        3rdparty/libtommath/bn_prime_tab.c \
 
484
        3rdparty/libtommath/bn_reverse.c \
 
485
        3rdparty/libtommath/bn_s_mp_add.c \
 
486
        3rdparty/libtommath/bn_s_mp_exptmod.c \
 
487
        3rdparty/libtommath/bn_s_mp_mul_digs.c \
 
488
        3rdparty/libtommath/bn_s_mp_mul_high_digs.c \
 
489
        3rdparty/libtommath/bn_s_mp_sqr.c \
 
490
        3rdparty/libtommath/bn_s_mp_sub.c \
 
491
 
 
492
BIGINT_OPS        = nqp_bigint_ops
 
493
BIGINT_OPS_SOURCE = nqp_bigint.ops
 
494
 
 
495
DYNCALL_BIN = 3rdparty/dyncall/dyncall/libdyncall_s$(A) \
 
496
  3rdparty/dyncall/dyncallback/libdyncallback_s$(A) \
 
497
  3rdparty/dyncall/dynload/libdynload_s$(A)
 
498
 
 
499
DYNCALL_OPS        = nqp_dyncall_ops
 
500
DYNCALL_OPS_SOURCE = nqp_dyncall.ops
 
501
 
 
502
NQP_CONST_PIR = nqp_const.pir
 
503
 
 
504
CLEANUPS = \
 
505
  *.manifest \
 
506
  *.pdb \
 
507
  $(REGEX_PBC) \
 
508
  $(HLL_PBC) \
 
509
  $(P6REGEX_PBC) \
 
510
  $(NQP_MO_PBC) \
 
511
  $(CORE_SETTING_PBC) \
 
512
  $(MODULE_LOADER_PBC) \
 
513
  P6Regex$(EXE) \
 
514
  nqp.pbc \
 
515
  nqp$(EXE) \
 
516
  $(PARROT_DLL_COPY) \
 
517
  *.c\
 
518
  *.o\
 
519
  src/vm/parrot/stage0/*.pbc \
 
520
  src/stage1/gen/* \
 
521
  src/stage1/*.pbc \
 
522
  src/stage2/gen/* \
 
523
  src/stage2/*.pbc \
 
524
  src/gen/*.pir \
 
525
  src/gen/*.nqp \
 
526
  src/gen/*.nqp \
 
527
  $(PMC_DIR)/pmc_*.h \
 
528
  $(PMC_DIR)/*.c \
 
529
  $(PMC_DIR)/*.dump \
 
530
  $(PMC_DIR)/*$(O) \
 
531
  $(PMC_DIR)/*$(LOAD_EXT) \
 
532
  $(PMC_DIR)/*.exp \
 
533
  $(PMC_DIR)/*.ilk \
 
534
  $(PMC_DIR)/*.manifest \
 
535
  $(PMC_DIR)/*.pdb \
 
536
  $(PMC_DIR)/*.lib \
 
537
  $(PMC_DIR)/objectref.pmc \
 
538
  $(OPS_DIR)/*.h \
 
539
  $(OPS_DIR)/*.c \
 
540
  $(OPS_DIR)/*$(O) \
 
541
  $(OPS_DIR)/*$(LOAD_EXT) \
 
542
  $(OPS_DIR)/*.exp \
 
543
  $(OPS_DIR)/*.lib \
 
544
  $(OPS_DIR)/*.pdb \
 
545
  3rdparty/libtommath/*$(O) \
 
546
  3rdparty/sha1/*$(O) \
 
547
  $(DYNEXT_DIR)/*$(LOAD_EXT) \
 
548
  $(NQP_CONST_PIR) \
 
549
  src/vm/parrot/guts/*$(O) \
 
550
  src/vm/parrot/guts/*.pdb \
 
551
  src/vm/parrot/6model/*$(O) \
 
552
  src/vm/parrot/6model/*.pdb \
 
553
  src/vm/parrot/6model/reprs/*$(O) \
 
554
  src/vm/parrot/6model/reprs/*.pdb \
 
555
 
 
556
all: $(NQP_EXE) $(P5QREGEX_PBC)
 
557
 
 
558
install: all
 
559
        $(MKPATH)                   $(DESTDIR)$(PARROT_LIBRARY_DIR)
 
560
        $(MKPATH)                   $(DESTDIR)$(PARROT_LIB_DIR)/include
 
561
        $(CP)  $(MODULE_LOADER_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(MODULE_LOADER_PBC)
 
562
        $(CP)  $(NQP_CONST_PIR)     $(DESTDIR)$(PARROT_LIB_DIR)/include/$(NQP_CONST_PIR)
 
563
        $(MKPATH)                   $(DESTDIR)$(NQP_LANG_DIR)/lib
 
564
        $(CP)  $(QAST_PBC)          $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QAST_PBC)
 
565
        $(CP)  $(QASTNODE_PBC)      $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QASTNODE_PBC)
 
566
        $(CP)  $(P6QREGEX_PBC)      $(DESTDIR)$(NQP_LANG_DIR)/lib/$(P6QREGEX_PBC)
 
567
        $(CP)  $(P5QREGEX_PBC)      $(DESTDIR)$(NQP_LANG_DIR)/lib/$(P5QREGEX_PBC)
 
568
        $(CP)  $(HLL_PBC)           $(DESTDIR)$(NQP_LANG_DIR)/lib/$(HLL_PBC)
 
569
        $(CP)  $(CORE_SETTING_PBC)  $(DESTDIR)$(NQP_LANG_DIR)/lib/$(CORE_SETTING_PBC)
 
570
        $(CP)  $(NQP_MO_PBC)        $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_MO_PBC)
 
571
        $(CP)  $(NQP_PBC)           $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_PBC)
 
572
        $(CP)  $(QREGEX_PBC)        $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QREGEX_PBC)
 
573
        $(MKPATH)              $(DESTDIR)$(PARROT_BIN_DIR)
 
574
        $(CP)  $(NQP_EXE)      $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
 
575
        $(CHMOD)  755          $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
 
576
        $(MKPATH)                     $(DESTDIR)$(PARROT_LIB_DIR)/dynext
 
577
        $(CP)     $(DYNPMC) $(DYNOPS) $(OPS_DIR)/$(BIGINT_OPS)$(LOAD_EXT) $(OPS_DIR)/$(DYNCALL_OPS)$(LOAD_EXT) $(DESTDIR)$(PARROT_LIB_DIR)/dynext
 
578
        $(MKPATH)                     $(DESTDIR)$(PARROT_INCLUDE_DIR)/dynpmc
 
579
        $(CP)       $(DYNPMC_HEADERS) $(DESTDIR)$(PARROT_INCLUDE_DIR)/dynpmc
 
580
 
 
581
stage0: $(STAGE0)
 
582
stage1: $(STAGE1)
 
583
stage2: $(STAGE2)
 
584
 
 
585
$(STAGE0): $(STAGE0_PBCS)
 
586
 
 
587
$(STAGE0_PBCS): $(DYNEXT_TARGET) $(STAGE0_SOURCES)
 
588
        $(PARROT) -o $(STAGE0)/$(NQP_MO_PBC)       src/vm/parrot/stage0/NQPMO-s0.pir
 
589
        $(PARROT) -o $(STAGE0)/$(MODULE_LOADER_PBC) src/vm/parrot/stage0/ModuleLoader-s0.pir
 
590
        $(PARROT) -o $(STAGE0)/$(CORE_SETTING_PBC) src/vm/parrot/stage0/NQPCORE.setting-s0.pir
 
591
        $(PARROT) -o $(STAGE0)/$(QASTNODE_PBC)     src/vm/parrot/stage0/QASTNode-s0.pir
 
592
        $(PARROT) -o $(STAGE0)/$(QREGEX_PBC)       src/vm/parrot/stage0/QRegex-s0.pir
 
593
        $(PARROT) -o $(STAGE0)/$(HLL_PBC)          src/vm/parrot/stage0/HLL-s0.pir
 
594
        $(PARROT) -o $(STAGE0)/$(QAST_PBC)         src/vm/parrot/stage0/QAST-s0.pir
 
595
        $(PARROT) -o $(STAGE0)/$(P6QREGEX_PBC)     src/vm/parrot/stage0/P6QRegex-s0.pir
 
596
        $(PARROT) -o $(STAGE0)/$(NQP_PBC)          src/vm/parrot/stage0/NQP-s0.pir
 
597
 
 
598
$(STAGE1): $(STAGE1_PBCS)
 
599
 
 
600
$(STAGE1)/$(NQP_MO_PBC): $(NQP_CONST_PIR) $(STAGE0_PBCS) $(NQP_MO_SOURCES)
 
601
        $(MKPATH) $(STAGE1)/gen
 
602
        $(PERL) tools/build/gen-cat.pl parrot $(NQP_MO_SOURCES) > $(STAGE1)/$(NQP_MO_COMBINED)
 
603
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
604
            --target=pir --output=$(STAGE1)/$(NQP_MO_PIR) \
 
605
            --setting=NULL --no-regex-lib $(STAGE1)/$(NQP_MO_COMBINED)
 
606
        $(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(NQP_MO_PBC) \
 
607
            $(STAGE1)/$(NQP_MO_PIR)
 
608
 
 
609
$(STAGE1)/$(MODULE_LOADER_PBC): $(STAGE0_PBCS) src/vm/parrot/ModuleLoader.nqp
 
610
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
611
            --target=pir --output=$(STAGE1)/gen/module_loader.pir \
 
612
            --setting=NULL --no-regex-lib src/vm/parrot/ModuleLoader.nqp
 
613
        $(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(MODULE_LOADER_PBC) \
 
614
            $(STAGE1)/gen/module_loader.pir
 
615
 
 
616
$(STAGE1)/$(CORE_SETTING_PBC): $(STAGE0_PBCS) $(STAGE1)/$(NQP_MO_PBC) $(STAGE1)/$(MODULE_LOADER_PBC) $(CORE_SETTING_SOURCES)
 
617
        $(MKPATH) $(STAGE1)/gen
 
618
        $(PERL) tools/build/gen-cat.pl parrot $(CORE_SETTING_SOURCES) > $(STAGE1)/$(CORE_SETTING_NQP)
 
619
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
620
            --target=pir --output=$(STAGE1)/$(CORE_SETTING_PIR) \
 
621
            --module-path=$(STAGE1) --setting=NULL --no-regex-lib \
 
622
        $(STAGE1)/$(CORE_SETTING_NQP)
 
623
        $(PARROT) -o $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(CORE_SETTING_PIR)
 
624
 
 
625
$(STAGE1)/$(QASTNODE_PBC): $(STAGE0_PBCS) $(STAGE1)/$(CORE_SETTING_PBC) $(QASTNODE_SOURCES)
 
626
        $(MKPATH) $(STAGE1)/gen
 
627
        $(PERL) tools/build/gen-cat.pl parrot $(QASTNODE_SOURCES) > $(STAGE1)/$(QASTNODE_COMBINED)
 
628
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
629
            --target=pir --output=$(STAGE1)/$(QASTNODE_PIR) \
 
630
            --module-path=$(STAGE1) --setting-path=$(STAGE1) --no-regex-lib \
 
631
        $(STAGE1)/$(QASTNODE_COMBINED)
 
632
        $(PARROT) -o $(STAGE1)/$(QASTNODE_PBC) $(STAGE1)/$(QASTNODE_PIR)
 
633
 
 
634
$(STAGE1)/$(QREGEX_PBC): $(STAGE0_PBCS) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(QASTNODE_PBC) $(QREGEX_SOURCES)
 
635
        $(MKPATH) $(STAGE1)/gen
 
636
        $(PERL) tools/build/gen-cat.pl parrot $(QREGEX_SOURCES) > $(STAGE1)/$(QREGEX_COMBINED)
 
637
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
638
            --target=pir --output=$(STAGE1)/$(QREGEX_PIR) \
 
639
            --module-path=$(STAGE1) --setting-path=$(STAGE1) --no-regex-lib \
 
640
        $(STAGE1)/$(QREGEX_COMBINED)
 
641
        $(PARROT) -o $(STAGE1)/$(QREGEX_PBC) $(STAGE1)/$(QREGEX_PIR)
 
642
 
 
643
$(STAGE1)/$(HLL_PBC): $(STAGE0_PBCS) $(STAGE1)/$(QREGEX_PBC) $(STAGE1)/$(QASTNODE_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(HLL_SOURCES)
 
644
        $(MKPATH) $(STAGE1)/gen
 
645
        $(PERL) tools/build/gen-cat.pl parrot $(HLL_SOURCES) > $(STAGE1)/$(HLL_COMBINED)
 
646
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
647
            --target=pir --output=$(STAGE1)/$(HLL_COMBINED_PIR) \
 
648
            --module-path=$(STAGE1) --setting-path=$(STAGE1) --no-regex-lib \
 
649
        $(STAGE1)/$(HLL_COMBINED)
 
650
        $(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(HLL_PBC) \
 
651
            $(STAGE1)/$(HLL_COMBINED_PIR)
 
652
 
 
653
$(STAGE1)/$(QAST_PBC): $(STAGE0_PBCS) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(HLL_PBC) $(QAST_SOURCES)
 
654
        $(MKPATH) $(STAGE1)/gen
 
655
        $(PERL) tools/build/gen-cat.pl parrot $(QAST_SOURCES) > $(STAGE1)/$(QAST_COMBINED)
 
656
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
657
            --target=pir --output=$(STAGE1)/$(QAST_PIR) \
 
658
            --module-path=$(STAGE1) --setting-path=$(STAGE1) --no-regex-lib \
 
659
        $(STAGE1)/$(QAST_COMBINED)
 
660
        $(PARROT) -o $(STAGE1)/$(QAST_PBC) $(STAGE1)/$(QAST_PIR)
 
661
 
 
662
$(STAGE1)/$(P6QREGEX_PBC): $(STAGE0_PBCS) $(STAGE1)/$(HLL_PBC) $(STAGE1)/$(QREGEX_PBC) $(STAGE1)/$(QAST_PBC) $(P6QREGEX_SOURCES)
 
663
        $(MKPATH) $(STAGE1)/gen
 
664
        $(PERL) tools/build/gen-cat.pl parrot $(P6QREGEX_SOURCES) > $(STAGE1)/$(P6QREGEX_COMBINED)
 
665
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
666
            --target=pir --output=$(STAGE1)/$(P6QREGEX_COMBINED_PIR) \
 
667
            --module-path=$(STAGE1) --setting-path=$(STAGE1) --no-regex-lib \
 
668
        $(STAGE1)/$(P6QREGEX_COMBINED)
 
669
        $(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(P6QREGEX_PBC) \
 
670
            $(STAGE1)/$(P6QREGEX_COMBINED_PIR)
 
671
 
 
672
$(STAGE1)/$(NQP_PBC): $(STAGE0_PBCS) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(P6QREGEX_PBC) $(NQP_SOURCES)
 
673
        $(MKPATH) $(STAGE1)/gen
 
674
        $(PERL) tools/build/gen-version.pl >src/gen/nqp-config.nqp
 
675
        $(PERL) tools/build/gen-cat.pl parrot $(NQP_SOURCES) src/gen/nqp-config.nqp > $(STAGE1)/$(NQP_COMBINED)
 
676
        $(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
 
677
            --target=pir --output=$(STAGE1)/$(NQP_COMBINED_PIR) \
 
678
            --module-path=$(STAGE1) --setting-path=$(STAGE1) $(STAGE1)/$(NQP_COMBINED)
 
679
        $(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(NQP_PBC) \
 
680
            $(STAGE1)/$(NQP_COMBINED_PIR)
 
681
 
 
682
$(STAGE2): $(STAGE2_PBCS)
 
683
 
 
684
$(STAGE2)/$(NQP_MO_PBC): $(STAGE1_PBCS) $(NQP_MO_SOURCES)
 
685
        $(MKPATH) $(STAGE2)/gen
 
686
        $(PERL) tools/build/gen-cat.pl parrot $(NQP_MO_SOURCES) > $(STAGE2)/$(NQP_MO_COMBINED)
 
687
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
688
            --target=pir --output=$(STAGE2)/$(NQP_MO_PIR) \
 
689
            --setting=NULL $(STAGE2)/$(NQP_MO_COMBINED)
 
690
        $(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(NQP_MO_PBC) \
 
691
            $(STAGE2)/$(NQP_MO_PIR)
 
692
 
 
693
$(STAGE2)/$(MODULE_LOADER_PBC): $(STAGE1_PBCS) src/vm/parrot/ModuleLoader.nqp
 
694
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
695
            --target=pir --output=$(STAGE2)/gen/module_loader.pir \
 
696
            --setting=NULL src/vm/parrot/ModuleLoader.nqp
 
697
        $(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(MODULE_LOADER_PBC) \
 
698
            $(STAGE2)/gen/module_loader.pir
 
699
 
 
700
$(STAGE2)/$(CORE_SETTING_PBC): $(STAGE1_PBCS) $(STAGE2)/$(NQP_MO_PBC) $(STAGE2)/$(MODULE_LOADER_PBC) $(CORE_SETTING_SOURCES)
 
701
        $(MKPATH) $(STAGE2)/gen
 
702
        $(PERL) tools/build/gen-cat.pl parrot $(CORE_SETTING_SOURCES) > $(STAGE2)/$(CORE_SETTING_NQP)
 
703
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
704
            --target=pir --output=$(STAGE2)/$(CORE_SETTING_PIR) \
 
705
            --module-path=$(STAGE2) --setting=NULL $(STAGE2)/$(CORE_SETTING_NQP)
 
706
        $(PARROT) -o $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(CORE_SETTING_PIR)
 
707
 
 
708
$(STAGE2)/$(QASTNODE_PBC): $(STAGE1_PBCS) $(STAGE2)/$(CORE_SETTING_PBC) $(QASTNODE_SOURCES)
 
709
        $(MKPATH) $(STAGE2)/gen
 
710
        $(PERL) tools/build/gen-cat.pl parrot $(QASTNODE_SOURCES) > $(STAGE2)/$(QASTNODE_COMBINED)
 
711
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
712
            --target=pir --output=$(STAGE2)/$(QASTNODE_PIR) --no-regex-lib \
 
713
            --module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(QASTNODE_COMBINED)
 
714
        $(PARROT) -o $(STAGE2)/$(QASTNODE_PBC) $(STAGE2)/$(QASTNODE_PIR)
 
715
 
 
716
$(STAGE2)/$(QREGEX_PBC): $(STAGE1_PBCS) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(QASTNODE_PBC) $(QREGEX_SOURCES)
 
717
        $(MKPATH) $(STAGE2)/gen
 
718
        $(PERL) tools/build/gen-cat.pl parrot $(QREGEX_SOURCES) > $(STAGE2)/$(QREGEX_COMBINED)
 
719
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
720
            --target=pir --output=$(STAGE2)/$(QREGEX_PIR) --no-regex-lib \
 
721
            --module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(QREGEX_COMBINED)
 
722
        $(PARROT) -o $(STAGE2)/$(QREGEX_PBC) $(STAGE2)/$(QREGEX_PIR)
 
723
 
 
724
$(STAGE2)/$(HLL_PBC): $(STAGE1_PBCS) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(QREGEX_PBC) $(STAGE2)/$(QASTNODE_PBC) $(HLL_SOURCES)
 
725
        $(MKPATH) $(STAGE2)/gen
 
726
        $(PERL) tools/build/gen-cat.pl parrot $(HLL_SOURCES) > $(STAGE2)/$(HLL_COMBINED)
 
727
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
728
            --target=pir --output=$(STAGE2)/$(HLL_COMBINED_PIR) --no-regex-lib \
 
729
            --module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(HLL_COMBINED)
 
730
        $(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(HLL_PBC) \
 
731
            $(STAGE2)/$(HLL_COMBINED_PIR)
 
732
 
 
733
$(STAGE2)/$(QAST_PBC): $(STAGE1_PBCS) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(HLL_PBC) $(QAST_SOURCES)
 
734
        $(MKPATH) $(STAGE2)/gen
 
735
        $(PERL) tools/build/gen-cat.pl parrot $(QAST_SOURCES) > $(STAGE2)/$(QAST_COMBINED)
 
736
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
737
            --target=pir --output=$(STAGE2)/$(QAST_PIR) --no-regex-lib \
 
738
            --module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(QAST_COMBINED)
 
739
        $(PARROT) -o $(STAGE2)/$(QAST_PBC) $(STAGE2)/$(QAST_PIR)
 
740
 
 
741
$(STAGE2)/$(P6QREGEX_PBC): $(STAGE1_PBCS) $(STAGE2)/$(HLL_PBC) $(STAGE2)/$(QAST_PBC) $(P6QREGEX_SOURCES)
 
742
        $(MKPATH) $(STAGE2)/gen
 
743
        $(PERL) tools/build/gen-cat.pl parrot $(P6QREGEX_SOURCES) > $(STAGE2)/$(P6QREGEX_COMBINED)
 
744
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
745
            --target=pir --output=$(STAGE2)/$(P6QREGEX_COMBINED_PIR) --no-regex-lib \
 
746
            --module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(P6QREGEX_COMBINED)
 
747
        $(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(P6QREGEX_PBC) \
 
748
            $(STAGE2)/$(P6QREGEX_COMBINED_PIR)
 
749
 
 
750
$(STAGE2)/$(NQP_PBC): $(STAGE1_PBCS) $(STAGE2)/$(P6QREGEX_PBC) $(NQP_SOURCES)
 
751
        $(MKPATH) $(STAGE2)/gen
 
752
        $(PERL) tools/build/gen-version.pl >src/gen/nqp-config.nqp
 
753
        $(PERL) tools/build/gen-cat.pl parrot $(NQP_SOURCES) src/gen/nqp-config.nqp > $(STAGE2)/$(NQP_COMBINED)
 
754
        $(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
 
755
            --target=pir --output=$(STAGE2)/$(NQP_COMBINED_PIR) \
 
756
            --module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(NQP_COMBINED)
 
757
        $(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(NQP_PBC) \
 
758
            $(STAGE2)/$(NQP_COMBINED_PIR)
 
759
 
 
760
$(ALL_PBCS): $(STAGE2_PBCS)
 
761
        $(CP) $(STAGE2)/$(NQP_MO_PBC) .
 
762
        $(CP) $(STAGE2)/$(MODULE_LOADER_PBC) .
 
763
        $(CP) $(STAGE2)/$(CORE_SETTING_PBC) .
 
764
        $(CP) $(STAGE2)/$(QASTNODE_PBC) .
 
765
        $(CP) $(STAGE2)/$(QREGEX_PBC) .
 
766
        $(CP) $(STAGE2)/$(HLL_PBC) .
 
767
        $(CP) $(STAGE2)/$(QAST_PBC) .
 
768
        $(CP) $(STAGE2)/$(P6QREGEX_PBC) .
 
769
        $(CP) $(STAGE2)/$(NQP_PBC) .
 
770
 
 
771
$(NQP_EXE): $(NQP_PBC) $(PARROT_DLL_COPY)
 
772
        $(PBC_TO_EXE) $(NQP_PBC)
 
773
 
 
774
$(P5QREGEX_PBC): $(NQP_EXE) $(P5QREGEX_SOURCES)
 
775
        $(MKPATH) $(STAGE2)/gen
 
776
        $(PERL) tools/build/gen-cat.pl parrot $(P5QREGEX_SOURCES) > $(STAGE2)/$(P5QREGEX_COMBINED)
 
777
        ./$(NQP_EXE) --target=pir --output=$(STAGE2)/$(P5QREGEX_COMBINED_PIR) \
 
778
            $(STAGE2)/$(P5QREGEX_COMBINED)
 
779
        $(PARROT) -o $(P5QREGEX_PBC) $(STAGE2)/$(P5QREGEX_COMBINED_PIR)
 
780
 
 
781
@make_dllcopy@
 
782
 
 
783
$(DYNEXT_TARGET): $(DYNPMC) $(DYNOPS) $(OPS_DIR)/$(BIGINT_OPS)$(LOAD_EXT) $(OPS_DIR)/$(DYNCALL_OPS)$(LOAD_EXT)
 
784
        $(CP) $(DYNPMC) $(DYNEXT_DIR)
 
785
        $(CP) $(DYNOPS) $(DYNEXT_DIR)
 
786
        $(CP) $(OPS_DIR)/$(BIGINT_OPS)$(LOAD_EXT) $(DYNEXT_DIR)
 
787
        $(CP) $(OPS_DIR)/$(DYNCALL_OPS)$(LOAD_EXT) $(DYNEXT_DIR)
 
788
        $(CHMOD) 755 $(DYNEXT_TARGET)
 
789
        $(CHMOD) 755 $(DYNEXT_DIR)/$(OPS)$(LOAD_EXT)
 
790
 
 
791
$(DYNPMC): $(PMC_SOURCES) $(METAMODEL_SOURCE)
 
792
        $(PMC2C) --no-lines --dump $(PMC2C_INCLUDES) $(PMC_SOURCES)
 
793
        $(PMC2C) --no-lines --c $(PMC2C_INCLUDES) $(PMC_SOURCES)
 
794
        $(PMC2C) --no-lines --library $(GROUP) --c $(PMC_SOURCES)
 
795
        $(CC) -c @cc_o_out@$(GROUP)$(O) -I$(PMC_DIR) $(CINCLUDES) $(CFLAGS) $(GROUP).c
 
796
        cd $(PMC_DIR) && $(CC) -c $(CINCLUDES) -I../../../../3rdparty/libtommath $(CFLAGS) *.c
 
797
        $(LD) @ld_out@$(DYNPMC) $(GROUP)$(O) src/vm/parrot/pmc/*$(O) $(LINKARGS)
 
798
 
 
799
$(OPS_DIR)/$(OPS)$(LOAD_EXT): $(OPS_DIR)/$(OPS_SOURCE) $(DYNPMC)
 
800
        cd $(OPS_DIR) && $(OPS2C) C --dynamic $(OPS_SOURCE)
 
801
        cd $(OPS_DIR) && $(CC) -c @cc_o_out@$(OPS)$(O) $(CINCLUDES) $(CFLAGS) $(OPS).c
 
802
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@sixmodelobject$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) sixmodelobject.c
 
803
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@repr_registry$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) repr_registry.c
 
804
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@knowhow_bootstrapper$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) knowhow_bootstrapper.c
 
805
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@KnowHOWREPR$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) KnowHOWREPR.c
 
806
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@P6opaque$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6opaque.c
 
807
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@P6int$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6int.c
 
808
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@P6str$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6str.c
 
809
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@P6num$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6num.c
 
810
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@HashAttrStore$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) HashAttrStore.c
 
811
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@Uninstantiable$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) Uninstantiable.c
 
812
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@NFA$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) NFA.c
 
813
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@VMArray$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) VMArray.c
 
814
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@VMHash$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) VMHash.c
 
815
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@VMIter$(O) -I../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) VMIter.c
 
816
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@serialization_context$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) serialization_context.c
 
817
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@serialization$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) serialization.c
 
818
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@base64$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) base64.c
 
819
        cd src/vm/parrot/6model && $(CC) -c @cc_o_out@containers$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) containers.c
 
820
        cd src/vm/parrot/guts && $(CC) -c @cc_o_out@multi_dispatch$(O) -I../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) multi_dispatch.c
 
821
        cd 3rdparty/sha1 && $(CC) -c @cc_o_out@sha1$(O) $(CINCLUDES) $(CFLAGS) sha1.c
 
822
        cd $(OPS_DIR) && $(LD) @ld_out@$(OPS)$(LOAD_EXT) $(OPS)$(O) $(METAMODEL_OBJS) ../../../../3rdparty/sha1/sha1$(O) $(LINKARGS)
 
823
 
 
824
 
 
825
3rdparty/libtommath/bncore$(O): 3rdparty/libtommath/bncore.c $(LIBTOMMATH_H)
 
826
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bncore$(O) -I. $(CFLAGS) bncore.c
 
827
3rdparty/libtommath/bn_error$(O): 3rdparty/libtommath/bn_error.c $(LIBTOMMATH_H)
 
828
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_error$(O) -I. $(CFLAGS) bn_error.c
 
829
3rdparty/libtommath/bn_fast_mp_invmod$(O): 3rdparty/libtommath/bn_fast_mp_invmod.c $(LIBTOMMATH_H)
 
830
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_fast_mp_invmod$(O) -I. $(CFLAGS) bn_fast_mp_invmod.c
 
831
3rdparty/libtommath/bn_fast_mp_montgomery_reduce$(O): 3rdparty/libtommath/bn_fast_mp_montgomery_reduce.c $(LIBTOMMATH_H)
 
832
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_fast_mp_montgomery_reduce$(O) -I. $(CFLAGS) bn_fast_mp_montgomery_reduce.c
 
833
3rdparty/libtommath/bn_fast_s_mp_mul_digs$(O): 3rdparty/libtommath/bn_fast_s_mp_mul_digs.c $(LIBTOMMATH_H)
 
834
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_fast_s_mp_mul_digs$(O) -I. $(CFLAGS) bn_fast_s_mp_mul_digs.c
 
835
3rdparty/libtommath/bn_fast_s_mp_mul_high_digs$(O): 3rdparty/libtommath/bn_fast_s_mp_mul_high_digs.c $(LIBTOMMATH_H)
 
836
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_fast_s_mp_mul_high_digs$(O) -I. $(CFLAGS) bn_fast_s_mp_mul_high_digs.c
 
837
3rdparty/libtommath/bn_fast_s_mp_sqr$(O): 3rdparty/libtommath/bn_fast_s_mp_sqr.c $(LIBTOMMATH_H)
 
838
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_fast_s_mp_sqr$(O) -I. $(CFLAGS) bn_fast_s_mp_sqr.c
 
839
3rdparty/libtommath/bn_mp_2expt$(O): 3rdparty/libtommath/bn_mp_2expt.c $(LIBTOMMATH_H)
 
840
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_2expt$(O) -I. $(CFLAGS) bn_mp_2expt.c
 
841
3rdparty/libtommath/bn_mp_abs$(O): 3rdparty/libtommath/bn_mp_abs.c $(LIBTOMMATH_H)
 
842
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_abs$(O) -I. $(CFLAGS) bn_mp_abs.c
 
843
3rdparty/libtommath/bn_mp_add$(O): 3rdparty/libtommath/bn_mp_add.c $(LIBTOMMATH_H)
 
844
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_add$(O) -I. $(CFLAGS) bn_mp_add.c
 
845
3rdparty/libtommath/bn_mp_add_d$(O): 3rdparty/libtommath/bn_mp_add_d.c $(LIBTOMMATH_H)
 
846
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_add_d$(O) -I. $(CFLAGS) bn_mp_add_d.c
 
847
3rdparty/libtommath/bn_mp_addmod$(O): 3rdparty/libtommath/bn_mp_addmod.c $(LIBTOMMATH_H)
 
848
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_addmod$(O) -I. $(CFLAGS) bn_mp_addmod.c
 
849
3rdparty/libtommath/bn_mp_and$(O): 3rdparty/libtommath/bn_mp_and.c $(LIBTOMMATH_H)
 
850
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_and$(O) -I. $(CFLAGS) bn_mp_and.c
 
851
3rdparty/libtommath/bn_mp_clamp$(O): 3rdparty/libtommath/bn_mp_clamp.c $(LIBTOMMATH_H)
 
852
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_clamp$(O) -I. $(CFLAGS) bn_mp_clamp.c
 
853
3rdparty/libtommath/bn_mp_clear$(O): 3rdparty/libtommath/bn_mp_clear.c $(LIBTOMMATH_H)
 
854
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_clear$(O) -I. $(CFLAGS) bn_mp_clear.c
 
855
3rdparty/libtommath/bn_mp_clear_multi$(O): 3rdparty/libtommath/bn_mp_clear_multi.c $(LIBTOMMATH_H)
 
856
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_clear_multi$(O) -I. $(CFLAGS) bn_mp_clear_multi.c
 
857
3rdparty/libtommath/bn_mp_cmp$(O): 3rdparty/libtommath/bn_mp_cmp.c $(LIBTOMMATH_H)
 
858
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_cmp$(O) -I. $(CFLAGS) bn_mp_cmp.c
 
859
3rdparty/libtommath/bn_mp_cmp_d$(O): 3rdparty/libtommath/bn_mp_cmp_d.c $(LIBTOMMATH_H)
 
860
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_cmp_d$(O) -I. $(CFLAGS) bn_mp_cmp_d.c
 
861
3rdparty/libtommath/bn_mp_cmp_mag$(O): 3rdparty/libtommath/bn_mp_cmp_mag.c $(LIBTOMMATH_H)
 
862
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_cmp_mag$(O) -I. $(CFLAGS) bn_mp_cmp_mag.c
 
863
3rdparty/libtommath/bn_mp_cnt_lsb$(O): 3rdparty/libtommath/bn_mp_cnt_lsb.c $(LIBTOMMATH_H)
 
864
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_cnt_lsb$(O) -I. $(CFLAGS) bn_mp_cnt_lsb.c
 
865
3rdparty/libtommath/bn_mp_copy$(O): 3rdparty/libtommath/bn_mp_copy.c $(LIBTOMMATH_H)
 
866
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_copy$(O) -I. $(CFLAGS) bn_mp_copy.c
 
867
3rdparty/libtommath/bn_mp_count_bits$(O): 3rdparty/libtommath/bn_mp_count_bits.c $(LIBTOMMATH_H)
 
868
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_count_bits$(O) -I. $(CFLAGS) bn_mp_count_bits.c
 
869
3rdparty/libtommath/bn_mp_div_2$(O): 3rdparty/libtommath/bn_mp_div_2.c $(LIBTOMMATH_H)
 
870
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_div_2$(O) -I. $(CFLAGS) bn_mp_div_2.c
 
871
3rdparty/libtommath/bn_mp_div_2d$(O): 3rdparty/libtommath/bn_mp_div_2d.c $(LIBTOMMATH_H)
 
872
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_div_2d$(O) -I. $(CFLAGS) bn_mp_div_2d.c
 
873
3rdparty/libtommath/bn_mp_div_3$(O): 3rdparty/libtommath/bn_mp_div_3.c $(LIBTOMMATH_H)
 
874
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_div_3$(O) -I. $(CFLAGS) bn_mp_div_3.c
 
875
3rdparty/libtommath/bn_mp_div$(O): 3rdparty/libtommath/bn_mp_div.c $(LIBTOMMATH_H)
 
876
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_div$(O) -I. $(CFLAGS) bn_mp_div.c
 
877
3rdparty/libtommath/bn_mp_div_d$(O): 3rdparty/libtommath/bn_mp_div_d.c $(LIBTOMMATH_H)
 
878
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_div_d$(O) -I. $(CFLAGS) bn_mp_div_d.c
 
879
3rdparty/libtommath/bn_mp_dr_is_modulus$(O): 3rdparty/libtommath/bn_mp_dr_is_modulus.c $(LIBTOMMATH_H)
 
880
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_dr_is_modulus$(O) -I. $(CFLAGS) bn_mp_dr_is_modulus.c
 
881
3rdparty/libtommath/bn_mp_dr_reduce$(O): 3rdparty/libtommath/bn_mp_dr_reduce.c $(LIBTOMMATH_H)
 
882
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_dr_reduce$(O) -I. $(CFLAGS) bn_mp_dr_reduce.c
 
883
3rdparty/libtommath/bn_mp_dr_setup$(O): 3rdparty/libtommath/bn_mp_dr_setup.c $(LIBTOMMATH_H)
 
884
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_dr_setup$(O) -I. $(CFLAGS) bn_mp_dr_setup.c
 
885
3rdparty/libtommath/bn_mp_exch$(O): 3rdparty/libtommath/bn_mp_exch.c $(LIBTOMMATH_H)
 
886
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_exch$(O) -I. $(CFLAGS) bn_mp_exch.c
 
887
3rdparty/libtommath/bn_mp_expt_d$(O): 3rdparty/libtommath/bn_mp_expt_d.c $(LIBTOMMATH_H)
 
888
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_expt_d$(O) -I. $(CFLAGS) bn_mp_expt_d.c
 
889
3rdparty/libtommath/bn_mp_exptmod$(O): 3rdparty/libtommath/bn_mp_exptmod.c $(LIBTOMMATH_H)
 
890
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_exptmod$(O) -I. $(CFLAGS) bn_mp_exptmod.c
 
891
3rdparty/libtommath/bn_mp_exptmod_fast$(O): 3rdparty/libtommath/bn_mp_exptmod_fast.c $(LIBTOMMATH_H)
 
892
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_exptmod_fast$(O) -I. $(CFLAGS) bn_mp_exptmod_fast.c
 
893
3rdparty/libtommath/bn_mp_exteuclid$(O): 3rdparty/libtommath/bn_mp_exteuclid.c $(LIBTOMMATH_H)
 
894
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_exteuclid$(O) -I. $(CFLAGS) bn_mp_exteuclid.c
 
895
3rdparty/libtommath/bn_mp_fread$(O): 3rdparty/libtommath/bn_mp_fread.c $(LIBTOMMATH_H)
 
896
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_fread$(O) -I. $(CFLAGS) bn_mp_fread.c
 
897
3rdparty/libtommath/bn_mp_fwrite$(O): 3rdparty/libtommath/bn_mp_fwrite.c $(LIBTOMMATH_H)
 
898
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_fwrite$(O) -I. $(CFLAGS) bn_mp_fwrite.c
 
899
3rdparty/libtommath/bn_mp_gcd$(O): 3rdparty/libtommath/bn_mp_gcd.c $(LIBTOMMATH_H)
 
900
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_gcd$(O) -I. $(CFLAGS) bn_mp_gcd.c
 
901
3rdparty/libtommath/bn_mp_get_int$(O): 3rdparty/libtommath/bn_mp_get_int.c $(LIBTOMMATH_H)
 
902
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_get_int$(O) -I. $(CFLAGS) bn_mp_get_int.c
 
903
3rdparty/libtommath/bn_mp_get_long$(O): 3rdparty/libtommath/bn_mp_get_long.c $(LIBTOMMATH_H)
 
904
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_get_long$(O) -I. $(CFLAGS) bn_mp_get_long.c
 
905
3rdparty/libtommath/bn_mp_grow$(O): 3rdparty/libtommath/bn_mp_grow.c $(LIBTOMMATH_H)
 
906
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_grow$(O) -I. $(CFLAGS) bn_mp_grow.c
 
907
3rdparty/libtommath/bn_mp_init$(O): 3rdparty/libtommath/bn_mp_init.c $(LIBTOMMATH_H)
 
908
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_init$(O) -I. $(CFLAGS) bn_mp_init.c
 
909
3rdparty/libtommath/bn_mp_init_copy$(O): 3rdparty/libtommath/bn_mp_init_copy.c $(LIBTOMMATH_H)
 
910
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_init_copy$(O) -I. $(CFLAGS) bn_mp_init_copy.c
 
911
3rdparty/libtommath/bn_mp_init_multi$(O): 3rdparty/libtommath/bn_mp_init_multi.c $(LIBTOMMATH_H)
 
912
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_init_multi$(O) -I. $(CFLAGS) bn_mp_init_multi.c
 
913
3rdparty/libtommath/bn_mp_init_set$(O): 3rdparty/libtommath/bn_mp_init_set.c $(LIBTOMMATH_H)
 
914
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_init_set$(O) -I. $(CFLAGS) bn_mp_init_set.c
 
915
3rdparty/libtommath/bn_mp_init_set_int$(O): 3rdparty/libtommath/bn_mp_init_set_int.c $(LIBTOMMATH_H)
 
916
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_init_set_int$(O) -I. $(CFLAGS) bn_mp_init_set_int.c
 
917
3rdparty/libtommath/bn_mp_init_size$(O): 3rdparty/libtommath/bn_mp_init_size.c $(LIBTOMMATH_H)
 
918
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_init_size$(O) -I. $(CFLAGS) bn_mp_init_size.c
 
919
3rdparty/libtommath/bn_mp_invmod$(O): 3rdparty/libtommath/bn_mp_invmod.c $(LIBTOMMATH_H)
 
920
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_invmod$(O) -I. $(CFLAGS) bn_mp_invmod.c
 
921
3rdparty/libtommath/bn_mp_invmod_slow$(O): 3rdparty/libtommath/bn_mp_invmod_slow.c $(LIBTOMMATH_H)
 
922
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_invmod_slow$(O) -I. $(CFLAGS) bn_mp_invmod_slow.c
 
923
3rdparty/libtommath/bn_mp_is_square$(O): 3rdparty/libtommath/bn_mp_is_square.c $(LIBTOMMATH_H)
 
924
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_is_square$(O) -I. $(CFLAGS) bn_mp_is_square.c
 
925
3rdparty/libtommath/bn_mp_jacobi$(O): 3rdparty/libtommath/bn_mp_jacobi.c $(LIBTOMMATH_H)
 
926
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_jacobi$(O) -I. $(CFLAGS) bn_mp_jacobi.c
 
927
3rdparty/libtommath/bn_mp_karatsuba_mul$(O): 3rdparty/libtommath/bn_mp_karatsuba_mul.c $(LIBTOMMATH_H)
 
928
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_karatsuba_mul$(O) -I. $(CFLAGS) bn_mp_karatsuba_mul.c
 
929
3rdparty/libtommath/bn_mp_karatsuba_sqr$(O): 3rdparty/libtommath/bn_mp_karatsuba_sqr.c $(LIBTOMMATH_H)
 
930
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_karatsuba_sqr$(O) -I. $(CFLAGS) bn_mp_karatsuba_sqr.c
 
931
3rdparty/libtommath/bn_mp_lcm$(O): 3rdparty/libtommath/bn_mp_lcm.c $(LIBTOMMATH_H)
 
932
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_lcm$(O) -I. $(CFLAGS) bn_mp_lcm.c
 
933
3rdparty/libtommath/bn_mp_lshd$(O): 3rdparty/libtommath/bn_mp_lshd.c $(LIBTOMMATH_H)
 
934
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_lshd$(O) -I. $(CFLAGS) bn_mp_lshd.c
 
935
3rdparty/libtommath/bn_mp_mod_2d$(O): 3rdparty/libtommath/bn_mp_mod_2d.c $(LIBTOMMATH_H)
 
936
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mod_2d$(O) -I. $(CFLAGS) bn_mp_mod_2d.c
 
937
3rdparty/libtommath/bn_mp_mod$(O): 3rdparty/libtommath/bn_mp_mod.c $(LIBTOMMATH_H)
 
938
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mod$(O) -I. $(CFLAGS) bn_mp_mod.c
 
939
3rdparty/libtommath/bn_mp_mod_d$(O): 3rdparty/libtommath/bn_mp_mod_d.c $(LIBTOMMATH_H)
 
940
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mod_d$(O) -I. $(CFLAGS) bn_mp_mod_d.c
 
941
3rdparty/libtommath/bn_mp_montgomery_calc_normalization$(O): 3rdparty/libtommath/bn_mp_montgomery_calc_normalization.c $(LIBTOMMATH_H)
 
942
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_montgomery_calc_normalization$(O) -I. $(CFLAGS) bn_mp_montgomery_calc_normalization.c
 
943
3rdparty/libtommath/bn_mp_montgomery_reduce$(O): 3rdparty/libtommath/bn_mp_montgomery_reduce.c $(LIBTOMMATH_H)
 
944
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_montgomery_reduce$(O) -I. $(CFLAGS) bn_mp_montgomery_reduce.c
 
945
3rdparty/libtommath/bn_mp_montgomery_setup$(O): 3rdparty/libtommath/bn_mp_montgomery_setup.c $(LIBTOMMATH_H)
 
946
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_montgomery_setup$(O) -I. $(CFLAGS) bn_mp_montgomery_setup.c
 
947
3rdparty/libtommath/bn_mp_mul_2$(O): 3rdparty/libtommath/bn_mp_mul_2.c $(LIBTOMMATH_H)
 
948
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mul_2$(O) -I. $(CFLAGS) bn_mp_mul_2.c
 
949
3rdparty/libtommath/bn_mp_mul_2d$(O): 3rdparty/libtommath/bn_mp_mul_2d.c $(LIBTOMMATH_H)
 
950
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mul_2d$(O) -I. $(CFLAGS) bn_mp_mul_2d.c
 
951
3rdparty/libtommath/bn_mp_mul$(O): 3rdparty/libtommath/bn_mp_mul.c $(LIBTOMMATH_H)
 
952
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mul$(O) -I. $(CFLAGS) bn_mp_mul.c
 
953
3rdparty/libtommath/bn_mp_mul_d$(O): 3rdparty/libtommath/bn_mp_mul_d.c $(LIBTOMMATH_H)
 
954
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mul_d$(O) -I. $(CFLAGS) bn_mp_mul_d.c
 
955
3rdparty/libtommath/bn_mp_mulmod$(O): 3rdparty/libtommath/bn_mp_mulmod.c $(LIBTOMMATH_H)
 
956
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_mulmod$(O) -I. $(CFLAGS) bn_mp_mulmod.c
 
957
3rdparty/libtommath/bn_mp_neg$(O): 3rdparty/libtommath/bn_mp_neg.c $(LIBTOMMATH_H)
 
958
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_neg$(O) -I. $(CFLAGS) bn_mp_neg.c
 
959
3rdparty/libtommath/bn_mp_n_root$(O): 3rdparty/libtommath/bn_mp_n_root.c $(LIBTOMMATH_H)
 
960
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_n_root$(O) -I. $(CFLAGS) bn_mp_n_root.c
 
961
3rdparty/libtommath/bn_mp_or$(O): 3rdparty/libtommath/bn_mp_or.c $(LIBTOMMATH_H)
 
962
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_or$(O) -I. $(CFLAGS) bn_mp_or.c
 
963
3rdparty/libtommath/bn_mp_prime_fermat$(O): 3rdparty/libtommath/bn_mp_prime_fermat.c $(LIBTOMMATH_H)
 
964
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_fermat$(O) -I. $(CFLAGS) bn_mp_prime_fermat.c
 
965
3rdparty/libtommath/bn_mp_prime_is_divisible$(O): 3rdparty/libtommath/bn_mp_prime_is_divisible.c $(LIBTOMMATH_H)
 
966
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_is_divisible$(O) -I. $(CFLAGS) bn_mp_prime_is_divisible.c
 
967
3rdparty/libtommath/bn_mp_prime_is_prime$(O): 3rdparty/libtommath/bn_mp_prime_is_prime.c $(LIBTOMMATH_H)
 
968
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_is_prime$(O) -I. $(CFLAGS) bn_mp_prime_is_prime.c
 
969
3rdparty/libtommath/bn_mp_prime_miller_rabin$(O): 3rdparty/libtommath/bn_mp_prime_miller_rabin.c $(LIBTOMMATH_H)
 
970
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_miller_rabin$(O) -I. $(CFLAGS) bn_mp_prime_miller_rabin.c
 
971
3rdparty/libtommath/bn_mp_prime_next_prime$(O): 3rdparty/libtommath/bn_mp_prime_next_prime.c $(LIBTOMMATH_H)
 
972
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_next_prime$(O) -I. $(CFLAGS) bn_mp_prime_next_prime.c
 
973
3rdparty/libtommath/bn_mp_prime_rabin_miller_trials$(O): 3rdparty/libtommath/bn_mp_prime_rabin_miller_trials.c $(LIBTOMMATH_H)
 
974
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_rabin_miller_trials$(O) -I. $(CFLAGS) bn_mp_prime_rabin_miller_trials.c
 
975
3rdparty/libtommath/bn_mp_prime_random_ex$(O): 3rdparty/libtommath/bn_mp_prime_random_ex.c $(LIBTOMMATH_H)
 
976
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_prime_random_ex$(O) -I. $(CFLAGS) bn_mp_prime_random_ex.c
 
977
3rdparty/libtommath/bn_mp_radix_size$(O): 3rdparty/libtommath/bn_mp_radix_size.c $(LIBTOMMATH_H)
 
978
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_radix_size$(O) -I. $(CFLAGS) bn_mp_radix_size.c
 
979
3rdparty/libtommath/bn_mp_radix_smap$(O): 3rdparty/libtommath/bn_mp_radix_smap.c $(LIBTOMMATH_H)
 
980
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_radix_smap$(O) -I. $(CFLAGS) bn_mp_radix_smap.c
 
981
3rdparty/libtommath/bn_mp_rand$(O): 3rdparty/libtommath/bn_mp_rand.c $(LIBTOMMATH_H)
 
982
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_rand$(O) -I. $(CFLAGS) bn_mp_rand.c
 
983
3rdparty/libtommath/bn_mp_read_radix$(O): 3rdparty/libtommath/bn_mp_read_radix.c $(LIBTOMMATH_H)
 
984
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_read_radix$(O) -I. $(CFLAGS) bn_mp_read_radix.c
 
985
3rdparty/libtommath/bn_mp_read_signed_bin$(O): 3rdparty/libtommath/bn_mp_read_signed_bin.c $(LIBTOMMATH_H)
 
986
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_read_signed_bin$(O) -I. $(CFLAGS) bn_mp_read_signed_bin.c
 
987
3rdparty/libtommath/bn_mp_read_unsigned_bin$(O): 3rdparty/libtommath/bn_mp_read_unsigned_bin.c $(LIBTOMMATH_H)
 
988
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_read_unsigned_bin$(O) -I. $(CFLAGS) bn_mp_read_unsigned_bin.c
 
989
3rdparty/libtommath/bn_mp_reduce_2k$(O): 3rdparty/libtommath/bn_mp_reduce_2k.c $(LIBTOMMATH_H)
 
990
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_2k$(O) -I. $(CFLAGS) bn_mp_reduce_2k.c
 
991
3rdparty/libtommath/bn_mp_reduce_2k_l$(O): 3rdparty/libtommath/bn_mp_reduce_2k_l.c $(LIBTOMMATH_H)
 
992
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_2k_l$(O) -I. $(CFLAGS) bn_mp_reduce_2k_l.c
 
993
3rdparty/libtommath/bn_mp_reduce_2k_setup$(O): 3rdparty/libtommath/bn_mp_reduce_2k_setup.c $(LIBTOMMATH_H)
 
994
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_2k_setup$(O) -I. $(CFLAGS) bn_mp_reduce_2k_setup.c
 
995
3rdparty/libtommath/bn_mp_reduce_2k_setup_l$(O): 3rdparty/libtommath/bn_mp_reduce_2k_setup_l.c $(LIBTOMMATH_H)
 
996
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_2k_setup_l$(O) -I. $(CFLAGS) bn_mp_reduce_2k_setup_l.c
 
997
3rdparty/libtommath/bn_mp_reduce$(O): 3rdparty/libtommath/bn_mp_reduce.c $(LIBTOMMATH_H)
 
998
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce$(O) -I. $(CFLAGS) bn_mp_reduce.c
 
999
3rdparty/libtommath/bn_mp_reduce_is_2k$(O): 3rdparty/libtommath/bn_mp_reduce_is_2k.c $(LIBTOMMATH_H)
 
1000
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_is_2k$(O) -I. $(CFLAGS) bn_mp_reduce_is_2k.c
 
1001
3rdparty/libtommath/bn_mp_reduce_is_2k_l$(O): 3rdparty/libtommath/bn_mp_reduce_is_2k_l.c $(LIBTOMMATH_H)
 
1002
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_is_2k_l$(O) -I. $(CFLAGS) bn_mp_reduce_is_2k_l.c
 
1003
3rdparty/libtommath/bn_mp_reduce_setup$(O): 3rdparty/libtommath/bn_mp_reduce_setup.c $(LIBTOMMATH_H)
 
1004
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_reduce_setup$(O) -I. $(CFLAGS) bn_mp_reduce_setup.c
 
1005
3rdparty/libtommath/bn_mp_rshd$(O): 3rdparty/libtommath/bn_mp_rshd.c $(LIBTOMMATH_H)
 
1006
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_rshd$(O) -I. $(CFLAGS) bn_mp_rshd.c
 
1007
3rdparty/libtommath/bn_mp_set$(O): 3rdparty/libtommath/bn_mp_set.c $(LIBTOMMATH_H)
 
1008
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_set$(O) -I. $(CFLAGS) bn_mp_set.c
 
1009
3rdparty/libtommath/bn_mp_set_int$(O): 3rdparty/libtommath/bn_mp_set_int.c $(LIBTOMMATH_H)
 
1010
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_set_int$(O) -I. $(CFLAGS) bn_mp_set_int.c
 
1011
3rdparty/libtommath/bn_mp_set_long$(O): 3rdparty/libtommath/bn_mp_set_long.c $(LIBTOMMATH_H)
 
1012
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_set_long$(O) -I. $(CFLAGS) bn_mp_set_long.c
 
1013
3rdparty/libtommath/bn_mp_shrink$(O): 3rdparty/libtommath/bn_mp_shrink.c $(LIBTOMMATH_H)
 
1014
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_shrink$(O) -I. $(CFLAGS) bn_mp_shrink.c
 
1015
3rdparty/libtommath/bn_mp_signed_bin_size$(O): 3rdparty/libtommath/bn_mp_signed_bin_size.c $(LIBTOMMATH_H)
 
1016
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_signed_bin_size$(O) -I. $(CFLAGS) bn_mp_signed_bin_size.c
 
1017
3rdparty/libtommath/bn_mp_sqr$(O): 3rdparty/libtommath/bn_mp_sqr.c $(LIBTOMMATH_H)
 
1018
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_sqr$(O) -I. $(CFLAGS) bn_mp_sqr.c
 
1019
3rdparty/libtommath/bn_mp_sqrmod$(O): 3rdparty/libtommath/bn_mp_sqrmod.c $(LIBTOMMATH_H)
 
1020
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_sqrmod$(O) -I. $(CFLAGS) bn_mp_sqrmod.c
 
1021
3rdparty/libtommath/bn_mp_sqrt$(O): 3rdparty/libtommath/bn_mp_sqrt.c $(LIBTOMMATH_H)
 
1022
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_sqrt$(O) -I. $(CFLAGS) bn_mp_sqrt.c
 
1023
3rdparty/libtommath/bn_mp_sub$(O): 3rdparty/libtommath/bn_mp_sub.c $(LIBTOMMATH_H)
 
1024
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_sub$(O) -I. $(CFLAGS) bn_mp_sub.c
 
1025
3rdparty/libtommath/bn_mp_sub_d$(O): 3rdparty/libtommath/bn_mp_sub_d.c $(LIBTOMMATH_H)
 
1026
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_sub_d$(O) -I. $(CFLAGS) bn_mp_sub_d.c
 
1027
3rdparty/libtommath/bn_mp_submod$(O): 3rdparty/libtommath/bn_mp_submod.c $(LIBTOMMATH_H)
 
1028
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_submod$(O) -I. $(CFLAGS) bn_mp_submod.c
 
1029
3rdparty/libtommath/bn_mp_toom_mul$(O): 3rdparty/libtommath/bn_mp_toom_mul.c $(LIBTOMMATH_H)
 
1030
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_toom_mul$(O) -I. $(CFLAGS) bn_mp_toom_mul.c
 
1031
3rdparty/libtommath/bn_mp_toom_sqr$(O): 3rdparty/libtommath/bn_mp_toom_sqr.c $(LIBTOMMATH_H)
 
1032
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_toom_sqr$(O) -I. $(CFLAGS) bn_mp_toom_sqr.c
 
1033
3rdparty/libtommath/bn_mp_toradix$(O): 3rdparty/libtommath/bn_mp_toradix.c $(LIBTOMMATH_H)
 
1034
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_toradix$(O) -I. $(CFLAGS) bn_mp_toradix.c
 
1035
3rdparty/libtommath/bn_mp_toradix_n$(O): 3rdparty/libtommath/bn_mp_toradix_n.c $(LIBTOMMATH_H)
 
1036
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_toradix_n$(O) -I. $(CFLAGS) bn_mp_toradix_n.c
 
1037
3rdparty/libtommath/bn_mp_to_signed_bin$(O): 3rdparty/libtommath/bn_mp_to_signed_bin.c $(LIBTOMMATH_H)
 
1038
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_to_signed_bin$(O) -I. $(CFLAGS) bn_mp_to_signed_bin.c
 
1039
3rdparty/libtommath/bn_mp_to_signed_bin_n$(O): 3rdparty/libtommath/bn_mp_to_signed_bin_n.c $(LIBTOMMATH_H)
 
1040
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_to_signed_bin_n$(O) -I. $(CFLAGS) bn_mp_to_signed_bin_n.c
 
1041
3rdparty/libtommath/bn_mp_to_unsigned_bin$(O): 3rdparty/libtommath/bn_mp_to_unsigned_bin.c $(LIBTOMMATH_H)
 
1042
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_to_unsigned_bin$(O) -I. $(CFLAGS) bn_mp_to_unsigned_bin.c
 
1043
3rdparty/libtommath/bn_mp_to_unsigned_bin_n$(O): 3rdparty/libtommath/bn_mp_to_unsigned_bin_n.c $(LIBTOMMATH_H)
 
1044
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_to_unsigned_bin_n$(O) -I. $(CFLAGS) bn_mp_to_unsigned_bin_n.c
 
1045
3rdparty/libtommath/bn_mp_unsigned_bin_size$(O): 3rdparty/libtommath/bn_mp_unsigned_bin_size.c $(LIBTOMMATH_H)
 
1046
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_unsigned_bin_size$(O) -I. $(CFLAGS) bn_mp_unsigned_bin_size.c
 
1047
3rdparty/libtommath/bn_mp_xor$(O): 3rdparty/libtommath/bn_mp_xor.c $(LIBTOMMATH_H)
 
1048
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_xor$(O) -I. $(CFLAGS) bn_mp_xor.c
 
1049
3rdparty/libtommath/bn_mp_zero$(O): 3rdparty/libtommath/bn_mp_zero.c $(LIBTOMMATH_H)
 
1050
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_mp_zero$(O) -I. $(CFLAGS) bn_mp_zero.c
 
1051
3rdparty/libtommath/bn_prime_tab$(O): 3rdparty/libtommath/bn_prime_tab.c $(LIBTOMMATH_H)
 
1052
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_prime_tab$(O) -I. $(CFLAGS) bn_prime_tab.c
 
1053
3rdparty/libtommath/bn_reverse$(O): 3rdparty/libtommath/bn_reverse.c $(LIBTOMMATH_H)
 
1054
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_reverse$(O) -I. $(CFLAGS) bn_reverse.c
 
1055
3rdparty/libtommath/bn_s_mp_add$(O): 3rdparty/libtommath/bn_s_mp_add.c $(LIBTOMMATH_H)
 
1056
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_s_mp_add$(O) -I. $(CFLAGS) bn_s_mp_add.c
 
1057
3rdparty/libtommath/bn_s_mp_exptmod$(O): 3rdparty/libtommath/bn_s_mp_exptmod.c $(LIBTOMMATH_H)
 
1058
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_s_mp_exptmod$(O) -I. $(CFLAGS) bn_s_mp_exptmod.c
 
1059
3rdparty/libtommath/bn_s_mp_mul_digs$(O): 3rdparty/libtommath/bn_s_mp_mul_digs.c $(LIBTOMMATH_H)
 
1060
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_s_mp_mul_digs$(O) -I. $(CFLAGS) bn_s_mp_mul_digs.c
 
1061
3rdparty/libtommath/bn_s_mp_mul_high_digs$(O): 3rdparty/libtommath/bn_s_mp_mul_high_digs.c $(LIBTOMMATH_H)
 
1062
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_s_mp_mul_high_digs$(O) -I. $(CFLAGS) bn_s_mp_mul_high_digs.c
 
1063
3rdparty/libtommath/bn_s_mp_sqr$(O): 3rdparty/libtommath/bn_s_mp_sqr.c $(LIBTOMMATH_H)
 
1064
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_s_mp_sqr$(O) -I. $(CFLAGS) bn_s_mp_sqr.c
 
1065
3rdparty/libtommath/bn_s_mp_sub$(O): 3rdparty/libtommath/bn_s_mp_sub.c $(LIBTOMMATH_H)
 
1066
        cd 3rdparty/libtommath && $(CC) -c @cc_o_out@bn_s_mp_sub$(O) -I. $(CFLAGS) bn_s_mp_sub.c
 
1067
 
 
1068
$(OPS_DIR)/$(BIGINT_OPS)$(LOAD_EXT): $(OPS_DIR)/$(BIGINT_OPS_SOURCE) $(LIBTOMMATH_BIN) $(LIBTOMMATH_H) src/vm/parrot/6model/reprs/P6bigint.h src/vm/parrot/6model/reprs/P6bigint.c
 
1069
        cd $(OPS_DIR) && $(OPS2C) C --dynamic $(BIGINT_OPS_SOURCE)
 
1070
        cd $(OPS_DIR) && $(CC) -c @cc_o_out@$(BIGINT_OPS)$(O) $(CINCLUDES) -I../../../../3rdparty/libtommath $(CFLAGS) $(BIGINT_OPS).c
 
1071
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@P6bigint$(O) -I../../../../../../$(PMC_DIR) -I../../../../../3rdparty/libtommath $(CINCLUDES) $(CFLAGS) P6bigint.c
 
1072
        cd $(OPS_DIR) && $(LD) @ld_out@$(BIGINT_OPS)$(LOAD_EXT) $(BIGINT_OPS)$(O) ../../../../3rdparty/libtommath/*$(O) ../6model/reprs/P6bigint$(O) $(LINKARGS)
 
1073
 
 
1074
$(DYNCALL_BIN):
 
1075
        @dyncall_build@
 
1076
 
 
1077
$(OPS_DIR)/$(DYNCALL_OPS)$(LOAD_EXT): $(OPS_DIR)/$(DYNCALL_OPS_SOURCE) $(DYNCALL_BIN) src/vm/parrot/6model/reprs/NativeCall.c src/vm/parrot/6model/reprs/NativeCall.h src/vm/parrot/6model/reprs/CStruct.c src/vm/parrot/6model/reprs/CStruct.h src/vm/parrot/6model/reprs/CPointer.c src/vm/parrot/6model/reprs/CPointer.h src/vm/parrot/6model/reprs/CArray.c src/vm/parrot/6model/reprs/CArray.h src/vm/parrot/6model/reprs/CStr.c src/vm/parrot/6model/reprs/CStr.h
 
1078
        cd $(OPS_DIR) && $(OPS2C) C --dynamic $(DYNCALL_OPS_SOURCE)
 
1079
        cd $(OPS_DIR) && $(CC) -c @cc_o_out@$(DYNCALL_OPS)$(O) $(CINCLUDES) -I../../../../3rdparty/dyncall/dyncall -I../../../../3rdparty/dyncall/dyncallback -I../../../../3rdparty/dyncall/dynload $(CFLAGS) $(DYNCALL_OPS).c
 
1080
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@NativeCall$(O) -I../../../../../../../$(PMC_DIR) -I../../../../../3rdparty/dyncall/dyncall -I../../../../../3rdparty/dyncall/dyncallback -I../../../../../3rdparty/dyncall/dynload $(CINCLUDES) $(CFLAGS) NativeCall.c
 
1081
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@CStruct$(O) -I../../../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) CStruct.c
 
1082
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@CPointer$(O) -I../../../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) CPointer.c
 
1083
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@CArray$(O) -I../../../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) CArray.c
 
1084
        cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@CStr$(O) -I../../../../../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) CStr.c
 
1085
        cd $(OPS_DIR) && $(LD) @ld_out@$(DYNCALL_OPS)$(LOAD_EXT) $(DYNCALL_OPS)$(O) ../6model/reprs/NativeCall$(O) ../6model/reprs/CStruct$(O) ../6model/reprs/CPointer$(O) ../6model/reprs/CArray$(O) ../6model/reprs/CStr$(O) ../../../../3rdparty/dyncall/dyncall/libdyncall_s$(A) ../../../../3rdparty/dyncall/dyncallback/libdyncallback_s$(A) ../../../../3rdparty/dyncall/dynload/libdynload_s$(A) $(LINKARGS)
 
1086
 
 
1087
$(NQP_CONST_PIR):
 
1088
        perl tools/build/generate-constants.pl > $@
 
1089
 
 
1090
bootstrap-files: $(STAGE2_PBCS) src/stage2/$(CORE_SETTING_NQP)
 
1091
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(NQP_MO_PIR) >src/vm/parrot/stage0/NQPMO-s0.pir
 
1092
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/gen/module_loader.pir >src/vm/parrot/stage0/ModuleLoader-s0.pir
 
1093
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(CORE_SETTING_PIR) >src/vm/parrot/stage0/NQPCORE.setting-s0.pir
 
1094
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(QASTNODE_PIR) >src/vm/parrot/stage0/QASTNode-s0.pir
 
1095
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(QREGEX_PIR) >src/vm/parrot/stage0/QRegex-s0.pir
 
1096
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(HLL_COMBINED_PIR) >src/vm/parrot/stage0/HLL-s0.pir
 
1097
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(QAST_PIR) >src/vm/parrot/stage0/QAST-s0.pir
 
1098
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(P6QREGEX_COMBINED_PIR) >src/vm/parrot/stage0/P6QRegex-s0.pir
 
1099
        $(PERL) tools/build/gen-bootstrap.pl src/stage2/$(NQP_COMBINED_PIR) >src/vm/parrot/stage0/NQP-s0.pir
 
1100
 
 
1101
## testing
 
1102
 
 
1103
t/*/*.t: all
 
1104
        prove -r -v --exec ./$(NQP_EXE) $@
 
1105
 
 
1106
test: all
 
1107
        prove -r --exec "./$(NQP_EXE) --vmlibs=nqp_dyncall_ops" t/nqp t/parrot t/hll t/qregex t/p5regex t/qast t/serialization t/nativecall
 
1108
 
 
1109
test-loud: all
 
1110
        prove -r -v --exec "./$(NQP_EXE) --vmlibs=nqp_dyncall_ops" t/nqp t/parrot t/hll t/qregex t/p5regex t/qast t/serialization t/nativecall
 
1111
 
 
1112
core-test: $(NQP_EXE)
 
1113
        prove -r --exec ./$(NQP_EXE) t/nqp t/parrot
 
1114
 
 
1115
core-test-loud: $(NQP_EXE)
 
1116
        prove -r -v --exec ./$(NQP_EXE) t/nqp t/parrot
 
1117
 
 
1118
qregex-test: $(NQP_EXE)
 
1119
        prove -r --exec ./$(NQP_EXE) t/qregex
 
1120
 
 
1121
qregex-test-loud: $(NQP_EXE)
 
1122
        prove -r -v --exec ./$(NQP_EXE) t/qregex
 
1123
 
 
1124
## cleaning
 
1125
 
 
1126
clean:
 
1127
        $(RM_F) $(CLEANUPS)
 
1128
 
 
1129
distclean: realclean
 
1130
 
 
1131
realclean: clean
 
1132
        $(RM_F) Makefile
 
1133
 
 
1134
testclean:
 
1135
 
 
1136
manifest:
 
1137
        echo MANIFEST >MANIFEST
 
1138
        git ls-files >>MANIFEST
 
1139
 
 
1140
release: manifest
 
1141
        [ -n "$(VERSION)" ] || ( echo "\nTry 'make release VERSION=yyyy.mm'\n\n"; exit 1 )
 
1142
        [ -d nqp-$(VERSION) ] || ln -s . nqp-$(VERSION)
 
1143
        $(PERL) -ne 'print "nqp-$(VERSION)/$$_"' MANIFEST |\
 
1144
            tar -zcv -T - -f nqp-$(VERSION).tar.gz
 
1145
        rm nqp-$(VERSION)
 
1146
 
 
1147
# nqp::makefile <-- tells Configure.pm to convert / to \ in the above
 
1148
#                   template for Win32 systems