# -*- Makefile -*- definition file for building GNU Emacs on Windows NT.\r
-# Copyright (C) 2000-2011 Free Software Foundation, Inc.\r
+# Copyright (C) 2000-2012 Free Software Foundation, Inc.\r
\r
# This file is part of GNU Emacs.\r
\r
\r
CURDIR = $(MAKEDIR:\=/)\r
THISDIR = $(MAKEDIR)\r
+DIRNAME =\r
\r
ALL_DEPS = $**\r
\r
RC_OUT = -Fo\r
RC_INCLUDE = -i\r
\r
-libc = libc.lib\r
+USE_CRT_DLL = 1\r
+\r
+!ifdef USE_CRT_DLL\r
+libc = msvcrt$(D).lib\r
+EMACS_EXTRA_C_FLAGS= -D_DLL -D_MT -DUSE_CRT_DLL=1\r
+!else\r
+libc = libcmt$(D).lib\r
+EMACS_EXTRA_C_FLAGS= -D_MT\r
+!endif\r
baselibs =\r
O = obj\r
A = lib\r
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
+ $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)\r
ESC_CFLAGS = -I. $(ARCH_CFLAGS) \\r
- $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)\r
-EMACS_EXTRA_C_FLAGS =\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
+#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
\r
# see comments in allocate_heap in w32heap.c before changing any of the\r
# -stack, -heap, or -base settings.\r
\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
!ifdef NODEBUG\r
DEBUG_FLAG =\r
DEBUG_LINK =\r
+D =\r
!else\r
DEBUG_FLAG = -Zi\r
-DEBUG_LINK = -debug:full\r
+DEBUG_LINK = -debug\r
+D = d\r
!endif\r
\r
+# gcc-specific pragma (ignore for MSVC)\r
+PRAGMA_SYSTEM_HEADER =\r
+\r
!if "$(ARCH)" == "i386"\r
!ifdef NOOPT\r
-ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)\r
+#ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)\r
+ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Od -Gd $(DEBUG_FLAG)\r
!else\r
-ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)\r
+#ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)\r
+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
\r