!IF DEFINED(DEBUG) LINK_FLAGS = /nologo /DEBUG shell32.lib CL_FLAGS = /nologo /Zi /O2 /W3 /DFACTOR_DEBUG !ELSE LINK_FLAGS = /nologo /safeseh:no shell32.lib CL_FLAGS = /nologo /O2 /W3 !ENDIF EXE_OBJS = vm\main-windows-nt.obj vm\factor.res DLL_OBJS = vm\os-windows-nt.obj \ vm\os-windows.obj \ vm\aging_collector.obj \ vm\alien.obj \ vm\arrays.obj \ vm\bignum.obj \ vm\booleans.obj \ vm\byte_arrays.obj \ vm\callbacks.obj \ vm\callstack.obj \ vm\code_blocks.obj \ vm\code_heap.obj \ vm\compaction.obj \ vm\contexts.obj \ vm\data_heap.obj \ vm\data_heap_checker.obj \ vm\debug.obj \ vm\dispatch.obj \ vm\entry_points.obj \ vm\errors.obj \ vm\factor.obj \ vm\free_list.obj \ vm\full_collector.obj \ vm\gc.obj \ vm\image.obj \ vm\inline_cache.obj \ vm\instruction_operands.obj \ vm\io.obj \ vm\jit.obj \ vm\math.obj \ vm\mvm.obj \ vm\mvm-windows-nt.obj \ vm\nursery_collector.obj \ vm\object_start_map.obj \ vm\objects.obj \ vm\primitives.obj \ vm\profiler.obj \ vm\quotations.obj \ vm\run.obj \ vm\strings.obj \ vm\to_tenured_collector.obj \ vm\tuples.obj \ vm\utilities.obj \ vm\vm.obj \ vm\words.obj .cpp.obj: cl /EHsc $(CL_FLAGS) /Fo$@ /c $< .c.obj: cl $(CL_FLAGS) /Fo$@ /c $< .rs.res: rc $< all: factor.com factor.exe factor.dll.lib libfactor-ffi-test.dll libfactor-ffi-test.dll: vm/ffi_test.obj link $(LINK_FLAGS) /out:libfactor-ffi-test.dll /dll vm/ffi_test.obj factor.dll.lib: $(DLL_OBJS) link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS) factor.com: $(EXE_OBJS) $(DLL_OBJS) link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS) $(DLL_OBJS) factor.exe: $(EXE_OBJS) $(DLL_OBJS) link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS) $(DLL_OBJS) clean: del vm\*.obj del factor.lib del factor.com del factor.exe del factor.dll del factor.dll.lib .PHONY: all clean .SUFFIXES: .rs