]> gitweb.factorcode.org Git - factor.git/blob - Nmakefile
Get green threads working on Windows
[factor.git] / Nmakefile
1 !IF DEFINED(DEBUG)
2 LINK_FLAGS = /nologo /DEBUG shell32.lib
3 CL_FLAGS = /nologo /Zi /O2 /W3 /DFACTOR_DEBUG
4 !ELSE
5 LINK_FLAGS = /nologo /safeseh:no shell32.lib
6 CL_FLAGS = /nologo /O2 /W3
7 !ENDIF
8
9 EXE_OBJS = vm\main-windows-nt.obj vm\factor.res
10
11 DLL_OBJS = vm\os-windows-nt.obj \
12         vm\os-windows.obj \
13         vm\aging_collector.obj \
14         vm\alien.obj \
15         vm\arrays.obj \
16         vm\bignum.obj \
17         vm\booleans.obj \
18         vm\byte_arrays.obj \
19         vm\callbacks.obj \
20         vm\callstack.obj \
21         vm\code_blocks.obj \
22         vm\code_heap.obj \
23         vm\compaction.obj \
24         vm\contexts.obj \
25         vm\data_heap.obj \
26         vm\data_heap_checker.obj \
27         vm\debug.obj \
28         vm\dispatch.obj \
29         vm\entry_points.obj \
30         vm\errors.obj \
31         vm\factor.obj \
32         vm\free_list.obj \
33         vm\full_collector.obj \
34         vm\gc.obj \
35         vm\image.obj \
36         vm\inline_cache.obj \
37         vm\instruction_operands.obj \
38         vm\io.obj \
39         vm\jit.obj \
40         vm\math.obj \
41         vm\mvm.obj \
42         vm\mvm-windows-nt.obj \
43         vm\nursery_collector.obj \
44         vm\object_start_map.obj \
45         vm\objects.obj \
46         vm\primitives.obj \
47         vm\profiler.obj \
48         vm\quotations.obj \
49         vm\run.obj \
50         vm\strings.obj \
51         vm\to_tenured_collector.obj \
52         vm\tuples.obj \
53         vm\utilities.obj \
54         vm\vm.obj \
55         vm\words.obj
56
57 .cpp.obj:
58         cl /EHsc $(CL_FLAGS) /Fo$@ /c $<
59
60 .c.obj:
61         cl $(CL_FLAGS) /Fo$@ /c $<
62
63 .rs.res:
64         rc $<
65
66 all: factor.com factor.exe factor.dll.lib libfactor-ffi-test.dll
67
68 libfactor-ffi-test.dll: vm/ffi_test.obj
69         link $(LINK_FLAGS) /out:libfactor-ffi-test.dll /dll vm/ffi_test.obj
70
71 factor.dll.lib: $(DLL_OBJS)
72         link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS)
73
74 factor.com: $(EXE_OBJS) $(DLL_OBJS)
75         link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS) $(DLL_OBJS)
76
77 factor.exe: $(EXE_OBJS) $(DLL_OBJS)
78         link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS) $(DLL_OBJS)
79
80 clean:
81         del vm\*.obj
82         del factor.lib
83         del factor.com
84         del factor.exe
85         del factor.dll
86         del factor.dll.lib
87
88 .PHONY: all clean
89
90 .SUFFIXES: .rs