changeset 31344:cd1a81ef52d1

(CFLAGS): No need for -D_ANONYMOUS_UNION -D_ANONYMOUS_STRUCT on compile line. (FOREACH, FORVAR, FORDO, ENDFOR): New definitions. (ARGQUOTE, DQUOTE): New defines.
author Andrew Innes <andrewi@gnu.org>
date Sun, 03 Sep 2000 17:36:34 +0000
parents 937d491f865c
children 1f87115b334a
files nt/nmake.defs
diffstat 1 files changed, 218 insertions(+), 213 deletions(-) [+]
line wrap: on
line diff
--- a/nt/nmake.defs	Sun Sep 03 17:33:24 2000 +0000
+++ b/nt/nmake.defs	Sun Sep 03 17:36:34 2000 +0000
@@ -1,213 +1,218 @@
-#
-#  Makefile definition file for building GNU Emacs on Windows NT
-#  
-#  GNU Emacs is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2, or (at your option)
-#  any later version.
-#  
-#  GNU Emacs is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#  
-#  You should have received a copy of the GNU General Public License
-#  along with GNU Emacs; see the file COPYING.  If not, write to
-#  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-#  Boston, MA 02111-1307, USA.
-
-# Ensure 'all' is the default target
-all:
-
-THE_SHELL = $(COMSPEC)
-
-ALL_DEPS	= $**
-
-SUBSYSTEM_WINDOWS=-subsystem:windows
-SUBSYSTEM_CONSOLE=-subsystem:console
-
-# INSTALL_DIR is the directory into which emacs will be installed.
-#
-!ifndef INSTALL_DIR
-INSTALL_DIR     = $(MAKEDIR)/..
-!endif
-
-# Allow detection of builds with MSVC 5 or later, so we can
-# speed up compiles (see rule at end).
-#
-_NMAKE_VER_5=162
-_NMAKE_VER_4=0
-
-!IFNDEF _NMAKE_VER
-_NMAKE_VER=$(_NMAKE_VER_4)
-!ENDIF
-
-# Check that the INCLUDE and LIB environment variables are set.
-#
-!ifndef INCLUDE
-!error The INCLUDE environment variable needs to be set.
-!endif
-!ifndef LIB
-!error The LIB environment variable needs to be set.
-!endif
-
-# Determine the architecture we're running on.
-# Define ARCH for our purposes; 
-# Define CPU for use by ntwin32.mak;
-# Define CONFIG_H to the appropriate config.h for the system;
-#
-!ifdef PROCESSOR_ARCHITECTURE
-# We're on Windows NT
-CPU		= $(PROCESSOR_ARCHITECTURE)
-CONFIG_H	= config.nt
-OS_TYPE		= windowsnt
-! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
-ARCH		= i386
-CPU		= i386
-! else
-!  if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
-ARCH		= mips
-!  else
-!   if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
-ARCH		= alpha
-!   else
-!    if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
-ARCH		= ppc
-!    else
-!     error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
-!    endif
-!   endif
-!  endif
-! endif
-!else
-# We're on Windows 95
-ARCH		= i386
-CPU		= i386
-CONFIG_H	= config.nt
-OS_TYPE		= windows95
-!endif
-
-AR		= lib
-AR_OUT		= -out:
-CC		= cl
-CC_OUT		= -Fo
-LINK		= link
-LINK_OUT	= -out:
-RC		= rc
-RC_OUT		= -Fo
-RC_INCLUDE	= -i
-
-libc		= libc.lib
-baselibs	= 
-O		= obj
-A		= lib
-
-BASE_LIBS	= $(libc) $(baselibs) oldnames.lib
-
-ADVAPI32	= advapi32.lib
-COMDLG32	= comdlg32.lib
-GDI32		= gdi32.lib
-MPR		= mpr.lib
-SHELL32		= shell32.lib
-USER32		= user32.lib
-WSOCK32		= wsock32.lib
-
-!ifdef NOOPT
-DEBUG_CFLAGS	= -DEMACSDEBUG
-!else
-DEBUG_CFLAGS	= 
-!endif
-CFLAGS          = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
-		  -D_CRTAPI1=_cdecl -D_ANONYMOUS_UNION -D_ANONYMOUS_STRUCT \
-		  $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
-EMACS_EXTRA_C_FLAGS =
-
-SYS_LDFLAGS	= -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net
-
-# see comments in allocate_heap in w32heap.c before changing any of the
-# -stack, -heap, or -base settings.
-TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
-
-!ifdef NOOPT
-OBJDIR          = obj
-!else
-OBJDIR          = obj-spd
-!endif
-$(OBJDIR):;	-mkdir $(OBJDIR)
-BLD             = $(OBJDIR)/$(ARCH)
-$(BLD):         $(OBJDIR)
-		-mkdir "$(BLD)"
-
-CP		= cp -f
-CP_DIR		= cp -rf
-IFNOTSAMEDIR	= if not exist ..\same-dir.tst
-ENDIF		=
-DEL		= rm
-DEL_TREE	= rm -r
-
-# The location of the icon file
-EMACS_ICON_PATH = ../nt/emacs.ico
-
-!ifdef NODEBUG
-DEBUG_FLAG = 
-!else
-DEBUG_FLAG = -Zi
-!endif
-
-!if "$(ARCH)" == "i386"
-!ifdef NOOPT
-ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)
-!else
-ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)
-!endif
-ARCH_LDFLAGS	= $(SYS_LDFLAGS)
-
-!else
-!if "$(ARCH)" == "mips"
-ARCH_CFLAGS     = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
-ARCH_LDFLAGS	= $(SYS_LDFLAGS)
-
-!else
-!if "$(ARCH)" == "alpha"
-!if "$(BUILD_TYPE)" == "spd"
-ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
-!else
-ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
-!endif
-ARCH_LDFLAGS	= $(SYS_LDFLAGS)
-
-!else
-!if "$(ARCH)" == "ppc"
-# These flags are a guess...if they don't work, please send me mail.
-ARCH_CFLAGS	= -D_PPC_=1 -c -Ze -Zi -W2 -Od
-ARCH_LDFLAGS	= $(SYS_LDFLAGS)
-
-!else
-!ERROR Unknown architecture type "$(ARCH)".
-!endif
-!endif
-!endif
-!endif
-
-LINK_FLAGS	= $(ARCH_LDFLAGS) $(USER_LDFLAGS)
-
-# From MSVC 5.0 onwards, it seem base relocation information is not included,
-# at least in release builds.  We need to ensure the reloc info is included
-# in order to use the MSVC profiler.
-!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
-EXTRA_LINK      =
-!ELSE
-EXTRA_LINK      = -profile
-!ENDIF
-
-#
-# If the compiler supports compiling multiple .c files to .o files at
-# one time, use this feature.
-#
-!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
-.c{$(BLD)}.obj:
-		$(CC) $(CFLAGS) -Fo$(BLD)\ $<
-!ELSE
-.c{$(BLD)}.obj::
-		$(CC) $(CFLAGS) -Fo$(BLD)\ $<
-!ENDIF
+#
+#  Makefile definition file for building GNU Emacs on Windows NT
+#  
+#  GNU Emacs is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2, or (at your option)
+#  any later version.
+#  
+#  GNU Emacs is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#  
+#  You should have received a copy of the GNU General Public License
+#  along with GNU Emacs; see the file COPYING.  If not, write to
+#  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+#  Boston, MA 02111-1307, USA.
+
+# Ensure 'all' is the default target
+all:
+
+THE_SHELL = $(COMSPEC)
+
+ALL_DEPS	= $**
+
+SUBSYSTEM_WINDOWS=-subsystem:windows
+SUBSYSTEM_CONSOLE=-subsystem:console
+
+# INSTALL_DIR is the directory into which emacs will be installed.
+#
+!ifndef INSTALL_DIR
+INSTALL_DIR     = $(MAKEDIR)/..
+!endif
+
+# Allow detection of builds with MSVC 5 or later, so we can
+# speed up compiles (see rule at end).
+#
+_NMAKE_VER_5=162
+_NMAKE_VER_4=0
+
+!IFNDEF _NMAKE_VER
+_NMAKE_VER=$(_NMAKE_VER_4)
+!ENDIF
+
+# Check that the INCLUDE and LIB environment variables are set.
+#
+!ifndef INCLUDE
+!error The INCLUDE environment variable needs to be set.
+!endif
+!ifndef LIB
+!error The LIB environment variable needs to be set.
+!endif
+
+# Determine the architecture we're running on.
+# Define ARCH for our purposes; 
+# Define CPU for use by ntwin32.mak;
+# Define CONFIG_H to the appropriate config.h for the system;
+#
+!ifdef PROCESSOR_ARCHITECTURE
+# We're on Windows NT
+CPU		= $(PROCESSOR_ARCHITECTURE)
+CONFIG_H	= config.nt
+OS_TYPE		= windowsnt
+! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
+ARCH		= i386
+CPU		= i386
+! else
+!  if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
+ARCH		= mips
+!  else
+!   if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
+ARCH		= alpha
+!   else
+!    if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
+ARCH		= ppc
+!    else
+!     error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
+!    endif
+!   endif
+!  endif
+! endif
+!else
+# We're on Windows 95
+ARCH		= i386
+CPU		= i386
+CONFIG_H	= config.nt
+OS_TYPE		= windows95
+!endif
+
+AR		= lib
+AR_OUT		= -out:
+CC		= cl
+CC_OUT		= -Fo
+LINK		= link
+LINK_OUT	= -out:
+RC		= rc
+RC_OUT		= -Fo
+RC_INCLUDE	= -i
+
+libc		= libc.lib
+baselibs	= 
+O		= obj
+A		= lib
+
+BASE_LIBS	= $(libc) $(baselibs) oldnames.lib
+
+ADVAPI32	= advapi32.lib
+COMDLG32	= comdlg32.lib
+GDI32		= gdi32.lib
+MPR		= mpr.lib
+SHELL32		= shell32.lib
+USER32		= user32.lib
+WSOCK32		= wsock32.lib
+
+!ifdef NOOPT
+DEBUG_CFLAGS	= -DEMACSDEBUG
+!else
+DEBUG_CFLAGS	= 
+!endif
+CFLAGS          = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
+		  -D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
+EMACS_EXTRA_C_FLAGS =
+
+SYS_LDFLAGS	= -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net
+
+# see comments in allocate_heap in w32heap.c before changing any of the
+# -stack, -heap, or -base settings.
+TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
+
+!ifdef NOOPT
+OBJDIR          = obj
+!else
+OBJDIR          = obj-spd
+!endif
+$(OBJDIR):;	-mkdir $(OBJDIR)
+BLD             = $(OBJDIR)/$(ARCH)
+$(BLD):         $(OBJDIR)
+		-mkdir "$(BLD)"
+
+CP		= cp -f
+CP_DIR		= cp -rf
+IFNOTSAMEDIR	= if not exist ..\same-dir.tst
+ENDIF		=
+FOREACH		= for %%f in (
+FORVAR		= %%f
+FORDO		= ) do
+ENDFOR		=
+ARGQUOTE	= "
+DQUOTE		= \"
+DEL		= rm
+DEL_TREE	= rm -r
+
+# The location of the icon file
+EMACS_ICON_PATH = ../nt/emacs.ico
+
+!ifdef NODEBUG
+DEBUG_FLAG = 
+!else
+DEBUG_FLAG = -Zi
+!endif
+
+!if "$(ARCH)" == "i386"
+!ifdef NOOPT
+ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)
+!else
+ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)
+!endif
+ARCH_LDFLAGS	= $(SYS_LDFLAGS)
+
+!else
+!if "$(ARCH)" == "mips"
+ARCH_CFLAGS     = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
+ARCH_LDFLAGS	= $(SYS_LDFLAGS)
+
+!else
+!if "$(ARCH)" == "alpha"
+!if "$(BUILD_TYPE)" == "spd"
+ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
+!else
+ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
+!endif
+ARCH_LDFLAGS	= $(SYS_LDFLAGS)
+
+!else
+!if "$(ARCH)" == "ppc"
+# These flags are a guess...if they don't work, please send me mail.
+ARCH_CFLAGS	= -D_PPC_=1 -c -Ze -Zi -W2 -Od
+ARCH_LDFLAGS	= $(SYS_LDFLAGS)
+
+!else
+!ERROR Unknown architecture type "$(ARCH)".
+!endif
+!endif
+!endif
+!endif
+
+LINK_FLAGS	= $(ARCH_LDFLAGS) $(USER_LDFLAGS)
+
+# From MSVC 5.0 onwards, it seem base relocation information is not included,
+# at least in release builds.  We need to ensure the reloc info is included
+# in order to use the MSVC profiler.
+!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
+EXTRA_LINK      =
+!ELSE
+EXTRA_LINK      = -profile
+!ENDIF
+
+#
+# If the compiler supports compiling multiple .c files to .o files at
+# one time, use this feature.
+#
+!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
+.c{$(BLD)}.obj:
+		$(CC) $(CFLAGS) -Fo$(BLD)\ $<
+!ELSE
+.c{$(BLD)}.obj::
+		$(CC) $(CFLAGS) -Fo$(BLD)\ $<
+!ENDIF