]> code.delx.au - gnu-emacs/blobdiff - nt/nmake.defs
Merge from emacs-24; up to 2012-12-21T07:35:02Z!ueno@gnu.org
[gnu-emacs] / nt / nmake.defs
index 2cb3113ca9ad601f274d8f0dfa51ed08a2d5e0ec..69e8bb67340d6932fcd8b9326766b4ced2f5e9e6 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- Makefile -*- definition file for building GNU Emacs on Windows NT.\r
-# Copyright (C) 2000-2012 Free Software Foundation, Inc.\r
+# Copyright (C) 2000-2013 Free Software Foundation, Inc.\r
 \r
 # This file is part of GNU Emacs.\r
 \r
@@ -22,11 +22,13 @@ all:
 \r
 THE_SHELL = $(COMSPEC)\r
 SHELLTYPE=CMD\r
+SWITCHCHAR=/\r
 \r
 MAKETYPE=nmake\r
 \r
 CURDIR         = $(MAKEDIR:\=/)\r
 THISDIR                = $(MAKEDIR)\r
+DIRNAME                =\r
 \r
 ALL_DEPS       = $**\r
 \r
@@ -86,7 +88,11 @@ ARCH         = alpha
 !    if "$(PROCESSOR_ARCHITECTURE)" == "PPC"\r
 ARCH           = ppc\r
 !    else\r
-!     error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"\r
+!     if "$(PROCESSOR_ARCHITECTURE)" == "AMD64"\r
+ARCH           = AMD64\r
+!     else\r
+!      error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"\r
+!     endif\r
 !    endif\r
 !   endif\r
 !  endif\r
@@ -105,13 +111,13 @@ CC                = cl
 CC_OUT         = -Fo\r
 LINK           = link\r
 LINK_OUT       = -out:\r
-RC             = rc\r
+RC             = rc $(ARCH_RCFLAGS)\r
 RC_OUT         = -Fo\r
 RC_INCLUDE     = -i\r
 \r
 USE_CRT_DLL    = 1\r
 \r
-!ifdef USE_CRT_DLL\r
+!if USE_CRT_DLL\r
 libc           = msvcrt$(D).lib\r
 EMACS_EXTRA_C_FLAGS= -D_DLL -D_MT -DUSE_CRT_DLL=1\r
 !else\r
@@ -144,27 +150,23 @@ DEBUG_CFLAGS      = -DEMACSDEBUG
 DEBUG_CFLAGS   =\r
 !endif\r
 \r
-!ifdef ENABLECHECKS\r
-CHECKING_CFLAGS        = -DENABLE_CHECKING -DXASSERTS\r
-!else\r
-CHECKING_CFLAGS        =\r
-!endif\r
+MWINDOWS        = -subsystem:windows -entry:mainCRTStartup\r
 \r
-CFLAGS          = -I. $(ARCH_CFLAGS) \\r
-                 $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)\r
-ESC_CFLAGS      = -I. $(ARCH_CFLAGS) \\r
-                 $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)\r
+CFLAGS          = -I. $(ARCH_CFLAGS) -D_CRT_SECURE_NO_WARNINGS \\r
+                 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)\r
+ESC_CFLAGS      = -I. $(ARCH_CFLAGS) -D_CRT_SECURE_NO_WARNINGS \\r
+                 $(DEBUG_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)\r
 \r
 #SYS_LDFLAGS   = -nologo -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj\r
-!ifdef NOOPT\r
-SYS_LDFLAGS    = -nologo -manifest -dynamicbase:no -debug -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj\r
-!else\r
-SYS_LDFLAGS    = -nologo -manifest -dynamicbase:no -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj\r
-!endif\r
+SYS_LDFLAGS    = -nologo -manifest -dynamicbase:no -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj\r
 \r
 # see comments in allocate_heap in w32heap.c before changing any of the\r
 # -stack, -heap, or -base settings.\r
-TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)\r
+!if "$(ARCH)" == "i386"\r
+TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -pdb:$(BLD)\temacs.pdb -machine:x86 $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)\r
+!elseif "$(ARCH)" == "AMD64"\r
+TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x400000000 -pdb:$(BLD)\temacs.pdb -machine:x64 $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)\r
+!endif\r
 \r
 !ifdef NOOPT\r
 OBJDIR          = obj\r
@@ -181,7 +183,7 @@ COMPILER_TEMP_FILES = *.pdb
 \r
 CP             = cp -f\r
 CP_DIR         = cp -rf\r
-IFNOTSAMEDIR   = if not exist ..\same-dir.tst\r
+IFNOTSAMEDIR   = if not exist ..\$(DIRNAME)_same-dir.tst\r
 ENDIF          =\r
 FOREACH                = for %%f in (\r
 FORVAR         = %%f\r
@@ -215,11 +217,17 @@ ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Od -Gd $(DEBUG_FLAG)
 ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Oi -Ot -Oy- -Ob2 -GF -Gy -Gd $(DEBUG_FLAG)\r
 !endif\r
 ARCH_LDFLAGS   = $(SYS_LDFLAGS)\r
+EMACS_HEAPSIZE = 27\r
+EMACS_PURESIZE = 5000000\r
+EMACS_MANIFEST = emacs-x86.manifest\r
 \r
 !else\r
 !if "$(ARCH)" == "mips"\r
 ARCH_CFLAGS     = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0\r
 ARCH_LDFLAGS   = $(SYS_LDFLAGS)\r
+EMACS_HEAPSIZE = 27\r
+EMACS_PURESIZE = 5000000\r
+EMACS_MANIFEST = emacs-mips.manifest\r
 \r
 !else\r
 !if "$(ARCH)" == "alpha"\r
@@ -229,12 +237,30 @@ ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
 ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=\r
 !endif\r
 ARCH_LDFLAGS   = $(SYS_LDFLAGS)\r
+EMACS_HEAPSIZE = 27\r
+EMACS_PURESIZE = 5000000\r
+EMACS_MANIFEST = emacs-alpha.manifest\r
 \r
 !else\r
 !if "$(ARCH)" == "ppc"\r
 # These flags are a guess...if they don't work, please send me mail.\r
-ARCH_CFLAGS    = -D_PPC_=1 -c -Ze -Zi -W2 -Od\r
 ARCH_LDFLAGS   = $(SYS_LDFLAGS)\r
+EMACS_HEAPSIZE = 27\r
+EMACS_PURESIZE = 5000000\r
+EMACS_MANIFEST = emacs-ppc.manifest\r
+\r
+!else\r
+!if "$(ARCH)" == "AMD64"\r
+!ifdef NOOPT\r
+ARCH_CFLAGS     = -nologo -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -c -Zl -Zp8 -W2 -Od -Gd -Wp64 $(DEBUG_FLAG)\r
+!else\r
+ARCH_CFLAGS     = -nologo -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -c -Zl -Zp8 -W2 -O2x -GF -Gy -Gd $(DEBUG_FLAG)\r
+!endif\r
+ARCH_LDFLAGS   = $(SYS_LDFLAGS) -machine:x64\r
+ARCH_RCFLAGS   = -DWIN64\r
+EMACS_HEAPSIZE = 42\r
+EMACS_PURESIZE = 10000000\r
+EMACS_MANIFEST = emacs-x64.manifest\r
 \r
 !else\r
 !ERROR Unknown architecture type "$(ARCH)".\r
@@ -242,6 +268,7 @@ ARCH_LDFLAGS        = $(SYS_LDFLAGS)
 !endif\r
 !endif\r
 !endif\r
+!endif\r
 \r
 LINK_FLAGS     = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS)\r
 \r
@@ -265,4 +292,3 @@ EXTRA_LINK      = -profile
 .c{$(BLD)}.obj::\r
                $(CC) $(CFLAGS) -Fo$(BLD)\ $<\r
 !ENDIF\r
-\r