| 
									
										
										
										
											2010-05-24 17:19:44 -04:00
										 |  |  | !IF !DEFINED(BOOTIMAGE_VERSION) | 
					
						
							|  |  |  | BOOTIMAGE_VERSION = latest | 
					
						
							|  |  |  | !ENDIF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | !IF DEFINED(PLATFORM) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | LINK_FLAGS = /nologo shell32.lib | 
					
						
							| 
									
										
										
										
											2010-06-17 01:48:39 -04:00
										 |  |  | CL_FLAGS = /nologo /O2 /WX /W3 /D_CRT_SECURE_NO_WARNINGS | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | !IF DEFINED(DEBUG) | 
					
						
							|  |  |  | LINK_FLAGS = $(LINK_FLAGS) /DEBUG | 
					
						
							|  |  |  | CL_FLAGS = $(CL_FLAGS) /Zi /DFACTOR_DEBUG | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | !ENDIF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | !IF "$(PLATFORM)" == "x86-32" | 
					
						
							|  |  |  | LINK_FLAGS = $(LINK_FLAGS) /safeseh | 
					
						
							| 
									
										
										
										
											2010-09-19 15:02:32 -04:00
										 |  |  | PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | !ELSEIF "$(PLATFORM)" == "x86-64" | 
					
						
							| 
									
										
										
										
											2010-09-19 15:02:32 -04:00
										 |  |  | PLAF_DLL_OBJS = vm\os-windows-x86.64.obj | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | !ENDIF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:06:22 -04:00
										 |  |  | ML_FLAGS = /nologo /safeseh | 
					
						
							| 
									
										
										
										
											2010-04-05 15:49:32 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-19 15:02:32 -04:00
										 |  |  | EXE_OBJS = vm/main-windows.obj vm\factor.res | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | DLL_OBJS = $(PLAF_DLL_OBJS) \ | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 	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 \ | 
					
						
							| 
									
										
										
										
											2010-06-11 20:06:00 -04:00
										 |  |  | 	vm/gc_info.obj \ | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 	vm\image.obj \ | 
					
						
							|  |  |  | 	vm\inline_cache.obj \ | 
					
						
							|  |  |  | 	vm\instruction_operands.obj \ | 
					
						
							|  |  |  | 	vm\io.obj \ | 
					
						
							|  |  |  | 	vm\jit.obj \ | 
					
						
							|  |  |  | 	vm\math.obj \ | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | 	vm\mvm.obj \ | 
					
						
							| 
									
										
										
										
											2010-09-19 15:02:32 -04:00
										 |  |  | 	vm\mvm-windows.obj \ | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 	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 \ | 
					
						
							| 
									
										
										
										
											2010-09-19 15:02:32 -04:00
										 |  |  | 	vm\vm.obj \ | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 	vm\words.obj | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .cpp.obj: | 
					
						
							|  |  |  | 	cl /EHsc $(CL_FLAGS) /Fo$@ /c $< | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .c.obj: | 
					
						
							|  |  |  | 	cl $(CL_FLAGS) /Fo$@ /c $< | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-05 15:49:32 -04:00
										 |  |  | .asm.obj: | 
					
						
							|  |  |  | 	ml $(ML_FLAGS) /Fo$@ /c $< | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | .rs.res: | 
					
						
							|  |  |  | 	rc $< | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-02 00:59:02 -04:00
										 |  |  | factor.com: $(EXE_OBJS) $(DLL_OBJS) | 
					
						
							|  |  |  | 	link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS) $(DLL_OBJS) | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-02 00:59:02 -04:00
										 |  |  | factor.exe: $(EXE_OBJS) $(DLL_OBJS) | 
					
						
							|  |  |  | 	link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS) $(DLL_OBJS) | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | all: factor.com factor.exe factor.dll.lib libfactor-ffi-test.dll | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | !ENDIF | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | default: | 
					
						
							|  |  |  | 	@echo Usage: nmake /f Nmakefile platform | 
					
						
							|  |  |  | 	@echo Where platform is one of: | 
					
						
							|  |  |  | 	@echo x86-32 | 
					
						
							|  |  |  | 	@echo x86-64 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:06:22 -04:00
										 |  |  | 	@exit 1 | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | x86-32: | 
					
						
							| 
									
										
										
										
											2010-05-24 18:56:00 -04:00
										 |  |  | 	nmake /nologo PLATFORM=x86-32 /f Nmakefile all | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | x86-64: | 
					
						
							| 
									
										
										
										
											2010-05-24 18:56:00 -04:00
										 |  |  | 	nmake /nologo PLATFORM=x86-64 /f Nmakefile all | 
					
						
							| 
									
										
										
										
											2010-04-08 19:00:00 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | clean: | 
					
						
							|  |  |  | 	del vm\*.obj | 
					
						
							| 
									
										
										
										
											2010-05-24 18:56:00 -04:00
										 |  |  | 	if exist factor.lib del factor.lib | 
					
						
							| 
									
										
										
										
											2010-06-04 20:03:33 -04:00
										 |  |  | 	if exist factor.res del factor.res | 
					
						
							| 
									
										
										
										
											2010-05-24 18:56:00 -04:00
										 |  |  | 	if exist factor.com del factor.com | 
					
						
							|  |  |  | 	if exist factor.exe del factor.exe | 
					
						
							|  |  |  | 	if exist factor.dll del factor.dll | 
					
						
							|  |  |  | 	if exist factor.dll.lib del factor.dll.lib | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-24 18:56:00 -04:00
										 |  |  | .PHONY: all default x86-32 x86-64 clean | 
					
						
							| 
									
										
										
										
											2010-01-30 23:39:43 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | .SUFFIXES: .rs |