]> gitweb.factorcode.org Git - factor.git/commitdiff
Nmakefile: build factor.dll and link in resource file
authorSlava Pestov <slava@factorcode.org>
Sun, 17 Jan 2010 04:41:17 +0000 (22:41 -0600)
committerSlava Pestov <slava@factorcode.org>
Sun, 17 Jan 2010 04:41:17 +0000 (22:41 -0600)
Nmakefile
vm/factor.res [new file with mode: 0755]
vm/os-windows-nt.hpp

index 04992e67710975e643f9ce943f954b78e0fb8a34..e9384fdff8000b705384a9ad481c8b4769ad6169 100755 (executable)
--- a/Nmakefile
+++ b/Nmakefile
@@ -1,8 +1,9 @@
-LINK_CLFAGS =\r
-CL_FLAGS = /O2 /W3\r
+LINK_CLFAGS = /nologo\r
+CL_FLAGS = /nologo /O2 /W3\r
 \r
 \r
-OBJS = vm\main-windows-nt.obj \\r
-       vm\os-windows-nt.obj \\r
+EXE_OBJS = factor.dll.lib vm\main-windows-nt.obj vm\factor.res\r
+\r
+DLL_OBJS = vm\os-windows-nt.obj \\r
        vm\os-windows.obj \\r
        vm\aging_collector.obj \\r
        vm\alien.obj \\r
        vm\os-windows.obj \\r
        vm\aging_collector.obj \\r
        vm\alien.obj \\r
@@ -47,19 +48,29 @@ OBJS = vm\main-windows-nt.obj \
        vm\words.obj\r
 \r
 .cpp.obj:\r
        vm\words.obj\r
 \r
 .cpp.obj:\r
-       cl /nologo /EHsc $(CL_FLAGS) /Fo$@ /c $<\r
+       cl /EHsc $(CL_FLAGS) /Fo$@ /c $<\r
+\r
+.rs.res:\r
+       rc $<\r
 \r
 all: factor.com factor.exe\r
 \r
 \r
 all: factor.com factor.exe\r
 \r
-factor.com: $(OBJS)\r
-       link $(LINK_FLAGS) /nologo /out:factor.com /SUBSYSTEM:console $(OBJS)\r
+factor.dll.lib: $(DLL_OBJS)\r
+       link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS)\r
 \r
 \r
-factor.exe: $(OBJS)\r
-       link $(LINK_FLAGS) /nologo /out:factor.exe /SUBSYSTEM:windows $(OBJS)\r
+factor.com: $(EXE_OBJS)\r
+       link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS)\r
+\r
+factor.exe: $(EXE_OBJS)\r
+       link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS)\r
 \r
 clean:\r
        del vm\*.obj\r
        del factor.com\r
        del factor.exe\r
 \r
 clean:\r
        del vm\*.obj\r
        del factor.com\r
        del factor.exe\r
+       del factor.dll\r
+       del factor.dll.lib\r
 \r
 .PHONY: clean\r
 \r
 .PHONY: clean\r
+\r
+.SUFFIXES: .rs\r
diff --git a/vm/factor.res b/vm/factor.res
new file mode 100755 (executable)
index 0000000..6d452b5
Binary files /dev/null and b/vm/factor.res differ
index 1559d1147db1d3f7c97afdbbaf6dcddb1bbdf708..8ad34ed147c7011d1eb94363343c82a7183043bf 100755 (executable)
@@ -20,11 +20,11 @@ typedef char symbol_char;
 
 #define FACTOR_OS_STRING "winnt"
 
 
 #define FACTOR_OS_STRING "winnt"
 
+#define FACTOR_DLL L"factor.dll"
+
 #ifdef _MSC_VER
 #ifdef _MSC_VER
-       #define FACTOR_DLL NULL
        #define FACTOR_STDCALL(return_type) return_type __stdcall
 #else
        #define FACTOR_STDCALL(return_type) return_type __stdcall
 #else
-       #define FACTOR_DLL L"factor.dll"
        #define FACTOR_STDCALL(return_type) __attribute__((stdcall)) return_type
 #endif
 
        #define FACTOR_STDCALL(return_type) __attribute__((stdcall)) return_type
 #endif