]> gitweb.factorcode.org Git - factor.git/blobdiff - Nmakefile
update Nmakefile to properly delete vm\factor.res.
[factor.git] / Nmakefile
index 1f69fd8a2972fea2bdc5e54685ccc460939e8e26..160ec7a3350a9098f5f40d57ac0268d7d7007b0e 100644 (file)
--- a/Nmakefile
+++ b/Nmakefile
@@ -1,7 +1,3 @@
-!IF !DEFINED(BOOTIMAGE_VERSION)
-BOOTIMAGE_VERSION = latest
-!ENDIF
-
 !IF !DEFINED(VERSION)
 VERSION = version-missing
 !ENDIF
@@ -12,30 +8,34 @@ GIT_LABEL = git-label-missing
 
 !IF DEFINED(PLATFORM)
 
-LINK_FLAGS = /nologo shell32.lib
+LINK_FLAGS = /nologo shell32.lib user32.lib
 CL_FLAGS = /nologo /O2 /WX /W3 /D_CRT_SECURE_NO_WARNINGS /DFACTOR_VERSION=$(VERSION) /DFACTOR_GIT_LABEL=$(GIT_LABEL)
 CL_FLAGS_VISTA = /D_WIN32_WINNT=0x0600
 
-!IF DEFINED(DEBUG)
-LINK_FLAGS = $(LINK_FLAGS) /DEBUG
-CL_FLAGS = $(CL_FLAGS) /Zi /DFACTOR_DEBUG
-!ENDIF
-
 !IF "$(PLATFORM)" == "x86-32"
 LINK_FLAGS = $(LINK_FLAGS) /safeseh
 PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console,"5.01"
+SUBSYSTEM_EXE_FLAGS = windows,"5.01"
 
 !ELSEIF "$(PLATFORM)" == "x86-32-vista"
 LINK_FLAGS = $(LINK_FLAGS) /safeseh
 CL_FLAGS = $(CL_FLAGS) $(CL_FLAGS_VISTA)
 PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console
+SUBSYSTEM_EXE_FLAGS = windows
 
 !ELSEIF "$(PLATFORM)" == "x86-64"
 PLAF_DLL_OBJS = vm\os-windows-x86.64.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console,"5.02"
+SUBSYSTEM_EXE_FLAGS = windows,"5.02"
+
 
 !ELSEIF "$(PLATFORM)" == "x86-64-vista"
 CL_FLAGS = $(CL_FLAGS) $(CL_FLAGS_VISTA)
 PLAF_DLL_OBJS = vm\os-windows-x86.64.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console
+SUBSYSTEM_EXE_FLAGS = windows
 !ENDIF
 
 !IF DEFINED(DEBUG)
@@ -67,10 +67,8 @@ DLL_OBJS = $(PLAF_DLL_OBJS) \
        vm\entry_points.obj \
        vm\errors.obj \
        vm\factor.obj \
-       vm\free_list.obj \
        vm\full_collector.obj \
        vm\gc.obj \
-       vm/gc_info.obj \
        vm\image.obj \
        vm\inline_cache.obj \
        vm\instruction_operands.obj \
@@ -107,16 +105,16 @@ DLL_OBJS = $(PLAF_DLL_OBJS) \
        rc $<
 
 libfactor-ffi-test.dll: vm/ffi_test.obj
-       link $(LINK_FLAGS) /out:libfactor-ffi-test.dll /dll vm/ffi_test.obj
+       link $(LINK_FLAGS) /out:libfactor-ffi-test.dll /dll /def:vm\ffi_test.def vm/ffi_test.obj
 
 factor.dll.lib: $(DLL_OBJS)
        link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS)
 
 factor.com: $(EXE_OBJS) $(DLL_OBJS)
-       link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS) $(DLL_OBJS)
+       link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:$(SUBSYSTEM_COM_FLAGS) $(EXE_OBJS) $(DLL_OBJS)
 
 factor.exe: $(EXE_OBJS) $(DLL_OBJS)
-       link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS) $(DLL_OBJS)
+       link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:$(SUBSYSTEM_EXE_FLAGS) $(EXE_OBJS) $(DLL_OBJS)
 
 all: factor.com factor.exe factor.dll.lib libfactor-ffi-test.dll
 
@@ -145,12 +143,15 @@ x86-64-vista:
 
 clean:
        del vm\*.obj
+       if exist vm\factor.res del vm\factor.res
        if exist factor.lib del factor.lib
-       if exist factor.res del factor.res
        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
+       if exist libfactor-ffi-test.dll del libfactor-ffi-test.dll
+       if exist libfactor-ffi-test.exp del libfactor-ffi-test.exp
+       if exist libfactor-ffi-test.lib del libfactor-ffi-test.lib
 
 .PHONY: all default x86-32 x86-64 x86-32-vista x86-64-vista clean