Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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