30
|
1 # This makefile is dedicated to CbCgcc
|
29
|
2 CC = ${CBC_COMPILER}
|
|
3 LD = ${CBC_COMPILER}
|
|
4 AR = ar
|
|
5 MAKE = make
|
|
6 PERL = /usr/bin/perl
|
|
7 RM = rm -f
|
|
8 CAT = cat
|
|
9 SHELL = /bin/sh
|
|
10 CP = $(PERL) -MExtUtils::Command -e cp
|
|
11 MKPATH = $(PERL) -MExtUtils::Command -e mkpath
|
|
12 CHMOD = $(PERL) -MExtUtils::Command -e chmod
|
|
13 RM_RF = $(PERL) -MExtUtils::Command -e rm_rf
|
|
14 RM_F = $(PERL) -MExtUtils::Command -e rm_f
|
|
15
|
|
16 MINGW_UNICODE =
|
|
17
|
|
18
|
|
19 BUILD_PATH= /mnt/dalmore-home/one/src/build_perl6/MoarVM
|
|
20 CONFIG = --cc ${CC} --debug --no-optimize --compiler gcc --prefix=${BUILD_PATH}
|
|
21 ADDCONFIG =
|
|
22
|
|
23 TRACING = 0
|
|
24 CGOTO = 1
|
|
25 RDTSCP = 1
|
|
26 NOISY = 0
|
|
27
|
|
28 MSG = @:
|
|
29 CMD =
|
|
30 NOOUT =
|
|
31 NOERR =
|
|
32
|
|
33 ifneq ($(NOISY), 1)
|
|
34 MSG = @echo
|
|
35 CMD = @
|
|
36 NOOUT = > /dev/null
|
|
37 NOERR = 2> /dev/null
|
|
38 endif
|
|
39
|
|
40
|
|
41 PREFIX = ${BUILD_PATH}
|
|
42 BINDIR = ${BUILD_PATH}/bin
|
|
43 LIBDIR = ${BUILD_PATH}/lib
|
|
44 MASTDIR = ${BUILD_PATH}/share/nqp/lib/MAST
|
|
45
|
|
46 PKGCONFIGDIR = ${BUILD_PATH}/share/pkgconfig
|
|
47
|
|
48 CFLAGS = -O0 -Werror=declaration-after-statement -Werror=pointer-arith -g3 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -DDEBUG_HELPERS -DMVM_TRACING=$(TRACING) -DMVM_CGOTO=$(CGOTO) -DMVM_RDTSCP=$(RDTSCP)
|
|
49 CINCLUDES = -I3rdparty/libuv/include -I3rdparty/libuv/src -I3rdparty/libatomicops/src -I3rdparty/libtommath -I3rdparty/dyncall/dynload -I3rdparty/dyncall/dyncall -I3rdparty/dyncall/dyncallback \
|
|
50 -I3rdparty/sha1 \
|
|
51 -I3rdparty/tinymt \
|
|
52 -I3rdparty/dynasm \
|
|
53 -I3rdparty/cmp \
|
|
54 -I3rdparty \
|
|
55 -Isrc
|
|
56 LDFLAGS = -g3 -Wl,-rpath,"//${LIBDIR}"
|
|
57 LDLIBS = -lm -lpthread -lrt -ldl
|
|
58 MAIN_LIBS = -L. -lmoar
|
|
59 DLL_LIBS = 3rdparty/cmp/libcmp.a 3rdparty/dyncall/dyncall/libdyncall_s.a 3rdparty/dyncall/dyncallback/libdyncallback_s.a 3rdparty/dyncall/dynload/libdynload_s.a 3rdparty/libatomicops/src/libatomic_ops.a 3rdparty/tinymt/libtinymt.a 3rdparty/sha1/libsha1.a 3rdparty/libtommath/libtommath.a 3rdparty/libuv/libuv.a $(LDLIBS)
|
|
60 ARFLAGS = rcs
|
|
61
|
|
62 PLATFORM_WIN32 = src/platform/win32/mmap.o \
|
|
63 src/platform/win32/time.o \
|
|
64 src/platform/win32/io.o
|
|
65
|
|
66 PLATFORM_POSIX = src/platform/posix/mmap.o \
|
|
67 src/platform/posix/time.o \
|
|
68 src/platform/posix/io.o
|
|
69
|
|
70 DASM_FLAGS = -D POSIX=1
|
|
71 JIT_ARCH_X64 = src/jit/x64/emit.o src/jit/x64/arch.o
|
|
72 JIT_STUB = src/jit/stub.o
|
|
73 JIT_OBJECTS = src/jit/graph.o \
|
|
74 src/jit/label.o \
|
|
75 src/jit/compile.o \
|
|
76 src/jit/log.o \
|
|
77 src/jit/expr.o \
|
|
78 src/jit/tile.o \
|
|
79 src/jit/linear_scan.o
|
|
80
|
|
81 # JIT intermediate files which clean should remove
|
|
82 JIT_INTERMEDIATES = src/jit/x64/emit.c \
|
|
83 src/jit/x64/tile_pattern.h \
|
|
84 src/jit/core_templates.h
|
|
85
|
|
86 MAIN_OBJECTS = src/main.o
|
|
87
|
|
88
|
|
89 OBJECTS = src/core/callsite.o \
|
|
90 src/core/args.o \
|
|
91 src/core/exceptions.o \
|
|
92 src/core/cbc-interp.o \
|
|
93 src/core/threadcontext.o \
|
|
94 src/core/compunit.o \
|
|
95 src/core/bytecode.o \
|
|
96 src/core/frame.o \
|
|
97 src/core/callstack.o \
|
|
98 src/core/validation.o \
|
|
99 src/core/bytecodedump.o \
|
|
100 src/core/threads.o \
|
|
101 src/core/ops.o \
|
|
102 src/core/hll.o \
|
|
103 src/core/loadbytecode.o \
|
|
104 src/math/num.o \
|
|
105 src/math/grisu.o \
|
|
106 src/core/coerce.o \
|
|
107 src/core/dll.o \
|
|
108 src/core/ext.o \
|
|
109 src/core/nativecall.o \
|
|
110 src/core/nativecall_dyncall.o \
|
|
111 src/core/continuation.o \
|
|
112 src/core/intcache.o \
|
|
113 src/core/fixedsizealloc.o \
|
|
114 src/core/regionalloc.o \
|
|
115 src/debug/debugserver.o \
|
|
116 src/gen/config.o \
|
|
117 src/gc/orchestrate.o \
|
|
118 src/gc/allocation.o \
|
|
119 src/gc/worklist.o \
|
|
120 src/gc/roots.o \
|
|
121 src/gc/collect.o \
|
|
122 src/gc/gen2.o \
|
|
123 src/gc/wb.o \
|
|
124 src/gc/objectid.o \
|
|
125 src/gc/finalize.o \
|
|
126 src/gc/debug.o \
|
|
127 src/io/io.o \
|
|
128 src/io/eventloop.o \
|
|
129 src/io/syncfile.o \
|
|
130 src/io/syncsocket.o \
|
|
131 src/io/fileops.o \
|
|
132 src/io/dirops.o \
|
|
133 src/io/procops.o \
|
|
134 src/io/timers.o \
|
|
135 src/io/filewatchers.o \
|
|
136 src/io/signals.o \
|
|
137 src/io/asyncsocket.o \
|
|
138 src/io/asyncsocketudp.o \
|
|
139 src/6model/reprs.o \
|
|
140 src/6model/reprconv.o \
|
|
141 src/6model/containers.o \
|
|
142 src/6model/parametric.o \
|
|
143 src/6model/reprs/MVMString.o \
|
|
144 src/6model/reprs/VMArray.o \
|
|
145 src/6model/reprs/MVMHash.o \
|
|
146 src/6model/reprs/MVMCFunction.o \
|
|
147 src/6model/reprs/KnowHOWREPR.o \
|
|
148 src/6model/reprs/KnowHOWAttributeREPR.o \
|
|
149 src/6model/reprs/P6str.o \
|
|
150 src/6model/reprs/P6opaque.o \
|
|
151 src/6model/reprs/MVMCode.o \
|
|
152 src/6model/reprs/MVMOSHandle.o \
|
|
153 src/6model/reprs/MVMCompUnit.o \
|
|
154 src/6model/reprs/MVMStaticFrame.o \
|
|
155 src/6model/reprs/P6int.o \
|
|
156 src/6model/reprs/P6num.o \
|
|
157 src/6model/reprs/Uninstantiable.o \
|
|
158 src/6model/reprs/HashAttrStore.o \
|
|
159 src/6model/reprs/MVMThread.o \
|
|
160 src/6model/reprs/MVMIter.o \
|
|
161 src/6model/reprs/MVMContext.o \
|
|
162 src/6model/reprs/SCRef.o \
|
|
163 src/6model/reprs/MVMCallCapture.o \
|
|
164 src/6model/reprs/P6bigint.o \
|
|
165 src/6model/reprs/NFA.o \
|
|
166 src/6model/reprs/MVMException.o \
|
|
167 src/6model/reprs/MVMDLLSym.o \
|
|
168 src/6model/reprs/MVMMultiCache.o \
|
|
169 src/6model/reprs/MVMContinuation.o \
|
|
170 src/6model/reprs/NativeCall.o \
|
|
171 src/6model/reprs/CPointer.o \
|
|
172 src/6model/reprs/CStr.o \
|
|
173 src/6model/reprs/CArray.o \
|
|
174 src/6model/reprs/CStruct.o \
|
|
175 src/6model/reprs/CUnion.o \
|
|
176 src/6model/reprs/ReentrantMutex.o \
|
|
177 src/6model/reprs/ConditionVariable.o \
|
|
178 src/6model/reprs/Semaphore.o \
|
|
179 src/6model/reprs/ConcBlockingQueue.o \
|
|
180 src/6model/reprs/MVMAsyncTask.o \
|
|
181 src/6model/reprs/MVMNull.o \
|
|
182 src/6model/reprs/CPPStruct.o \
|
|
183 src/6model/reprs/NativeRef.o \
|
|
184 src/6model/reprs/MultiDimArray.o \
|
|
185 src/6model/reprs/Decoder.o \
|
|
186 src/6model/reprs/MVMSpeshLog.o \
|
|
187 src/6model/reprs/MVMStaticFrameSpesh.o \
|
|
188 src/6model/6model.o \
|
|
189 src/6model/bootstrap.o \
|
|
190 src/6model/sc.o \
|
|
191 src/6model/serialization.o \
|
|
192 src/mast/compiler.o \
|
|
193 src/mast/driver.o \
|
|
194 src/spesh/dump.o \
|
|
195 src/spesh/graph.o \
|
|
196 src/spesh/codegen.o \
|
|
197 src/spesh/candidate.o \
|
|
198 src/spesh/manipulate.o \
|
|
199 src/spesh/args.o \
|
|
200 src/spesh/facts.o \
|
|
201 src/spesh/optimize.o \
|
|
202 src/spesh/dead_bb_elimination.o \
|
|
203 src/spesh/deopt.o \
|
|
204 src/spesh/log.o \
|
|
205 src/spesh/threshold.o \
|
|
206 src/spesh/inline.o \
|
|
207 src/spesh/osr.o \
|
|
208 src/spesh/lookup.o \
|
|
209 src/spesh/iterator.o \
|
|
210 src/spesh/worker.o \
|
|
211 src/spesh/debug.o \
|
|
212 src/spesh/stats.o \
|
|
213 src/spesh/plan.o \
|
|
214 src/spesh/arg_guard.o \
|
|
215 src/strings/decode_stream.o \
|
|
216 src/strings/ascii.o \
|
|
217 src/strings/parse_num.o \
|
|
218 src/strings/utf8.o \
|
|
219 src/strings/utf8_c8.o \
|
|
220 src/strings/nfg.o \
|
|
221 src/strings/ops.o \
|
|
222 src/strings/unicode.o \
|
|
223 src/strings/normalize.o \
|
|
224 src/strings/latin1.o \
|
|
225 src/strings/utf16.o \
|
|
226 src/strings/windows1252.o \
|
|
227 src/strings/shiftjis.o \
|
|
228 src/strings/shiftjis_codeindex.o \
|
|
229 src/math/bigintops.o \
|
|
230 src/profiler/instrument.o \
|
|
231 src/profiler/log.o \
|
|
232 src/profiler/profile.o \
|
|
233 src/profiler/heapsnapshot.o \
|
|
234 src/profiler/telemeh.o \
|
|
235 src/instrument/crossthreadwrite.o \
|
|
236 src/instrument/line_coverage.o \
|
|
237 src/platform/sys.o \
|
|
238 src/platform/random.o \
|
|
239 src/moar.o \
|
|
240 $(PLATFORM_POSIX) \
|
|
241 $(JIT_OBJECTS) $(JIT_ARCH_X64)
|
|
242
|
|
243 HEADERS = src/moar.h \
|
|
244 src/types.h \
|
|
245 src/bithacks.h \
|
|
246 src/6model/6model.h \
|
|
247 src/core/instance.h \
|
|
248 src/core/threadcontext.h \
|
|
249 src/core/callsite.h \
|
|
250 src/core/args.h \
|
|
251 src/core/exceptions.h \
|
|
252 src/core/interp.h \
|
|
253 src/core/alloc.h \
|
|
254 src/core/vector.h \
|
|
255 src/core/frame.h \
|
|
256 src/core/callstack.h \
|
|
257 src/core/compunit.h \
|
|
258 src/core/bytecode.h \
|
|
259 src/core/ops.h \
|
|
260 src/core/validation.h \
|
|
261 src/core/bytecodedump.h \
|
|
262 src/core/threads.h \
|
|
263 src/core/hll.h \
|
|
264 src/core/loadbytecode.h \
|
|
265 src/core/bitmap.h \
|
|
266 src/math/num.h \
|
|
267 src/math/grisu.h \
|
|
268 src/core/coerce.h \
|
|
269 src/core/dll.h \
|
|
270 src/core/ext.h \
|
|
271 src/core/nativecall.h \
|
|
272 src/core/continuation.h \
|
|
273 src/core/intcache.h \
|
|
274 src/core/fixedsizealloc.h \
|
|
275 src/core/regionalloc.h \
|
|
276 src/debug/debugserver.h \
|
|
277 src/io/io.h \
|
|
278 src/io/eventloop.h \
|
|
279 src/io/syncfile.h \
|
|
280 src/io/syncsocket.h \
|
|
281 src/io/fileops.h \
|
|
282 src/io/dirops.h \
|
|
283 src/io/procops.h \
|
|
284 src/io/timers.h \
|
|
285 src/io/filewatchers.h \
|
|
286 src/io/signals.h \
|
|
287 src/io/asyncsocket.h \
|
|
288 src/io/asyncsocketudp.h \
|
|
289 src/gc/orchestrate.h \
|
|
290 src/gc/allocation.h \
|
|
291 src/gc/worklist.h \
|
|
292 src/gc/collect.h \
|
|
293 src/gc/roots.h \
|
|
294 src/gc/gen2.h \
|
|
295 src/gc/wb.h \
|
|
296 src/gc/objectid.h \
|
|
297 src/gc/finalize.h \
|
|
298 src/gc/debug.h \
|
|
299 src/6model/reprs.h \
|
|
300 src/6model/reprconv.h \
|
|
301 src/6model/bootstrap.h \
|
|
302 src/6model/serialization.h \
|
|
303 src/6model/containers.h \
|
|
304 src/6model/parametric.h \
|
|
305 src/6model/reprs/MVMString.h \
|
|
306 src/6model/reprs/VMArray.h \
|
|
307 src/6model/reprs/MVMHash.h \
|
|
308 src/6model/reprs/MVMCFunction.h \
|
|
309 src/6model/reprs/KnowHOWREPR.h \
|
|
310 src/6model/reprs/KnowHOWAttributeREPR.h \
|
|
311 src/6model/reprs/P6opaque.h \
|
|
312 src/6model/reprs/MVMCode.h \
|
|
313 src/6model/reprs/P6str.h \
|
|
314 src/6model/reprs/MVMOSHandle.h \
|
|
315 src/6model/reprs/P6int.h \
|
|
316 src/6model/reprs/P6num.h \
|
|
317 src/6model/reprs/Uninstantiable.h \
|
|
318 src/6model/reprs/HashAttrStore.h \
|
|
319 src/6model/reprs/MVMThread.h \
|
|
320 src/6model/reprs/MVMIter.h \
|
|
321 src/6model/reprs/MVMContext.h \
|
|
322 src/6model/reprs/SCRef.h \
|
|
323 src/6model/reprs/MVMCallCapture.h \
|
|
324 src/6model/reprs/P6bigint.h \
|
|
325 src/6model/reprs/NFA.h \
|
|
326 src/6model/reprs/MVMException.h \
|
|
327 src/6model/reprs/MVMCompUnit.h \
|
|
328 src/6model/reprs/MVMDLLSym.h \
|
|
329 src/6model/reprs/MVMMultiCache.h \
|
|
330 src/6model/reprs/MVMContinuation.h \
|
|
331 src/6model/reprs/NativeCall.h \
|
|
332 src/6model/reprs/CPointer.h \
|
|
333 src/6model/reprs/CStr.h \
|
|
334 src/6model/reprs/CArray.h \
|
|
335 src/6model/reprs/CStruct.h \
|
|
336 src/6model/reprs/CUnion.h \
|
|
337 src/6model/reprs/ReentrantMutex.h \
|
|
338 src/6model/reprs/ConditionVariable.h \
|
|
339 src/6model/reprs/Semaphore.h \
|
|
340 src/6model/reprs/ConcBlockingQueue.h \
|
|
341 src/6model/reprs/MVMAsyncTask.h \
|
|
342 src/6model/reprs/MVMNull.h \
|
|
343 src/6model/reprs/CPPStruct.h \
|
|
344 src/6model/reprs/NativeRef.h \
|
|
345 src/6model/reprs/MultiDimArray.h \
|
|
346 src/6model/reprs/Decoder.h \
|
|
347 src/6model/reprs/MVMSpeshLog.h \
|
|
348 src/6model/reprs/MVMStaticFrameSpesh.h \
|
|
349 src/6model/sc.h \
|
|
350 src/mast/compiler.h \
|
|
351 src/mast/driver.h \
|
|
352 src/mast/nodes.h \
|
|
353 src/spesh/dump.h \
|
|
354 src/spesh/debug.h \
|
|
355 src/spesh/graph.h \
|
|
356 src/spesh/codegen.h \
|
|
357 src/spesh/candidate.h \
|
|
358 src/spesh/manipulate.h \
|
|
359 src/spesh/args.h \
|
|
360 src/spesh/facts.h \
|
|
361 src/spesh/optimize.h \
|
|
362 src/spesh/dead_bb_elimination.h \
|
|
363 src/spesh/deopt.h \
|
|
364 src/spesh/log.h \
|
|
365 src/spesh/threshold.h \
|
|
366 src/spesh/inline.h \
|
|
367 src/spesh/osr.h \
|
|
368 src/spesh/lookup.h \
|
|
369 src/spesh/iterator.h \
|
|
370 src/spesh/worker.h \
|
|
371 src/spesh/stats.h \
|
|
372 src/spesh/plan.h \
|
|
373 src/spesh/arg_guard.h \
|
|
374 src/strings/unicode_gen.h \
|
|
375 src/strings/normalize.h \
|
|
376 src/strings/decode_stream.h \
|
|
377 src/strings/ascii.h \
|
|
378 src/strings/parse_num.h \
|
|
379 src/strings/utf8.h \
|
|
380 src/strings/utf8_c8.h \
|
|
381 src/strings/iter.h \
|
|
382 src/strings/nfg.h \
|
|
383 src/strings/ops.h \
|
|
384 src/strings/unicode.h \
|
|
385 src/strings/latin1.h \
|
|
386 src/strings/utf16.h \
|
|
387 src/strings/windows1252.h \
|
|
388 src/strings/shiftjis_codeindex.h \
|
|
389 src/math/bigintops.h \
|
|
390 src/profiler/instrument.h \
|
|
391 src/profiler/log.h \
|
|
392 src/profiler/profile.h \
|
|
393 src/profiler/heapsnapshot.h \
|
|
394 src/profiler/telemeh.h \
|
|
395 src/platform/mmap.h \
|
|
396 src/platform/time.h \
|
|
397 src/platform/threads.h \
|
|
398 src/platform/io.h \
|
|
399 src/platform/sys.h \
|
|
400 src/platform/setjmp.h \
|
|
401 src/platform/memmem.h \
|
|
402 src/platform/random.h \
|
|
403 src/jit/graph.h \
|
|
404 src/jit/label.h \
|
|
405 src/jit/expr.h \
|
|
406 src/jit/expr_ops.h \
|
|
407 src/jit/compile.h \
|
|
408 src/jit/tile.h \
|
|
409 src/jit/register.h \
|
|
410 src/jit/log.h \
|
|
411 src/instrument/crossthreadwrite.h \
|
|
412 src/instrument/line_coverage.h \
|
|
413 src/gen/config.h \
|
|
414 src/debug/debugserver.h \
|
|
415 3rdparty/uthash.h \
|
|
416 3rdparty/cmp/cmp.h \
|
|
417 src/core/oplables-cbc-codes.h
|
|
418
|
|
419 UV_UNIX = 3rdparty/libuv/src/fs-poll.o \
|
|
420 3rdparty/libuv/src/inet.o \
|
|
421 3rdparty/libuv/src/uv-common.o \
|
|
422 3rdparty/libuv/src/version.o \
|
|
423 3rdparty/libuv/src/unix/async.o \
|
|
424 3rdparty/libuv/src/unix/core.o \
|
|
425 3rdparty/libuv/src/unix/dl.o \
|
|
426 3rdparty/libuv/src/unix/fs.o \
|
|
427 3rdparty/libuv/src/unix/getaddrinfo.o \
|
|
428 3rdparty/libuv/src/unix/loop-watcher.o \
|
|
429 3rdparty/libuv/src/unix/loop.o \
|
|
430 3rdparty/libuv/src/unix/pipe.o \
|
|
431 3rdparty/libuv/src/unix/poll.o \
|
|
432 3rdparty/libuv/src/unix/process.o \
|
|
433 3rdparty/libuv/src/unix/signal.o \
|
|
434 3rdparty/libuv/src/unix/stream.o \
|
|
435 3rdparty/libuv/src/unix/tcp.o \
|
|
436 3rdparty/libuv/src/unix/thread.o \
|
|
437 3rdparty/libuv/src/threadpool.o \
|
|
438 3rdparty/libuv/src/unix/timer.o \
|
|
439 3rdparty/libuv/src/unix/tty.o \
|
|
440 3rdparty/libuv/src/unix/udp.o
|
|
441
|
|
442 UV_LINUX = 3rdparty/libuv/src/unix/linux-core.o \
|
|
443 3rdparty/libuv/src/unix/linux-inotify.o \
|
|
444 3rdparty/libuv/src/unix/linux-syscalls.o \
|
|
445 3rdparty/libuv/src/unix/proctitle.o \
|
|
446 $(UV_UNIX)
|
|
447
|
|
448 UV_OPENBSD = 3rdparty/libuv/src/unix/openbsd.o \
|
|
449 3rdparty/libuv/src/unix/kqueue.o \
|
|
450 3rdparty/libuv/src/unix/posix-hrtime.o \
|
|
451 $(UV_UNIX)
|
|
452
|
|
453 UV_NETBSD = 3rdparty/libuv/src/unix/netbsd.o \
|
|
454 3rdparty/libuv/src/unix/kqueue.o \
|
|
455 3rdparty/libuv/src/unix/posix-hrtime.o \
|
|
456 $(UV_UNIX)
|
|
457
|
|
458 UV_FREEBSD = 3rdparty/libuv/src/unix/freebsd.o \
|
|
459 3rdparty/libuv/src/unix/kqueue.o \
|
|
460 3rdparty/libuv/src/unix/posix-hrtime.o \
|
|
461 $(UV_UNIX)
|
|
462
|
|
463 UV_DARWIN = 3rdparty/libuv/src/unix/darwin.o \
|
|
464 3rdparty/libuv/src/unix/darwin-proctitle.o \
|
|
465 3rdparty/libuv/src/unix/fsevents.o \
|
|
466 3rdparty/libuv/src/unix/kqueue.o \
|
|
467 3rdparty/libuv/src/unix/proctitle.o \
|
|
468 $(UV_UNIX)
|
|
469
|
|
470 UV_SOLARIS = 3rdparty/libuv/src/unix/sunos.o \
|
|
471 $(UV_UNIX)
|
|
472
|
|
473 UV_AIX = 3rdparty/libuv/src/unix/aix.o \
|
|
474 $(UV_UNIX)
|
|
475
|
|
476 UV_OBJECTS = $(UV_LINUX)
|
|
477
|
|
478 TOM_OBJECTS = 3rdparty/libtommath/bn_error.o 3rdparty/libtommath/bn_fast_mp_invmod.o 3rdparty/libtommath/bn_fast_mp_montgomery_reduce.o 3rdparty/libtommath/bn_fast_s_mp_mul_digs.o 3rdparty/libtommath/bn_fast_s_mp_mul_high_digs.o 3rdparty/libtommath/bn_fast_s_mp_sqr.o 3rdparty/libtommath/bn_mp_2expt.o 3rdparty/libtommath/bn_mp_abs.o 3rdparty/libtommath/bn_mp_add.o 3rdparty/libtommath/bn_mp_add_d.o 3rdparty/libtommath/bn_mp_addmod.o 3rdparty/libtommath/bn_mp_and.o 3rdparty/libtommath/bn_mp_clamp.o 3rdparty/libtommath/bn_mp_clear.o 3rdparty/libtommath/bn_mp_clear_multi.o 3rdparty/libtommath/bn_mp_cmp.o 3rdparty/libtommath/bn_mp_cmp_d.o 3rdparty/libtommath/bn_mp_cmp_mag.o 3rdparty/libtommath/bn_mp_cnt_lsb.o 3rdparty/libtommath/bn_mp_copy.o 3rdparty/libtommath/bn_mp_count_bits.o 3rdparty/libtommath/bn_mp_div.o 3rdparty/libtommath/bn_mp_div_2.o 3rdparty/libtommath/bn_mp_div_2d.o 3rdparty/libtommath/bn_mp_div_3.o 3rdparty/libtommath/bn_mp_div_d.o 3rdparty/libtommath/bn_mp_dr_is_modulus.o 3rdparty/libtommath/bn_mp_dr_reduce.o 3rdparty/libtommath/bn_mp_dr_setup.o 3rdparty/libtommath/bn_mp_exch.o 3rdparty/libtommath/bn_mp_export.o 3rdparty/libtommath/bn_mp_expt_d.o 3rdparty/libtommath/bn_mp_expt_d_ex.o 3rdparty/libtommath/bn_mp_exptmod.o 3rdparty/libtommath/bn_mp_exptmod_fast.o 3rdparty/libtommath/bn_mp_exteuclid.o 3rdparty/libtommath/bn_mp_fread.o 3rdparty/libtommath/bn_mp_fwrite.o 3rdparty/libtommath/bn_mp_gcd.o 3rdparty/libtommath/bn_mp_get_int.o 3rdparty/libtommath/bn_mp_get_long.o 3rdparty/libtommath/bn_mp_get_long_long.o 3rdparty/libtommath/bn_mp_grow.o 3rdparty/libtommath/bn_mp_import.o 3rdparty/libtommath/bn_mp_init.o 3rdparty/libtommath/bn_mp_init_copy.o 3rdparty/libtommath/bn_mp_init_multi.o 3rdparty/libtommath/bn_mp_init_set.o 3rdparty/libtommath/bn_mp_init_set_int.o 3rdparty/libtommath/bn_mp_init_size.o 3rdparty/libtommath/bn_mp_invmod.o 3rdparty/libtommath/bn_mp_invmod_slow.o 3rdparty/libtommath/bn_mp_is_square.o 3rdparty/libtommath/bn_mp_jacobi.o 3rdparty/libtommath/bn_mp_karatsuba_mul.o 3rdparty/libtommath/bn_mp_karatsuba_sqr.o 3rdparty/libtommath/bn_mp_lcm.o 3rdparty/libtommath/bn_mp_lshd.o 3rdparty/libtommath/bn_mp_mod.o 3rdparty/libtommath/bn_mp_mod_2d.o 3rdparty/libtommath/bn_mp_mod_d.o 3rdparty/libtommath/bn_mp_montgomery_calc_normalization.o 3rdparty/libtommath/bn_mp_montgomery_reduce.o 3rdparty/libtommath/bn_mp_montgomery_setup.o 3rdparty/libtommath/bn_mp_mul.o 3rdparty/libtommath/bn_mp_mul_2.o 3rdparty/libtommath/bn_mp_mul_2d.o 3rdparty/libtommath/bn_mp_mul_d.o 3rdparty/libtommath/bn_mp_mulmod.o 3rdparty/libtommath/bn_mp_n_root.o 3rdparty/libtommath/bn_mp_n_root_ex.o 3rdparty/libtommath/bn_mp_neg.o 3rdparty/libtommath/bn_mp_or.o 3rdparty/libtommath/bn_mp_prime_fermat.o 3rdparty/libtommath/bn_mp_prime_is_divisible.o 3rdparty/libtommath/bn_mp_prime_is_prime.o 3rdparty/libtommath/bn_mp_prime_miller_rabin.o 3rdparty/libtommath/bn_mp_prime_next_prime.o 3rdparty/libtommath/bn_mp_prime_rabin_miller_trials.o 3rdparty/libtommath/bn_mp_prime_random_ex.o 3rdparty/libtommath/bn_mp_radix_size.o 3rdparty/libtommath/bn_mp_radix_smap.o 3rdparty/libtommath/bn_mp_rand.o 3rdparty/libtommath/bn_mp_read_radix.o 3rdparty/libtommath/bn_mp_read_signed_bin.o 3rdparty/libtommath/bn_mp_read_unsigned_bin.o 3rdparty/libtommath/bn_mp_reduce.o 3rdparty/libtommath/bn_mp_reduce_2k.o 3rdparty/libtommath/bn_mp_reduce_2k_l.o 3rdparty/libtommath/bn_mp_reduce_2k_setup.o 3rdparty/libtommath/bn_mp_reduce_2k_setup_l.o 3rdparty/libtommath/bn_mp_reduce_is_2k.o 3rdparty/libtommath/bn_mp_reduce_is_2k_l.o 3rdparty/libtommath/bn_mp_reduce_setup.o 3rdparty/libtommath/bn_mp_rshd.o 3rdparty/libtommath/bn_mp_set.o 3rdparty/libtommath/bn_mp_set_int.o 3rdparty/libtommath/bn_mp_set_long.o 3rdparty/libtommath/bn_mp_set_long_long.o 3rdparty/libtommath/bn_mp_shrink.o 3rdparty/libtommath/bn_mp_signed_bin_size.o 3rdparty/libtommath/bn_mp_sqr.o 3rdparty/libtommath/bn_mp_sqrmod.o 3rdparty/libtommath/bn_mp_sqrt.o 3rdparty/libtommath/bn_mp_sqrtmod_prime.o 3rdparty/libtommath/bn_mp_sub.o 3rdparty/libtommath/bn_mp_sub_d.o 3rdparty/libtommath/bn_mp_submod.o 3rdparty/libtommath/bn_mp_to_signed_bin.o 3rdparty/libtommath/bn_mp_to_signed_bin_n.o 3rdparty/libtommath/bn_mp_to_unsigned_bin.o 3rdparty/libtommath/bn_mp_to_unsigned_bin_n.o 3rdparty/libtommath/bn_mp_toom_mul.o 3rdparty/libtommath/bn_mp_toom_sqr.o 3rdparty/libtommath/bn_mp_toradix.o 3rdparty/libtommath/bn_mp_toradix_n.o 3rdparty/libtommath/bn_mp_unsigned_bin_size.o 3rdparty/libtommath/bn_mp_xor.o 3rdparty/libtommath/bn_mp_zero.o 3rdparty/libtommath/bn_prime_tab.o 3rdparty/libtommath/bn_reverse.o 3rdparty/libtommath/bn_s_mp_add.o 3rdparty/libtommath/bn_s_mp_exptmod.o 3rdparty/libtommath/bn_s_mp_mul_digs.o 3rdparty/libtommath/bn_s_mp_mul_high_digs.o 3rdparty/libtommath/bn_s_mp_sqr.o 3rdparty/libtommath/bn_s_mp_sub.o 3rdparty/libtommath/bncore.o
|
|
479
|
|
480 THIRDPARTY = 3rdparty/cmp/libcmp.a 3rdparty/dyncall/dyncall/libdyncall_s.a 3rdparty/dyncall/dyncallback/libdyncallback_s.a 3rdparty/dyncall/dynload/libdynload_s.a 3rdparty/libatomicops/src/libatomic_ops.a 3rdparty/tinymt/libtinymt.a 3rdparty/sha1/libsha1.a 3rdparty/libtommath/libtommath.a 3rdparty/libuv/libuv.a
|
|
481
|
|
482 MINILUA = 3rdparty/dynasm/minilua
|
|
483 DYNASM = $(MINILUA) 3rdparty/dynasm/dynasm.lua
|
|
484 DYNASM_SCRIPTS = 3rdparty/dynasm/dynasm.lua 3rdparty/dynasm/dasm_x86.lua
|
|
485 DYNASM_HEADERS = 3rdparty/dynasm/dasm_proto.h 3rdparty/dynasm/dasm_x86.h
|
|
486
|
|
487 .SUFFIXES: .c .cbc .o .i .s .dasc .expr .tile
|
|
488
|
|
489 all: moar pkgconfig/moar.pc
|
|
490
|
|
491 install: all
|
|
492 $(MKPATH) "$(DESTDIR)$(BINDIR)"
|
|
493 $(CP) moar "$(DESTDIR)$(BINDIR)"
|
|
494 $(CHMOD) 755 "$(DESTDIR)$(BINDIR)/moar"
|
|
495 $(MKPATH) "$(DESTDIR)$(LIBDIR)"
|
|
496 $(RM_F) "$(DESTDIR)$(LIBDIR)/libmoar.so"
|
|
497 $(CP) libmoar.so "$(DESTDIR)$(LIBDIR)"
|
|
498 $(MKPATH) "$(DESTDIR)$(MASTDIR)"
|
|
499 $(CP) lib/MAST/Nodes.nqp "$(DESTDIR)$(MASTDIR)"
|
|
500 $(CP) lib/MAST/Ops.nqp "$(DESTDIR)$(MASTDIR)"
|
|
501 $(MKPATH) "$(DESTDIR)$(PKGCONFIGDIR)"
|
|
502 $(CP) pkgconfig/moar.pc "$(DESTDIR)$(PKGCONFIGDIR)"
|
|
503 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar"
|
|
504 $(CP) src/gen/config.h "$(DESTDIR)$(PREFIX)/include/moar"
|
|
505 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/6model/reprs"
|
|
506 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/core"
|
|
507 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/gc"
|
|
508 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/gen"
|
|
509 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/io"
|
|
510 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/mast"
|
|
511 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/math"
|
|
512 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/platform"
|
|
513 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/profiler"
|
|
514 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/spesh"
|
|
515 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/debug"
|
|
516 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/strings"
|
|
517 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/jit"
|
|
518 $(MKPATH) "$(DESTDIR)$(PREFIX)/include/moar/instrument"
|
|
519 $(CP) 3rdparty/*.h "$(DESTDIR)$(PREFIX)/include/moar"
|
|
520 $(CP) src/*.h "$(DESTDIR)$(PREFIX)/include/moar"
|
|
521 $(CP) src/6model/*.h "$(DESTDIR)$(PREFIX)/include/moar/6model"
|
|
522 $(CP) src/6model/reprs/*.h "$(DESTDIR)$(PREFIX)/include/moar/6model/reprs"
|
|
523 $(CP) src/core/*.h "$(DESTDIR)$(PREFIX)/include/moar/core"
|
|
524 $(CP) src/gc/*.h "$(DESTDIR)$(PREFIX)/include/moar/gc"
|
|
525 $(CP) src/gen/*.h "$(DESTDIR)$(PREFIX)/include/moar/gen"
|
|
526 $(CP) src/io/*.h "$(DESTDIR)$(PREFIX)/include/moar/io"
|
|
527 $(CP) src/mast/*.h "$(DESTDIR)$(PREFIX)/include/moar/mast"
|
|
528 $(CP) src/math/*.h "$(DESTDIR)$(PREFIX)/include/moar/math"
|
|
529 $(CP) src/platform/*.h "$(DESTDIR)$(PREFIX)/include/moar/platform"
|
|
530 $(CP) src/profiler/*.h "$(DESTDIR)$(PREFIX)/include/moar/profiler"
|
|
531 $(CP) src/spesh/*.h "$(DESTDIR)$(PREFIX)/include/moar/spesh"
|
|
532 $(CP) src/debug/*.h "$(DESTDIR)$(PREFIX)/include/moar/debug"
|
|
533 $(CP) src/strings/*.h "$(DESTDIR)$(PREFIX)/include/moar/strings"
|
|
534 $(CP) src/jit/*.h "$(DESTDIR)$(PREFIX)/include/moar/jit"
|
|
535 $(CP) src/instrument/*.h "$(DESTDIR)$(PREFIX)/include/moar/instrument"
|
|
536 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libuv
|
|
537 $(CP) 3rdparty/libuv/include/*.h $(DESTDIR)$(PREFIX)/include/libuv
|
|
538 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/armcc
|
|
539 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/gcc
|
|
540 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/hpc
|
|
541 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/ibmc
|
|
542 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/icc
|
|
543 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/loadstore
|
|
544 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/msftc
|
|
545 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/sunc
|
|
546 $(CP) 3rdparty/libatomicops/src/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops
|
|
547 $(CP) 3rdparty/libatomicops/src/atomic_ops/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops
|
|
548 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps
|
|
549 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/armcc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/armcc
|
|
550 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/gcc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/gcc
|
|
551 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/hpc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/hpc
|
|
552 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/ibmc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/ibmc
|
|
553 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/icc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/icc
|
|
554 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/loadstore/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/loadstore
|
|
555 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/msftc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/msftc
|
|
556 $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/sunc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/sunc
|
|
557 $(MKPATH) $(DESTDIR)$(PREFIX)/include/libtommath
|
|
558 $(CP) 3rdparty/libtommath/*.h $(DESTDIR)$(PREFIX)/include/libtommath
|
|
559 $(MKPATH) $(DESTDIR)$(PREFIX)/include/dyncall
|
|
560 $(CP) 3rdparty/dyncall/dynload/*.h $(DESTDIR)$(PREFIX)/include/dyncall
|
|
561 $(CP) 3rdparty/dyncall/dyncall/*.h $(DESTDIR)$(PREFIX)/include/dyncall
|
|
562 $(CP) 3rdparty/dyncall/dyncallback/*.h $(DESTDIR)$(PREFIX)/include/dyncall
|
|
563
|
|
564
|
|
565 lib: libmoar.so
|
|
566
|
|
567 help:
|
|
568 @$(CAT) build/help.txt
|
|
569
|
|
570 test:
|
|
571 @$(CAT) build/test.txt
|
|
572
|
|
573 reconfig: realclean
|
|
574 $(MSG) reconfiguring with [ $(CONFIG) $(ADDCONFIG) ]
|
|
575 $(CMD)$(PERL) Configure.pl $(CONFIG) $(ADDCONFIG)
|
|
576
|
|
577 clangcheck gcccheck:
|
|
578 @$(MAKE) --no-print-directory -f tools/check.mk $@
|
|
579
|
|
580 moar: $(MAIN_OBJECTS) libmoar.so
|
|
581 $(MSG) linking $@
|
|
582 $(CMD)$(LD) -o $@ $(LDFLAGS) $(MINGW_UNICODE) $(MAIN_OBJECTS) $(MAIN_LIBS)
|
|
583
|
|
584 libmoar.a: $(OBJECTS) $(THIRDPARTY)
|
|
585 $(MSG) linking $@
|
|
586 $(CMD)$(AR) $(ARFLAGS) $@ $(OBJECTS) $(NOOUT)
|
|
587
|
|
588 libmoar.so: $(OBJECTS) $(THIRDPARTY)
|
|
589 $(MSG) linking $@
|
|
590 $(CMD)$(LD) -o $@ $(LDFLAGS) -shared -fPIC $(OBJECTS) $(DLL_LIBS)
|
|
591
|
|
592 libuv: 3rdparty/libuv/libuv.a
|
|
593
|
|
594 $(MAIN_OBJECTS) $(OBJECTS): $(HEADERS)
|
|
595
|
|
596 tracing:
|
|
597 $(MSG) enable tracing dispatch
|
|
598 -$(CMD)$(RM) src/main.o src/core/cbc-interp.o
|
|
599 $(CMD)$(MAKE) TRACING=1 CGOTO=0 NOISY="$(NOISY)"
|
|
600
|
|
601 cgoto:
|
|
602 $(MSG) enable computed-goto dispatch
|
|
603 -$(CMD)$(RM) src/main.o src/core/cbc-interp.o
|
|
604 $(CMD)$(MAKE) TRACING=0 CGOTO=1 NOISY="$(NOISY)"
|
|
605
|
|
606 switch no-tracing no-cgoto:
|
|
607 $(MSG) enable regular dispatch
|
|
608 -$(CMD)$(RM) src/main.o src/core/cbc-interp.o
|
|
609 $(CMD)$(MAKE) TRACING=0 CGOTO=0 NOISY="$(NOISY)"
|
|
610
|
|
611 # objflags can include -DMVM_BUILD_SHARED which affects pre-processed source
|
|
612 .c.i:
|
|
613 $(MSG) pre-processing $@
|
|
614 $(CMD)$(CC) -E $(CFLAGS) -DMVM_BUILD_SHARED -fPIC $(CINCLUDES) > $@ $*.c
|
|
615
|
|
616 .c.s:
|
|
617 $(MSG) generating assembler for $@
|
|
618 $(CMD)$(CC) -S $(CFLAGS) -DMVM_BUILD_SHARED -fPIC $(CINCLUDES) -o $@ $*.c
|
|
619
|
|
620 .c.o:
|
|
621 $(MSG) compiling $@
|
|
622 $(CMD)$(CC) -c $(CFLAGS) -DMVM_BUILD_SHARED -fPIC $(CINCLUDES) -o $@ $*.c
|
|
623
|
|
624 .cbc.i:
|
|
625 $(MSG) pre-processing $@
|
30
|
626 $(CMD)$(CC) -E $(CFLAGS) -DMVM_BUILD_SHARED -fPIC $(CINCLUDES) > $@ $*.cbc
|
29
|
627
|
|
628 .cbc.s:
|
|
629 $(MSG) generating assembler for $@
|
30
|
630 $(CMD)$(CC) -S $(CFLAGS) -DMVM_BUILD_SHARED -fPIC $(CINCLUDES) -o $@ $*.cbc
|
29
|
631
|
|
632
|
|
633 .cbc.o:
|
|
634 $(MSG) compiling $@
|
|
635 $(CMD)$(CC) -c $(CFLAGS) -DMVM_BUILD_SHARED -fPIC $(CINCLUDES) -o $@ $*.cbc
|
|
636
|
|
637
|
|
638
|
|
639 src/main.o: src/main.c
|
|
640 $(MSG) compiling $@
|
|
641 $(CMD)$(CC) -c $(CFLAGS) -DMVM_SHARED $(CINCLUDES) -o $@ $*.c
|
|
642
|
|
643 src/strings/unicode.c: src/strings/unicode_db.c src/strings/unicode_uca.c src/strings/unicode_ops.c
|
|
644 $(MSG) generating $@
|
|
645 $(CMD) $(CAT) src/strings/unicode_db.c src/strings/unicode_uca.c src/strings/unicode_ops.c > $@ $(NOERR)
|
|
646
|
|
647 $(MINILUA): 3rdparty/dynasm/minilua.c
|
|
648 $(CC) $(CFLAGS) $(LDFLAGS) 3rdparty/dynasm/minilua.c -o $@ $(LDLIBS)
|
|
649
|
|
650 .dasc.c:
|
|
651 $(MSG) preprocessing $<
|
|
652 $(CMD)$(DYNASM) $(DASM_FLAGS) -o $@ $<
|
|
653
|
|
654 .expr.h:
|
|
655 $(MSG) Precompiling templates from $<
|
|
656 $(CMD)$(PERL) -Itools/ tools/expr-template-compiler.pl -o $@ $<
|
|
657
|
|
658 .tile.h:
|
|
659 $(MSG) Building tile tables from $<
|
|
660 $(CMD)$(PERL) -Itools/ tools/tiler-table-generator.pl -o $@ $<
|
|
661
|
|
662 src/jit/x64/emit.o: src/jit/x64/emit.c $(DYNASM_HEADERS)
|
|
663
|
|
664 src/jit/x64/emit.c: src/jit/x64/emit.dasc src/jit/x64/tiles.dasc $(MINILUA) $(DYNASM_SCRIPTS)
|
|
665
|
|
666 # Expression list tables
|
|
667 src/jit/core_templates.h: src/jit/core_templates.expr src/jit/macro.expr tools/expr-template-compiler.pl src/core/oplist src/jit/expr_ops.h
|
|
668
|
|
669 # Architecture-specific tiles
|
|
670 src/jit/x64/tile_pattern.h: src/jit/x64/tile_pattern.tile tools/tiler-table-generator.pl src/jit/expr_ops.h
|
|
671
|
|
672 src/jit/expr.o: src/jit/core_templates.h
|
|
673 src/jit/tile.o: src/jit/x64/tile_pattern.h src/jit/x64/tile_decl.h
|
|
674
|
|
675 src/jit/compile.o src/jit/linear_scan.o src/jit/x64/arch.o $(JIT_OBJECTS) $(JIT_ARCH_X64): src/jit/internal.h src/jit/x64/arch.h
|
|
676
|
|
677
|
|
678
|
|
679
|
|
680 3rdparty/libuv/libuv.a: $(UV_OBJECTS)
|
|
681 $(MSG) linking $@
|
|
682 $(CMD)$(AR) $(ARFLAGS) $@ $(UV_LINUX) $(NOOUT)
|
|
683
|
|
684 3rdparty/libatomicops/src/libatomic_ops.a:
|
|
685 $(MSG) linking $@
|
|
686 $(CMD)cd 3rdparty/libatomicops && CC='$(CC)' CFLAGS='$(CFLAGS)' ./configure && cd src && $(MAKE) && cd .. $(NOOUT)
|
|
687
|
|
688 3rdparty/libtommath/libtommath.a: $(TOM_OBJECTS)
|
|
689 $(MSG) linking $@
|
|
690 $(CMD)$(AR) $(ARFLAGS) $@ 3rdparty/libtommath/*.o $(NOOUT)
|
|
691
|
|
692 3rdparty/sha1/libsha1.a: 3rdparty/sha1/sha1.o
|
|
693 $(MSG) linking $@
|
|
694 $(CMD)$(AR) $(ARFLAGS) $@ 3rdparty/sha1/*.o $(NOOUT)
|
|
695
|
|
696 3rdparty/tinymt/libtinymt.a: 3rdparty/tinymt/tinymt64.o
|
|
697 $(MSG) linking $@
|
|
698 $(CMD)$(AR) $(ARFLAGS) $@ 3rdparty/tinymt/*.o $(NOOUT)
|
|
699
|
|
700 3rdparty/cmp/libcmp.a: 3rdparty/cmp/cmp.o
|
|
701 $(MSG) linking $@
|
|
702 $(CMD)$(AR) $(ARFLAGS) $@ 3rdparty/cmp/*.o $(NOOUT)
|
|
703
|
|
704 3rdparty/dyncall/dyncall/libdyncall_s.a:
|
|
705 $(MSG) building dyncall...
|
|
706 $(CMD)cd 3rdparty/dyncall && ./configure && CC='$(CC)' CFLAGS='-fPIC' $(MAKE) -f Makefile $(NOOUT)
|
|
707 $(MSG) done.
|
|
708
|
|
709 3rdparty/dyncall/dyncallback/libdyncallback_s.a 3rdparty/dyncall/dynload/libdynload_s.a: 3rdparty/dyncall/dyncall/libdyncall_s.a
|
|
710
|
|
711 pkgconfig/moar.pc: build/mk-moar-pc.pl
|
|
712 $(PERL) build/mk-moar-pc.pl $@
|
|
713
|
|
714 clean:
|
|
715 $(MSG) remove build files
|
|
716 -$(CMD)$(RM) $(MAIN_OBJECTS) $(OBJECTS) $(JIT_INTERMEDIATES) $(NOOUT) $(NOERR)
|
|
717
|
|
718 realclean: clean
|
|
719 $(MSG) remove auxiliary files
|
|
720 -$(CMD)@: $(NOOUT) $(NOERR)
|
|
721 $(MSG) remove 3rdparty files
|
|
722 -$(CMD)$(RM) 3rdparty/libuv/libuv.a $(UV_LINUX) $(NOOUT) $(NOERR)
|
|
723 -$(CMD)cd 3rdparty/libatomicops/src && $(MAKE) distclean $(NOOUT) $(NOERR)
|
|
724 -$(CMD)$(RM) 3rdparty/libtommath/libtommath.a 3rdparty/libtommath/*.o $(NOOUT) $(NOERR)
|
|
725 -$(CMD)$(RM) 3rdparty/sha1/libsha1.a 3rdparty/sha1/*.o $(NOOUT) $(NOERR)
|
|
726 -$(CMD)$(RM) 3rdparty/tinymt/libtinymt.a 3rdparty/tinymt/*.o $(NOOUT) $(NOERR)
|
|
727 -$(CMD)cd 3rdparty/dyncall && $(MAKE) -f Makefile clean $(NOOUT) $(NOERR)
|
|
728
|
|
729 distclean: realclean
|
|
730 $(MSG) remove executable and libraries
|
|
731 -$(CMD)$(RM) moar libmoar.a libmoar.so $(NOOUT) $(NOERR)
|
|
732 $(MSG) remove configuration and generated files
|
|
733 -$(CMD)$(RM) Makefile src/gen/config.h src/gen/config.c src/strings/unicode.c \
|
|
734 tools/check.mk 3rdparty/libatomicops/config.log 3rdparty/libatomicops/config.status $(NOOUT) $(NOERR)
|
|
735 -$(CMD)$(RM_RF) build/mk-moar-pc.pl pkgconfig/ $(NOOUT) $(NOERR)
|
|
736
|
|
737 release:
|
|
738 [ -n "$(VERSION)" ] || ( echo "\nTry 'make release VERSION=yyyy.mm'\n\n"; exit 1 )
|
|
739 bash -c 'if [[ $$(git status --untracked=no --porcelain) ]]; then echo "Dirty work trees will make broken releases; maybe git stash?"; exit 1; fi'
|
|
740 ./tools/release.sh $(VERSION)
|
|
741
|
|
742
|
|
743 sandwich:
|
|
744 @echo What? Make it yourself.
|