diff options
author | Andrew Innes <andrewi@gnu.org> | 2001-04-18 14:07:15 +0000 |
---|---|---|
committer | Andrew Innes <andrewi@gnu.org> | 2001-04-18 14:07:15 +0000 |
commit | 039f725c72a7976d60c0d962b7c4667ef664f4d0 (patch) | |
tree | 9434ffc1eea5c642e83ed980fcd278b83f5f5d51 /nt/nmake.defs | |
parent | 37ec3479c7095e35e785a15efde07f8770265128 (diff) | |
download | emacs-039f725c72a7976d60c0d962b7c4667ef664f4d0.tar.gz |
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
the environment.
Diffstat (limited to 'nt/nmake.defs')
-rw-r--r-- | nt/nmake.defs | 457 |
1 files changed, 231 insertions, 226 deletions
diff --git a/nt/nmake.defs b/nt/nmake.defs index 1f6db21eaa0..178a43f8bc0 100644 --- a/nt/nmake.defs +++ b/nt/nmake.defs @@ -1,226 +1,231 @@ -# -# Makefile definition file for building GNU Emacs on the Microsoft W32 API. -# Copyright (c) 2000-2001 Free Software Foundation, Inc. -# -# 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) -SHELLTYPE=CMD - -MAKETYPE=nmake - -CURDIR = $(MAKEDIR:\=/) -THISDIR = $(MAKEDIR) - -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 = $(CURDIR)/.. -!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)" - -COMPILER_TEMP_FILES = *.pdb - -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 - -!ifdef NODEBUG -DEBUG_FLAG = -DEBUG_LINK = -!else -DEBUG_FLAG = -Zi -DEBUG_LINK = -debug:full -debugtype:both -!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) $(DEBUG_LINK) $(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 the Microsoft W32 API.
+# Copyright (c) 2000-2001 Free Software Foundation, Inc.
+#
+# 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)
+SHELLTYPE=CMD
+
+MAKETYPE=nmake
+
+CURDIR = $(MAKEDIR:\=/)
+THISDIR = $(MAKEDIR)
+
+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 = $(CURDIR)/..
+!endif
+
+# Ensure EMACSLOADPATH is defined in the environment.
+#
+!if [set EMACSLOADPATH=foo]
+!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)"
+
+COMPILER_TEMP_FILES = *.pdb
+
+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
+
+!ifdef NODEBUG
+DEBUG_FLAG =
+DEBUG_LINK =
+!else
+DEBUG_FLAG = -Zi
+DEBUG_LINK = -debug:full -debugtype:both
+!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) $(DEBUG_LINK) $(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
|