Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 167 lines (134 sloc) 3.869 kB
518fa0d @jckarter add targets to Nmakefile to fetch boot images on windows, add a wscri…
jckarter authored
1 !IF !DEFINED(BOOTIMAGE_VERSION)
2 BOOTIMAGE_VERSION = latest
3 !ENDIF
4
090f4fd @bjourne VM: Three new special objects added to keep track of the builds versi…
bjourne authored
5 !IF !DEFINED(VERSION)
6 VERSION = version-missing
7 !ENDIF
8
9 !IF !DEFINED(GIT_LABEL)
10 GIT_LABEL = git-label-missing
11 !ENDIF
12
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
13 !IF DEFINED(PLATFORM)
14
15 LINK_FLAGS = /nologo shell32.lib
090f4fd @bjourne VM: Three new special objects added to keep track of the builds versi…
bjourne authored
16 CL_FLAGS = /nologo /O2 /WX /W3 /D_CRT_SECURE_NO_WARNINGS /DFACTOR_VERSION=$(VERSION) /DFACTOR_GIT_LABEL=$(GIT_LABEL)
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
17 CL_FLAGS_VISTA = /D_WIN32_WINNT=0x0600
f33c73b @erikcharlebois Merge up
erikcharlebois authored
18
090f4fd @bjourne VM: Three new special objects added to keep track of the builds versi…
bjourne authored
19 !IF DEFINED(DEBUG)
20 LINK_FLAGS = $(LINK_FLAGS) /DEBUG
21 CL_FLAGS = $(CL_FLAGS) /Zi /DFACTOR_DEBUG
22 !ENDIF
23
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
24 !IF "$(PLATFORM)" == "x86-32"
25 LINK_FLAGS = $(LINK_FLAGS) /safeseh
6d57eb4 @jckarter vm: update windows for resumable signals
jckarter authored
26 PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj vm\cpu-x86.obj
5f8baad @erg Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
erg authored
27 SUBSYSTEM_COM_FLAGS = console,"5.01"
28 SUBSYSTEM_EXE_FLAGS = windows,"5.01"
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
29
30 !ELSEIF "$(PLATFORM)" == "x86-32-vista"
31 LINK_FLAGS = $(LINK_FLAGS) /safeseh
32 CL_FLAGS = $(CL_FLAGS) $(CL_FLAGS_VISTA)
33 PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj vm\cpu-x86.obj
5f8baad @erg Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
erg authored
34 SUBSYSTEM_COM_FLAGS = console
35 SUBSYSTEM_EXE_FLAGS = windows
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
36
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
37 !ELSEIF "$(PLATFORM)" == "x86-64"
6d57eb4 @jckarter vm: update windows for resumable signals
jckarter authored
38 PLAF_DLL_OBJS = vm\os-windows-x86.64.obj vm\cpu-x86.obj
5f8baad @erg Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
erg authored
39 SUBSYSTEM_COM_FLAGS = console,"5.02"
40 SUBSYSTEM_EXE_FLAGS = windows,"5.02"
41
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
42
43 !ELSEIF "$(PLATFORM)" == "x86-64-vista"
44 CL_FLAGS = $(CL_FLAGS) $(CL_FLAGS_VISTA)
45 PLAF_DLL_OBJS = vm\os-windows-x86.64.obj vm\cpu-x86.obj
5f8baad @erg Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
erg authored
46 SUBSYSTEM_COM_FLAGS = console
47 SUBSYSTEM_EXE_FLAGS = windows
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
48 !ENDIF
49
50 !IF DEFINED(DEBUG)
51 LINK_FLAGS = $(LINK_FLAGS) /DEBUG
52 CL_FLAGS = $(CL_FLAGS) /Zi /DFACTOR_DEBUG
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
53 !ENDIF
54
ea81faf Nmakefile: fix 32-bit build
Slava Pestov authored
55 ML_FLAGS = /nologo /safeseh
9b44451 Safe SEH is better than abstinence
Slava Pestov authored
56
80fb778 @jckarter vm: groundwork for sampling profiler
jckarter authored
57 EXE_OBJS = vm\main-windows.obj vm\factor.res
f33c73b @erikcharlebois Merge up
erikcharlebois authored
58
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
59 DLL_OBJS = $(PLAF_DLL_OBJS) \
f33c73b @erikcharlebois Merge up
erikcharlebois authored
60 vm\os-windows.obj \
61 vm\aging_collector.obj \
62 vm\alien.obj \
63 vm\arrays.obj \
64 vm\bignum.obj \
65 vm\byte_arrays.obj \
66 vm\callbacks.obj \
67 vm\callstack.obj \
68 vm\code_blocks.obj \
69 vm\code_heap.obj \
70 vm\compaction.obj \
71 vm\contexts.obj \
72 vm\data_heap.obj \
73 vm\data_heap_checker.obj \
74 vm\debug.obj \
75 vm\dispatch.obj \
76 vm\entry_points.obj \
77 vm\errors.obj \
78 vm\factor.obj \
79 vm\free_list.obj \
80 vm\full_collector.obj \
81 vm\gc.obj \
806e546 GC maps for more compact inline GC checks
Slava Pestov authored
82 vm/gc_info.obj \
f33c73b @erikcharlebois Merge up
erikcharlebois authored
83 vm\image.obj \
84 vm\inline_cache.obj \
85 vm\instruction_operands.obj \
86 vm\io.obj \
87 vm\jit.obj \
88 vm\math.obj \
43b2e02 vm: split up TLS code and add a dummy implementation for a dummy OS k…
Slava Pestov authored
89 vm\mvm.obj \
f791c8c @erg Squashed commit of the following:
erg authored
90 vm\mvm-windows.obj \
f33c73b @erikcharlebois Merge up
erikcharlebois authored
91 vm\nursery_collector.obj \
92 vm\object_start_map.obj \
93 vm\objects.obj \
94 vm\primitives.obj \
95 vm\quotations.obj \
96 vm\run.obj \
72d335f @jckarter vm: write async signals to pipe for multiplexer
jckarter authored
97 vm\safepoints.obj \
80fb778 @jckarter vm: groundwork for sampling profiler
jckarter authored
98 vm\sampling_profiler.obj \
f33c73b @erikcharlebois Merge up
erikcharlebois authored
99 vm\strings.obj \
100 vm\to_tenured_collector.obj \
101 vm\tuples.obj \
102 vm\utilities.obj \
f791c8c @erg Squashed commit of the following:
erg authored
103 vm\vm.obj \
f33c73b @erikcharlebois Merge up
erikcharlebois authored
104 vm\words.obj
105
106 .cpp.obj:
107 cl /EHsc $(CL_FLAGS) /Fo$@ /c $<
108
109 .c.obj:
110 cl $(CL_FLAGS) /Fo$@ /c $<
111
9b44451 Safe SEH is better than abstinence
Slava Pestov authored
112 .asm.obj:
113 ml $(ML_FLAGS) /Fo$@ /c $<
114
f33c73b @erikcharlebois Merge up
erikcharlebois authored
115 .rs.res:
116 rc $<
117
118 libfactor-ffi-test.dll: vm/ffi_test.obj
119 link $(LINK_FLAGS) /out:libfactor-ffi-test.dll /dll vm/ffi_test.obj
120
121 factor.dll.lib: $(DLL_OBJS)
122 link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS)
123
fa49520 @jckarter update nmakefile to statically link VM to exe just like GNUmakefile
jckarter authored
124 factor.com: $(EXE_OBJS) $(DLL_OBJS)
5f8baad @erg Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
erg authored
125 link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:$(SUBSYSTEM_COM_FLAGS) $(EXE_OBJS) $(DLL_OBJS)
f33c73b @erikcharlebois Merge up
erikcharlebois authored
126
fa49520 @jckarter update nmakefile to statically link VM to exe just like GNUmakefile
jckarter authored
127 factor.exe: $(EXE_OBJS) $(DLL_OBJS)
5f8baad @erg Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
erg authored
128 link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:$(SUBSYSTEM_EXE_FLAGS) $(EXE_OBJS) $(DLL_OBJS)
f33c73b @erikcharlebois Merge up
erikcharlebois authored
129
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
130 all: factor.com factor.exe factor.dll.lib libfactor-ffi-test.dll
131
132 !ENDIF
133
134 default:
135 @echo Usage: nmake /f Nmakefile platform
136 @echo Where platform is one of:
137 @echo x86-32
138 @echo x86-64
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
139 @echo x86-32-vista
140 @echo x86-64-vista
ea81faf Nmakefile: fix 32-bit build
Slava Pestov authored
141 @exit 1
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
142
143 x86-32:
0993e68 @jckarter "factor.cmd" script to automate update/build/bootstrap cycle for wind…
jckarter authored
144 nmake /nologo PLATFORM=x86-32 /f Nmakefile all
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
145
146 x86-64:
0993e68 @jckarter "factor.cmd" script to automate update/build/bootstrap cycle for wind…
jckarter authored
147 nmake /nologo PLATFORM=x86-64 /f Nmakefile all
1019278 Nmakefile: support both 32-bit and 64-bit builds again
Slava Pestov authored
148
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
149 x86-32-vista:
150 nmake /nologo PLATFORM=x86-32-vista /f Nmakefile all
151
152 x86-64-vista:
153 nmake /nologo PLATFORM=x86-64-vista /f Nmakefile all
154
f33c73b @erikcharlebois Merge up
erikcharlebois authored
155 clean:
156 del vm\*.obj
0993e68 @jckarter "factor.cmd" script to automate update/build/bootstrap cycle for wind…
jckarter authored
157 if exist factor.lib del factor.lib
e9d7b28 @jckarter Nmakefile: delete factor.res when cleaning
jckarter authored
158 if exist factor.res del factor.res
0993e68 @jckarter "factor.cmd" script to automate update/build/bootstrap cycle for wind…
jckarter authored
159 if exist factor.com del factor.com
160 if exist factor.exe del factor.exe
161 if exist factor.dll del factor.dll
162 if exist factor.dll.lib del factor.dll.lib
f33c73b @erikcharlebois Merge up
erikcharlebois authored
163
c3210f9 @erg Windows: Add two new targets, x86-32-vista and x86-64-vista for bjour…
erg authored
164 .PHONY: all default x86-32 x86-64 x86-32-vista x86-64-vista clean
f33c73b @erikcharlebois Merge up
erikcharlebois authored
165
166 .SUFFIXES: .rs
Something went wrong with that request. Please try again.