#\r
-# Makefile definition file for building GNU Emacs on Windows NT\r
+# Makefile definition file for building GNU Emacs on the Microsoft W32 API.\r
+# Copyright (c) 2000-2001 Free Software Foundation, Inc.\r
# \r
# GNU Emacs is free software; you can redistribute it and/or modify\r
# it under the terms of the GNU General Public License as published by\r
THE_SHELL = $(COMSPEC)\r
SHELLTYPE=CMD\r
\r
+MAKETYPE=nmake\r
+\r
+CURDIR = $(MAKEDIR:\=/)\r
+THISDIR = $(MAKEDIR)\r
+\r
ALL_DEPS = $**\r
\r
SUBSYSTEM_WINDOWS=-subsystem:windows\r
# INSTALL_DIR is the directory into which emacs will be installed.\r
#\r
!ifndef INSTALL_DIR\r
-INSTALL_DIR = $(MAKEDIR)/..\r
+INSTALL_DIR = $(CURDIR)/..\r
+!endif\r
+\r
+# Ensure EMACSLOADPATH is defined in the environment.\r
+#\r
+!if [set EMACSLOADPATH=foo]\r
!endif\r
\r
# Allow detection of builds with MSVC 5 or later, so we can\r
!else\r
DEBUG_CFLAGS = \r
!endif\r
-CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \\r
+CFLAGS = -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 $(ARCH_CFLAGS) -D$(ARCH) \\r
-D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)\r
EMACS_EXTRA_C_FLAGS =\r
\r
-SYS_LDFLAGS = -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net\r
+SYS_LDFLAGS = -release -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
$(BLD): $(OBJDIR)\r
-mkdir "$(BLD)"\r
\r
+COMPILER_TEMP_FILES = *.pdb\r
+\r
CP = cp -f\r
CP_DIR = cp -rf\r
IFNOTSAMEDIR = if not exist ..\same-dir.tst\r
DEL = rm\r
DEL_TREE = rm -r\r
\r
-# The location of the icon file\r
-EMACS_ICON_PATH = ../nt/emacs.ico\r
-\r
!ifdef NODEBUG\r
DEBUG_FLAG = \r
+DEBUG_LINK = \r
!else\r
DEBUG_FLAG = -Zi\r
+DEBUG_LINK = -debug:full -debugtype:both\r
!endif\r
\r
!if "$(ARCH)" == "i386"\r
!endif\r
!endif\r
\r
-LINK_FLAGS = $(ARCH_LDFLAGS) $(USER_LDFLAGS)\r
+LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS)\r
\r
# From MSVC 5.0 onwards, it seem base relocation information is not included,\r
# at least in release builds. We need to ensure the reloc info is included\r