Skip to content

Instantly share code, notes, and snippets.

Created November 29, 2015 19:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/0bb89b9316c4a9afb2f8 to your computer and use it in GitHub Desktop.
Save anonymous/0bb89b9316c4a9afb2f8 to your computer and use it in GitHub Desktop.
CC = cl
LD = link
AR = lib
MAKE = nmake /nologo
PERL = C:\Strawberry\perl\bin\perl.exe
RM = del
CAT = type
SHELL = cmd
LUA = .\3rdparty\dynasm\minilua.exe
CP = $(PERL) -MExtUtils::Command -e cp
MKPATH = $(PERL) -MExtUtils::Command -e mkpath
CHMOD = $(PERL) -MExtUtils::Command -e chmod
RM_RF = $(PERL) -MExtUtils::Command -e rm_rf
DYNASM = $(LUA) .\3rdparty\dynasm\dynasm.lua
CONFIG = --prefix=C:\Users\mwilson\src\rakudo\install --debug --instrument
ADDCONFIG =
TRACING = 0
CGOTO = 0
NOISY = 0
MSG = @:
CMD =
NOOUT =
NOERR =
!IF $(NOISY) != 1
MSG = @echo
CMD = @
NOOUT = > NUL
NOERR = 2> NUL
!ENDIF
PREFIX = C:\Users\mwilson\src\rakudo\install
BINDIR = C:\Users\mwilson\src\rakudo\install\bin
LIBDIR = C:\Users\mwilson\src\rakudo\install\bin
MASTDIR = C:\Users\mwilson\src\rakudo\install\share\nqp\lib\MAST
PKGCONFIGDIR = C:\Users\mwilson\src\rakudo\install\share\pkgconfig
CFLAGS = /nologo /MT /Ox /GL /DNDEBUG /Zi /DWIN32 /DAO_ASSUME_WINDOWS98 /DMVM_TRACING=$(TRACING) /DMVM_CGOTO=$(CGOTO)
CINCLUDES = /I3rdparty\libuv\include /I3rdparty\libuv\src /I3rdparty\libatomic_ops\src /I3rdparty\libtommath /I3rdparty\dynasm /I3rdparty\dyncall\dynload /I3rdparty\dyncall\dyncall /I3rdparty\dyncall\dyncallback \
/I3rdparty\sha1 \
/I3rdparty\tinymt \
/I3rdparty \
/Isrc
LDFLAGS = /nologo /LTCG /debug /pdb:$@.pdb /Profile
LDLIBS = shell32.lib ws2_32.lib mswsock.lib rpcrt4.lib advapi32.lib psapi.lib iphlpapi.lib
MAIN_LIBS = /libpath:. moar.dll.lib
DLL_LIBS = 3rdparty\dyncall\dyncall\libdyncall_s.lib 3rdparty\dyncall\dyncallback\libdyncallback_s.lib 3rdparty\dyncall\dynload\libdynload_s.lib 3rdparty\tinymt\tinymt.lib 3rdparty\sha1\sha1.lib 3rdparty\libtommath\tommath.lib 3rdparty\libuv\uv.lib $(LDLIBS)
ARFLAGS = /nologo
PLATFORM_WIN32 = src\platform\win32\mmap.obj \
src\platform\win32\time.obj \
src\platform\win32\io.obj \
src\platform\win32\sys.obj
PLATFORM_POSIX = src\platform\posix\mmap.obj \
src\platform\posix\time.obj \
src\platform\posix\sys.obj
DASM_FLAGS_WIN32 = -D WIN32=1
DASM_FLAGS_POSIX = -D POSIX=1
JIT_WIN32_X64 = src\jit\emit_win32_x64.obj
JIT_POSIX_X64 = src\jit\emit_posix_x64.obj
JIT_STUB = src\jit\stub.obj
MAIN_OBJECTS = src\main.obj
OBJECTS = src\core\callsite.obj \
src\core\args.obj \
src\core\exceptions.obj \
src\core\interp.obj \
src\core\threadcontext.obj \
src\core\compunit.obj \
src\core\bytecode.obj \
src\core\frame.obj \
src\core\validation.obj \
src\core\bytecodedump.obj \
src\core\threads.obj \
src\core\ops.obj \
src\core\hll.obj \
src\core\loadbytecode.obj \
src\math\num.obj \
src\core\coerce.obj \
src\core\dll.obj \
src\core\ext.obj \
src\core\nativecall.obj \
src\core\nativecall_dyncall.obj \
src\core\continuation.obj \
src\core\intcache.obj \
src\core\fixedsizealloc.obj \
src\gen\config.obj \
src\gc\orchestrate.obj \
src\gc\allocation.obj \
src\gc\worklist.obj \
src\gc\roots.obj \
src\gc\collect.obj \
src\gc\gen2.obj \
src\gc\wb.obj \
src\gc\objectid.obj \
src\gc\finalize.obj \
src\io\io.obj \
src\io\eventloop.obj \
src\io\syncfile.obj \
src\io\syncstream.obj \
src\io\syncpipe.obj \
src\io\syncsocket.obj \
src\io\fileops.obj \
src\io\dirops.obj \
src\io\procops.obj \
src\io\timers.obj \
src\io\filewatchers.obj \
src\io\signals.obj \
src\io\asyncsocket.obj \
src\6model\reprs.obj \
src\6model\reprconv.obj \
src\6model\containers.obj \
src\6model\parametric.obj \
src\6model\reprs\MVMString.obj \
src\6model\reprs\MVMArray.obj \
src\6model\reprs\MVMHash.obj \
src\6model\reprs\MVMCFunction.obj \
src\6model\reprs\KnowHOWREPR.obj \
src\6model\reprs\KnowHOWAttributeREPR.obj \
src\6model\reprs\P6str.obj \
src\6model\reprs\P6opaque.obj \
src\6model\reprs\MVMCode.obj \
src\6model\reprs\MVMOSHandle.obj \
src\6model\reprs\MVMCompUnit.obj \
src\6model\reprs\MVMStaticFrame.obj \
src\6model\reprs\P6int.obj \
src\6model\reprs\P6num.obj \
src\6model\reprs\Uninstantiable.obj \
src\6model\reprs\HashAttrStore.obj \
src\6model\reprs\MVMThread.obj \
src\6model\reprs\MVMIter.obj \
src\6model\reprs\MVMContext.obj \
src\6model\reprs\SCRef.obj \
src\6model\reprs\Lexotic.obj \
src\6model\reprs\MVMCallCapture.obj \
src\6model\reprs\P6bigint.obj \
src\6model\reprs\NFA.obj \
src\6model\reprs\MVMException.obj \
src\6model\reprs\MVMDLLSym.obj \
src\6model\reprs\MVMMultiCache.obj \
src\6model\reprs\MVMContinuation.obj \
src\6model\reprs\NativeCall.obj \
src\6model\reprs\CPointer.obj \
src\6model\reprs\CStr.obj \
src\6model\reprs\CArray.obj \
src\6model\reprs\CStruct.obj \
src\6model\reprs\CUnion.obj \
src\6model\reprs\ReentrantMutex.obj \
src\6model\reprs\ConditionVariable.obj \
src\6model\reprs\Semaphore.obj \
src\6model\reprs\ConcBlockingQueue.obj \
src\6model\reprs\MVMAsyncTask.obj \
src\6model\reprs\MVMNull.obj \
src\6model\reprs\CPPStruct.obj \
src\6model\reprs\NativeRef.obj \
src\6model\reprs\MultiDimArray.obj \
src\6model\6model.obj \
src\6model\bootstrap.obj \
src\6model\sc.obj \
src\6model\serialization.obj \
src\mast\compiler.obj \
src\mast\driver.obj \
src\spesh\dump.obj \
src\spesh\graph.obj \
src\spesh\codegen.obj \
src\spesh\candidate.obj \
src\spesh\manipulate.obj \
src\spesh\args.obj \
src\spesh\facts.obj \
src\spesh\optimize.obj \
src\spesh\deopt.obj \
src\spesh\log.obj \
src\spesh\threshold.obj \
src\spesh\inline.obj \
src\spesh\osr.obj \
src\jit\graph.obj \
src\jit\compile.obj \
src\jit\log.obj \
src\strings\decode_stream.obj \
src\strings\ascii.obj \
src\strings\utf8.obj \
src\strings\utf8_c8.obj \
src\strings\nfg.obj \
src\strings\ops.obj \
src\strings\unicode.obj \
src\strings\normalize.obj \
src\strings\latin1.obj \
src\strings\utf16.obj \
src\strings\windows1252.obj \
src\math\bigintops.obj \
src\profiler\instrument.obj \
src\profiler\log.obj \
src\profiler\profile.obj \
src\instrument\crossthreadwrite.obj \
src\moar.obj \
$(PLATFORM_WIN32) \
$(JIT_WIN32_X64)
HEADERS = src\moar.h \
src\types.h \
src\bithacks.h \
src\6model\6model.h \
src\core\instance.h \
src\core\threadcontext.h \
src\core\callsite.h \
src\core\args.h \
src\core\exceptions.h \
src\core\interp.h \
src\core\alloc.h \
src\core\frame.h \
src\core\compunit.h \
src\core\bytecode.h \
src\core\ops.h \
src\core\validation.h \
src\core\bytecodedump.h \
src\core\threads.h \
src\core\hll.h \
src\core\loadbytecode.h \
src\math\num.h \
src\core\coerce.h \
src\core\dll.h \
src\core\ext.h \
src\core\nativecall.h \
src\core\continuation.h \
src\core\intcache.h \
src\core\fixedsizealloc.h \
src\io\io.h \
src\io\eventloop.h \
src\io\syncfile.h \
src\io\syncstream.h \
src\io\syncpipe.h \
src\io\syncsocket.h \
src\io\fileops.h \
src\io\dirops.h \
src\io\procops.h \
src\io\timers.h \
src\io\filewatchers.h \
src\io\signals.h \
src\io\asyncsocket.h \
src\gc\orchestrate.h \
src\gc\allocation.h \
src\gc\worklist.h \
src\gc\collect.h \
src\gc\roots.h \
src\gc\gen2.h \
src\gc\wb.h \
src\gc\objectid.h \
src\gc\finalize.h \
src\6model\reprs.h \
src\6model\reprconv.h \
src\6model\bootstrap.h \
src\6model\serialization.h \
src\6model\containers.h \
src\6model\parametric.h \
src\6model\reprs\MVMString.h \
src\6model\reprs\MVMArray.h \
src\6model\reprs\MVMHash.h \
src\6model\reprs\MVMCFunction.h \
src\6model\reprs\KnowHOWREPR.h \
src\6model\reprs\KnowHOWAttributeREPR.h \
src\6model\reprs\P6opaque.h \
src\6model\reprs\MVMCode.h \
src\6model\reprs\P6str.h \
src\6model\reprs\MVMOSHandle.h \
src\6model\reprs\P6int.h \
src\6model\reprs\P6num.h \
src\6model\reprs\Uninstantiable.h \
src\6model\reprs\HashAttrStore.h \
src\6model\reprs\MVMThread.h \
src\6model\reprs\MVMIter.h \
src\6model\reprs\MVMContext.h \
src\6model\reprs\SCRef.h \
src\6model\reprs\Lexotic.h \
src\6model\reprs\MVMCallCapture.h \
src\6model\reprs\P6bigint.h \
src\6model\reprs\NFA.h \
src\6model\reprs\MVMException.h \
src\6model\reprs\MVMCompUnit.h \
src\6model\reprs\MVMDLLSym.h \
src\6model\reprs\MVMMultiCache.h \
src\6model\reprs\MVMContinuation.h \
src\6model\reprs\NativeCall.h \
src\6model\reprs\CPointer.h \
src\6model\reprs\CStr.h \
src\6model\reprs\CArray.h \
src\6model\reprs\CStruct.h \
src\6model\reprs\CUnion.h \
src\6model\reprs\ReentrantMutex.h \
src\6model\reprs\ConditionVariable.h \
src\6model\reprs\Semaphore.h \
src\6model\reprs\ConcBlockingQueue.h \
src\6model\reprs\MVMAsyncTask.h \
src\6model\reprs\MVMNull.h \
src\6model\reprs\CPPStruct.h \
src\6model\reprs\NativeRef.h \
src\6model\reprs\MultiDimArray.h \
src\6model\sc.h \
src\mast\compiler.h \
src\mast\driver.h \
src\mast\nodes.h \
src\spesh\dump.h \
src\spesh\graph.h \
src\spesh\codegen.h \
src\spesh\candidate.h \
src\spesh\manipulate.h \
src\spesh\args.h \
src\spesh\facts.h \
src\spesh\optimize.h \
src\spesh\deopt.h \
src\spesh\log.h \
src\spesh\threshold.h \
src\spesh\inline.h \
src\spesh\osr.h \
src\strings\unicode_gen.h \
src\strings\normalize.h \
src\strings\decode_stream.h \
src\strings\ascii.h \
src\strings\utf8.h \
src\strings\utf8_c8.h \
src\strings\iter.h \
src\strings\nfg.h \
src\strings\ops.h \
src\strings\unicode.h \
src\strings\latin1.h \
src\strings\utf16.h \
src\strings\windows1252.h \
src\math\bigintops.h \
src\profiler\instrument.h \
src\profiler\log.h \
src\profiler\profile.h \
src\platform\mmap.h \
src\platform\time.h \
src\platform\threads.h \
src\platform\io.h \
src\platform\sys.h \
src\platform\setjmp.h \
src\jit\graph.h \
src\jit\compile.h \
src\jit\log.h \
src\instrument\crossthreadwrite.h \
src\gen\config.h \
3rdparty\uthash.h
UV_UNIX = 3rdparty\libuv\src\fs-poll.obj \
3rdparty\libuv\src\inet.obj \
3rdparty\libuv\src\uv-common.obj \
3rdparty\libuv\src\version.obj \
3rdparty\libuv\src\unix\async.obj \
3rdparty\libuv\src\unix\core.obj \
3rdparty\libuv\src\unix\dl.obj \
3rdparty\libuv\src\unix\fs.obj \
3rdparty\libuv\src\unix\getaddrinfo.obj \
3rdparty\libuv\src\unix\loop-watcher.obj \
3rdparty\libuv\src\unix\loop.obj \
3rdparty\libuv\src\unix\pipe.obj \
3rdparty\libuv\src\unix\poll.obj \
3rdparty\libuv\src\unix\process.obj \
3rdparty\libuv\src\unix\signal.obj \
3rdparty\libuv\src\unix\stream.obj \
3rdparty\libuv\src\unix\tcp.obj \
3rdparty\libuv\src\unix\thread.obj \
3rdparty\libuv\src\threadpool.obj \
3rdparty\libuv\src\unix\timer.obj \
3rdparty\libuv\src\unix\tty.obj \
3rdparty\libuv\src\unix\udp.obj
UV_LINUX = 3rdparty\libuv\src\unix\linux-core.obj \
3rdparty\libuv\src\unix\linux-inotify.obj \
3rdparty\libuv\src\unix\linux-syscalls.obj \
3rdparty\libuv\src\unix\proctitle.obj \
$(UV_UNIX)
UV_OPENBSD = 3rdparty\libuv\src\unix\openbsd.obj \
3rdparty\libuv\src\unix\kqueue.obj \
$(UV_UNIX)
UV_NETBSD = 3rdparty\libuv\src\unix\netbsd.obj \
3rdparty\libuv\src\unix\kqueue.obj \
$(UV_UNIX)
UV_FREEBSD = 3rdparty\libuv\src\unix\freebsd.obj \
3rdparty\libuv\src\unix\kqueue.obj \
$(UV_UNIX)
UV_DARWIN = 3rdparty\libuv\src\unix\darwin.obj \
3rdparty\libuv\src\unix\darwin-proctitle.obj \
3rdparty\libuv\src\unix\fsevents.obj \
3rdparty\libuv\src\unix\kqueue.obj \
3rdparty\libuv\src\unix\proctitle.obj \
$(UV_UNIX)
UV_SOLARIS = 3rdparty\libuv\src\unix\sunos.obj \
$(UV_UNIX)
UV_OBJECTS = 3rdparty\libuv\src\fs-poll.obj 3rdparty\libuv\src\inet.obj 3rdparty\libuv\src\threadpool.obj 3rdparty\libuv\src\uv-common.obj 3rdparty\libuv\src\version.obj 3rdparty\libuv\src\win\async.obj 3rdparty\libuv\src\win\core.obj 3rdparty\libuv\src\win\dl.obj 3rdparty\libuv\src\win\error.obj 3rdparty\libuv\src\win\fs-event.obj 3rdparty\libuv\src\win\fs.obj 3rdparty\libuv\src\win\getaddrinfo.obj 3rdparty\libuv\src\win\getnameinfo.obj 3rdparty\libuv\src\win\handle.obj 3rdparty\libuv\src\win\loop-watcher.obj 3rdparty\libuv\src\win\pipe.obj 3rdparty\libuv\src\win\poll.obj 3rdparty\libuv\src\win\process-stdio.obj 3rdparty\libuv\src\win\process.obj 3rdparty\libuv\src\win\req.obj 3rdparty\libuv\src\win\signal.obj 3rdparty\libuv\src\win\stream.obj 3rdparty\libuv\src\win\tcp.obj 3rdparty\libuv\src\win\thread.obj 3rdparty\libuv\src\win\timer.obj 3rdparty\libuv\src\win\tty.obj 3rdparty\libuv\src\win\udp.obj 3rdparty\libuv\src\win\util.obj 3rdparty\libuv\src\win\winapi.obj 3rdparty\libuv\src\win\winsock.obj
TOM_OBJECTS = 3rdparty\libtommath\bn_error.obj 3rdparty\libtommath\bn_fast_mp_invmod.obj 3rdparty\libtommath\bn_fast_mp_montgomery_reduce.obj 3rdparty\libtommath\bn_fast_s_mp_mul_digs.obj 3rdparty\libtommath\bn_fast_s_mp_mul_high_digs.obj 3rdparty\libtommath\bn_fast_s_mp_sqr.obj 3rdparty\libtommath\bn_mp_2expt.obj 3rdparty\libtommath\bn_mp_abs.obj 3rdparty\libtommath\bn_mp_add.obj 3rdparty\libtommath\bn_mp_add_d.obj 3rdparty\libtommath\bn_mp_addmod.obj 3rdparty\libtommath\bn_mp_and.obj 3rdparty\libtommath\bn_mp_clamp.obj 3rdparty\libtommath\bn_mp_clear.obj 3rdparty\libtommath\bn_mp_clear_multi.obj 3rdparty\libtommath\bn_mp_cmp.obj 3rdparty\libtommath\bn_mp_cmp_d.obj 3rdparty\libtommath\bn_mp_cmp_mag.obj 3rdparty\libtommath\bn_mp_cnt_lsb.obj 3rdparty\libtommath\bn_mp_copy.obj 3rdparty\libtommath\bn_mp_count_bits.obj 3rdparty\libtommath\bn_mp_div.obj 3rdparty\libtommath\bn_mp_div_2.obj 3rdparty\libtommath\bn_mp_div_2d.obj 3rdparty\libtommath\bn_mp_div_3.obj 3rdparty\libtommath\bn_mp_div_d.obj 3rdparty\libtommath\bn_mp_dr_is_modulus.obj 3rdparty\libtommath\bn_mp_dr_reduce.obj 3rdparty\libtommath\bn_mp_dr_setup.obj 3rdparty\libtommath\bn_mp_exch.obj 3rdparty\libtommath\bn_mp_expt_d.obj 3rdparty\libtommath\bn_mp_exptmod.obj 3rdparty\libtommath\bn_mp_exptmod_fast.obj 3rdparty\libtommath\bn_mp_exteuclid.obj 3rdparty\libtommath\bn_mp_fread.obj 3rdparty\libtommath\bn_mp_fwrite.obj 3rdparty\libtommath\bn_mp_gcd.obj 3rdparty\libtommath\bn_mp_get_int.obj 3rdparty\libtommath\bn_mp_get_long.obj 3rdparty\libtommath\bn_mp_grow.obj 3rdparty\libtommath\bn_mp_init.obj 3rdparty\libtommath\bn_mp_init_copy.obj 3rdparty\libtommath\bn_mp_init_multi.obj 3rdparty\libtommath\bn_mp_init_set.obj 3rdparty\libtommath\bn_mp_init_set_int.obj 3rdparty\libtommath\bn_mp_init_size.obj 3rdparty\libtommath\bn_mp_invmod.obj 3rdparty\libtommath\bn_mp_invmod_slow.obj 3rdparty\libtommath\bn_mp_is_square.obj 3rdparty\libtommath\bn_mp_jacobi.obj 3rdparty\libtommath\bn_mp_karatsuba_mul.obj 3rdparty\libtommath\bn_mp_karatsuba_sqr.obj 3rdparty\libtommath\bn_mp_lcm.obj 3rdparty\libtommath\bn_mp_lshd.obj 3rdparty\libtommath\bn_mp_mod.obj 3rdparty\libtommath\bn_mp_mod_2d.obj 3rdparty\libtommath\bn_mp_mod_d.obj 3rdparty\libtommath\bn_mp_montgomery_calc_normalization.obj 3rdparty\libtommath\bn_mp_montgomery_reduce.obj 3rdparty\libtommath\bn_mp_montgomery_setup.obj 3rdparty\libtommath\bn_mp_mul.obj 3rdparty\libtommath\bn_mp_mul_2.obj 3rdparty\libtommath\bn_mp_mul_2d.obj 3rdparty\libtommath\bn_mp_mul_d.obj 3rdparty\libtommath\bn_mp_mulmod.obj 3rdparty\libtommath\bn_mp_n_root.obj 3rdparty\libtommath\bn_mp_neg.obj 3rdparty\libtommath\bn_mp_or.obj 3rdparty\libtommath\bn_mp_prime_fermat.obj 3rdparty\libtommath\bn_mp_prime_is_divisible.obj 3rdparty\libtommath\bn_mp_prime_is_prime.obj 3rdparty\libtommath\bn_mp_prime_miller_rabin.obj 3rdparty\libtommath\bn_mp_prime_next_prime.obj 3rdparty\libtommath\bn_mp_prime_rabin_miller_trials.obj 3rdparty\libtommath\bn_mp_prime_random_ex.obj 3rdparty\libtommath\bn_mp_radix_size.obj 3rdparty\libtommath\bn_mp_radix_smap.obj 3rdparty\libtommath\bn_mp_rand.obj 3rdparty\libtommath\bn_mp_read_radix.obj 3rdparty\libtommath\bn_mp_read_signed_bin.obj 3rdparty\libtommath\bn_mp_read_unsigned_bin.obj 3rdparty\libtommath\bn_mp_reduce.obj 3rdparty\libtommath\bn_mp_reduce_2k.obj 3rdparty\libtommath\bn_mp_reduce_2k_l.obj 3rdparty\libtommath\bn_mp_reduce_2k_setup.obj 3rdparty\libtommath\bn_mp_reduce_2k_setup_l.obj 3rdparty\libtommath\bn_mp_reduce_is_2k.obj 3rdparty\libtommath\bn_mp_reduce_is_2k_l.obj 3rdparty\libtommath\bn_mp_reduce_setup.obj 3rdparty\libtommath\bn_mp_rshd.obj 3rdparty\libtommath\bn_mp_set.obj 3rdparty\libtommath\bn_mp_set_int.obj 3rdparty\libtommath\bn_mp_set_long.obj 3rdparty\libtommath\bn_mp_shrink.obj 3rdparty\libtommath\bn_mp_signed_bin_size.obj 3rdparty\libtommath\bn_mp_sqr.obj 3rdparty\libtommath\bn_mp_sqrmod.obj 3rdparty\libtommath\bn_mp_sqrt.obj 3rdparty\libtommath\bn_mp_sub.obj 3rdparty\libtommath\bn_mp_sub_d.obj 3rdparty\libtommath\bn_mp_submod.obj 3rdparty\libtommath\bn_mp_to_signed_bin.obj 3rdparty\libtommath\bn_mp_to_signed_bin_n.obj 3rdparty\libtommath\bn_mp_to_unsigned_bin.obj 3rdparty\libtommath\bn_mp_to_unsigned_bin_n.obj 3rdparty\libtommath\bn_mp_toom_mul.obj 3rdparty\libtommath\bn_mp_toom_sqr.obj 3rdparty\libtommath\bn_mp_toradix.obj 3rdparty\libtommath\bn_mp_toradix_n.obj 3rdparty\libtommath\bn_mp_unsigned_bin_size.obj 3rdparty\libtommath\bn_mp_xor.obj 3rdparty\libtommath\bn_mp_zero.obj 3rdparty\libtommath\bn_prime_tab.obj 3rdparty\libtommath\bn_reverse.obj 3rdparty\libtommath\bn_s_mp_add.obj 3rdparty\libtommath\bn_s_mp_exptmod.obj 3rdparty\libtommath\bn_s_mp_mul_digs.obj 3rdparty\libtommath\bn_s_mp_mul_high_digs.obj 3rdparty\libtommath\bn_s_mp_sqr.obj 3rdparty\libtommath\bn_s_mp_sub.obj 3rdparty\libtommath\bncore.obj
THIRDPARTY = 3rdparty\dyncall\dyncall\libdyncall_s.lib 3rdparty\dyncall\dyncallback\libdyncallback_s.lib 3rdparty\dyncall\dynload\libdynload_s.lib 3rdparty\tinymt\tinymt.lib 3rdparty\sha1\sha1.lib 3rdparty\libtommath\tommath.lib 3rdparty\libuv\uv.lib
.SUFFIXES: .c .obj .i .asm
all: moar.exe pkgconfig\moar.pc
install: all
$(MKPATH) $(DESTDIR)$(BINDIR)
$(CP) moar.exe $(DESTDIR)$(BINDIR)
$(CHMOD) 755 $(DESTDIR)$(BINDIR)/moar.exe
$(MKPATH) $(DESTDIR)$(LIBDIR)
$(CP) moar.dll moar.dll.lib $(DESTDIR)$(LIBDIR)
$(MKPATH) $(DESTDIR)$(MASTDIR)
$(CP) lib\MAST\Nodes.nqp $(DESTDIR)$(MASTDIR)
$(CP) lib\MAST\Ops.nqp $(DESTDIR)$(MASTDIR)
$(MKPATH) $(DESTDIR)$(PKGCONFIGDIR)
$(CP) pkgconfig\moar.pc $(DESTDIR)$(PKGCONFIGDIR)
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar
$(CP) src\gen\config.h $(DESTDIR)$(PREFIX)\include\moar
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\6model\reprs
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\core
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\gc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\gen
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\io
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\mast
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\math
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\platform
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\profiler
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\spesh
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\strings
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\jit
$(MKPATH) $(DESTDIR)$(PREFIX)\include\moar\instrument
$(CP) 3rdparty\*.h $(DESTDIR)$(PREFIX)\include\moar
$(CP) src\*.h $(DESTDIR)$(PREFIX)\include\moar
$(CP) src\6model\*.h $(DESTDIR)$(PREFIX)\include\moar\6model
$(CP) src\6model\reprs\*.h $(DESTDIR)$(PREFIX)\include\moar\6model\reprs
$(CP) src\core\*.h $(DESTDIR)$(PREFIX)\include\moar\core
$(CP) src\gc\*.h $(DESTDIR)$(PREFIX)\include\moar\gc
$(CP) src\gen\*.h $(DESTDIR)$(PREFIX)\include\moar\gen
$(CP) src\io\*.h $(DESTDIR)$(PREFIX)\include\moar\io
$(CP) src\mast\*.h $(DESTDIR)$(PREFIX)\include\moar\mast
$(CP) src\math\*.h $(DESTDIR)$(PREFIX)\include\moar\math
$(CP) src\platform\*.h $(DESTDIR)$(PREFIX)\include\moar\platform
$(CP) src\profiler\*.h $(DESTDIR)$(PREFIX)\include\moar\profiler
$(CP) src\spesh\*.h $(DESTDIR)$(PREFIX)\include\moar\spesh
$(CP) src\strings\*.h $(DESTDIR)$(PREFIX)\include\moar\strings
$(CP) src\jit\*.h $(DESTDIR)$(PREFIX)\include\moar\jit
$(CP) src\instrument\*.h $(DESTDIR)$(PREFIX)\include\moar\instrument
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libuv
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libtommath
$(MKPATH) $(DESTDIR)$(PREFIX)\include\msinttypes
$(MKPATH) $(DESTDIR)$(PREFIX)\include\sha1
$(MKPATH) $(DESTDIR)$(PREFIX)\include\tinymt
$(CP) 3rdparty\libuv\include\*.h $(DESTDIR)$(PREFIX)\include\libuv
$(CP) 3rdparty\msinttypes\*.h $(DESTDIR)$(PREFIX)\include\msinttypes
$(CP) 3rdparty\sha1\*.h $(DESTDIR)$(PREFIX)\include\sha1
$(CP) 3rdparty\tinymt\*.h $(DESTDIR)$(PREFIX)\include\tinymt
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libuv
$(CP) 3rdparty\libuv\include\*.h $(DESTDIR)$(PREFIX)\include\libuv
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\armcc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\gcc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\hpc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\ibmc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\icc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\loadstore
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\msftc
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\sunc
$(CP) 3rdparty\libatomic_ops\src\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\armcc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\armcc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\gcc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\gcc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\hpc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\hpc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\ibmc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\ibmc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\icc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\icc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\loadstore\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\loadstore
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\msftc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\msftc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\sunc\*.h $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\sunc
$(CP) 3rdparty\libtommath\*.h $(DESTDIR)$(PREFIX)\include\libtommath
$(MKPATH) $(DESTDIR)$(PREFIX)\include\dyncall
$(CP) 3rdparty\dyncall\dynload\*.h $(DESTDIR)$(PREFIX)\include\dyncall
$(CP) 3rdparty\dyncall\dyncall\*.h $(DESTDIR)$(PREFIX)\include\dyncall
$(CP) 3rdparty\dyncall\dyncallback\*.h $(DESTDIR)$(PREFIX)\include\dyncall
lib: moar.dll
help:
@$(CAT) build\help.txt
test:
@$(CAT) build\test.txt
reconfig: realclean
$(MSG) reconfiguring with [ $(CONFIG) $(ADDCONFIG) ]
$(CMD)$(PERL) Configure.pl $(CONFIG) $(ADDCONFIG)
clangcheck gcccheck:
@$(MAKE) --no-print-directory -f tools\check.mk $@
moar.exe: $(MAIN_OBJECTS) moar.dll
$(MSG) linking $@
$(CMD)$(LD) /out:$@ $(LDFLAGS) $(MAIN_OBJECTS) $(MAIN_LIBS)
moar.lib: $(OBJECTS) $(THIRDPARTY)
$(MSG) linking $@
$(CMD)$(AR) $(ARFLAGS) /out:$@ $(OBJECTS) $(NOOUT)
moar.dll: $(OBJECTS) $(THIRDPARTY)
$(MSG) linking $@
$(CMD)$(LD) /out:$@ $(LDFLAGS) /dll /implib:moar.dll.lib $(OBJECTS) $(DLL_LIBS)
libuv: 3rdparty\libuv\uv.lib
$(MAIN_OBJECTS) $(OBJECTS): $(HEADERS)
tracing:
$(MSG) enable tracing dispatch
-$(CMD)$(RM) src\main.obj src\core\interp.obj
$(CMD)$(MAKE) TRACING=1 CGOTO=0 NOISY="$(NOISY)"
cgoto:
$(MSG) enable computed-goto dispatch
-$(CMD)$(RM) src\main.obj src\core\interp.obj
$(CMD)$(MAKE) TRACING=0 CGOTO=1 NOISY="$(NOISY)"
switch no-tracing no-cgoto:
$(MSG) enable regular dispatch
-$(CMD)$(RM) src\main.obj src\core\interp.obj
$(CMD)$(MAKE) TRACING=0 CGOTO=0 NOISY="$(NOISY)"
# objflags can include -DMVM_BUILD_SHARED which affects pre-processed source
.c.i:
$(MSG) pre-processing $@
$(CMD)$(CC) /P $(CFLAGS) /DMVM_BUILD_SHARED $(CINCLUDES) /Fi$@ $*.c
.c.asm:
$(MSG) generating assembler for $@
$(CMD)$(CC) /c /FAs $(CFLAGS) /DMVM_BUILD_SHARED $(CINCLUDES) /Fa$@ $*.c
.c.obj:
$(MSG) compiling $@
$(CMD)$(CC) /c $(CFLAGS) /DMVM_BUILD_SHARED $(CINCLUDES) /Fo$@ $*.c
src\main.obj: src\main.c
$(MSG) compiling $@
$(CMD)$(CC) /c $(CFLAGS) /DMVM_SHARED $(CINCLUDES) /Fo$@ $*.c
src\strings\unicode.c: src\strings\unicode_db.c src\strings\unicode_ops.c
$(MSG) generating $@
$(CMD)$(CAT) src\strings\unicode_db.c src\strings\unicode_ops.c > $@ $(NOERR)
3rdparty\dynasm\minilua.exe: 3rdparty\dynasm\minilua.c
$(CC) $(CFLAGS) $(LDFLAGS) 3rdparty\dynasm\minilua.c -o $@ $(LDLIBS)
src\jit\emit_posix_x64.c: $(LUA) src\jit\emit_x64.dasc
$(DYNASM) $(DASM_FLAGS_POSIX) -o $@ src\jit\emit_x64.dasc
src\jit\emit_win32_x64.c: $(LUA) src\jit\emit_x64.dasc
$(DYNASM) $(DASM_FLAGS_WIN32) -o $@ src\jit\emit_x64.dasc
dasm_all: src\jit\emit_win32_x64.c src\jit\emit_posix_x64.c
3rdparty\libuv\uv.lib: $(UV_OBJECTS)
$(MSG) linking $@
$(CMD)$(AR) $(ARFLAGS) /out:$@ 3rdparty\libuv\src\*.obj 3rdparty\libuv\src\win\*.obj $(NOOUT)
__lao__:
$(MSG) linking $@
$(CMD)@: $(NOOUT)
3rdparty\libtommath\tommath.lib: $(TOM_OBJECTS)
$(MSG) linking $@
$(CMD)$(AR) $(ARFLAGS) /out:$@ 3rdparty\libtommath\*.obj $(NOOUT)
3rdparty\sha1\sha1.lib: 3rdparty\sha1\sha1.obj
$(MSG) linking $@
$(CMD)$(AR) $(ARFLAGS) /out:$@ 3rdparty\sha1\*.obj $(NOOUT)
3rdparty\tinymt\tinymt.lib: 3rdparty\tinymt\tinymt64.obj
$(MSG) linking $@
$(CMD)$(AR) $(ARFLAGS) /out:$@ 3rdparty\tinymt\*.obj $(NOOUT)
3rdparty\dyncall\dyncall\libdyncall_s.lib:
$(MSG) building dyncall...
$(CMD)cd 3rdparty\dyncall && configure.bat /target-x86 && $(MAKE) -f Nmakefile $(NOOUT)
$(MSG) done.
3rdparty\dyncall\dyncallback\libdyncallback_s.lib 3rdparty\dyncall\dynload\libdynload_s.lib: 3rdparty\dyncall\dyncall\libdyncall_s.lib
pkgconfig\moar.pc: build\mk-moar-pc.pl
$(PERL) build\mk-moar-pc.pl $@
clean:
$(MSG) remove build files
-$(CMD)$(RM) $(MAIN_OBJECTS) $(OBJECTS) $(NOOUT) $(NOERR)
realclean: clean
$(MSG) remove auxiliary files
-$(CMD)$(RM) moar.ilk moar.pdb moar.dll.lib moar.dll.exp vc100.pdb $(NOOUT) $(NOERR)
$(MSG) remove 3rdparty files
-$(CMD)$(RM) 3rdparty\libuv\uv.lib 3rdparty\libuv\src\*.obj 3rdparty\libuv\src\win\*.obj $(NOOUT) $(NOERR)
-$(CMD)@: $(NOOUT) $(NOERR)
-$(CMD)$(RM) 3rdparty\libtommath\tommath.lib 3rdparty\libtommath\*.obj $(NOOUT) $(NOERR)
-$(CMD)$(RM) 3rdparty\sha1\sha1.lib 3rdparty\sha1\*.obj $(NOOUT) $(NOERR)
-$(CMD)$(RM) 3rdparty\tinymt\tinymt.lib 3rdparty\tinymt\*.obj $(NOOUT) $(NOERR)
-$(CMD)$(RM) 3rdparty\dyncall\ConfigVars 3rdparty\dyncall\dyncall\libdyncall_s.lib 3rdparty\dyncall\dyncallback\libdyncallback_s.lib 3rdparty\dyncall\dynload\libdynload_s.lib 3rdparty\dyncall\dyncall\*.obj 3rdparty\dyncall\dyncallback\*.obj 3rdparty\dyncall\dynload\*.obj $(NOOUT) $(NOERR)
distclean: realclean
$(MSG) remove executable and libraries
-$(CMD)$(RM) moar.exe moar.lib moar.dll $(NOOUT) $(NOERR)
$(MSG) remove configuration and generated files
-$(CMD)$(RM) Makefile src\gen\config.h src\gen\config.c src\strings\unicode.c \
tools\check.mk 3rdparty\libatomic_ops\config.log 3rdparty\libatomic_ops\config.status $(NOOUT) $(NOERR)
-$(CMD)$(RM_RF) src\jit\emit_posix_x64.c build\mk-moar-pc.pl pkgconfig/ $(NOOUT) $(NOERR)
release:
[ -n "$(VERSION)" ] || ( echo "\nTry 'make release VERSION=yyyy.mm'\n\n"; exit 1 )
.\tools\release.sh $(VERSION)
sandwich:
@echo What? Make it yourself.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment