]> gitweb.factorcode.org Git - factor.git/blob - Nmakefile
Merge branch 'master' of git://factorcode.org/git/factor
[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 shell32.lib
6 CL_FLAGS = /nologo /O2 /W3
7 !ENDIF
8
9 EXE_OBJS = factor.dll.lib 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\nursery_collector.obj \
42         vm\object_start_map.obj \
43         vm\objects.obj \
44         vm\primitives.obj \
45         vm\profiler.obj \
46         vm\quotations.obj \
47         vm\run.obj \
48         vm\strings.obj \
49         vm\to_tenured_collector.obj \
50         vm\tuples.obj \
51         vm\utilities.obj \
52         vm\vm.obj \
53         vm\words.obj
54
55 .cpp.obj:
56         cl /EHsc $(CL_FLAGS) /Fo$@ /c $<
57
58 .c.obj:
59         cl $(CL_FLAGS) /Fo$@ /c $<
60
61 .rs.res:
62         rc $<
63
64 all: factor.com factor.exe libfactor-ffi-test.dll
65
66 libfactor-ffi-test.dll: vm/ffi_test.obj
67         link $(LINK_FLAGS) /out:libfactor-ffi-test.dll /dll vm/ffi_test.obj
68
69 factor.dll.lib: $(DLL_OBJS)
70         link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS)
71
72 factor.com: $(EXE_OBJS)
73         link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS)
74
75 factor.exe: $(EXE_OBJS)
76         link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS)
77
78 clean:
79         del vm\*.obj
80         del factor.lib
81         del factor.com
82         del factor.exe
83         del factor.dll
84         del factor.dll.lib
85
86 .PHONY: all clean
87
88 .SUFFIXES: .rs