aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Innes2001-04-18 14:07:15 +0000
committerAndrew Innes2001-04-18 14:07:15 +0000
commit039f725c72a7976d60c0d962b7c4667ef664f4d0 (patch)
tree9434ffc1eea5c642e83ed980fcd278b83f5f5d51
parent37ec3479c7095e35e785a15efde07f8770265128 (diff)
downloademacs-039f725c72a7976d60c0d962b7c4667ef664f4d0.tar.gz
emacs-039f725c72a7976d60c0d962b7c4667ef664f4d0.zip
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
the environment.
-rw-r--r--nt/nmake.defs457
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 @@
1# 1#
2# Makefile definition file for building GNU Emacs on the Microsoft W32 API. 2# Makefile definition file for building GNU Emacs on the Microsoft W32 API.
3# Copyright (c) 2000-2001 Free Software Foundation, Inc. 3# Copyright (c) 2000-2001 Free Software Foundation, Inc.
4# 4#
5# GNU Emacs is free software; you can redistribute it and/or modify 5# GNU Emacs is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by 6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2, or (at your option) 7# the Free Software Foundation; either version 2, or (at your option)
8# any later version. 8# any later version.
9# 9#
10# GNU Emacs is distributed in the hope that it will be useful, 10# GNU Emacs is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details. 13# GNU General Public License for more details.
14# 14#
15# You should have received a copy of the GNU General Public License 15# You should have received a copy of the GNU General Public License
16# along with GNU Emacs; see the file COPYING. If not, write to 16# along with GNU Emacs; see the file COPYING. If not, write to
17# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18# Boston, MA 02111-1307, USA. 18# Boston, MA 02111-1307, USA.
19 19
20# Ensure 'all' is the default target 20# Ensure 'all' is the default target
21all: 21all:
22 22
23THE_SHELL = $(COMSPEC) 23THE_SHELL = $(COMSPEC)
24SHELLTYPE=CMD 24SHELLTYPE=CMD
25 25
26MAKETYPE=nmake 26MAKETYPE=nmake
27 27
28CURDIR = $(MAKEDIR:\=/) 28CURDIR = $(MAKEDIR:\=/)
29THISDIR = $(MAKEDIR) 29THISDIR = $(MAKEDIR)
30 30
31ALL_DEPS = $** 31ALL_DEPS = $**
32 32
33SUBSYSTEM_WINDOWS=-subsystem:windows 33SUBSYSTEM_WINDOWS=-subsystem:windows
34SUBSYSTEM_CONSOLE=-subsystem:console 34SUBSYSTEM_CONSOLE=-subsystem:console
35 35
36# INSTALL_DIR is the directory into which emacs will be installed. 36# INSTALL_DIR is the directory into which emacs will be installed.
37# 37#
38!ifndef INSTALL_DIR 38!ifndef INSTALL_DIR
39INSTALL_DIR = $(CURDIR)/.. 39INSTALL_DIR = $(CURDIR)/..
40!endif 40!endif
41 41
42# Allow detection of builds with MSVC 5 or later, so we can 42# Ensure EMACSLOADPATH is defined in the environment.
43# speed up compiles (see rule at end). 43#
44# 44!if [set EMACSLOADPATH=foo]
45_NMAKE_VER_5=162 45!endif
46_NMAKE_VER_4=0 46
47 47# Allow detection of builds with MSVC 5 or later, so we can
48!IFNDEF _NMAKE_VER 48# speed up compiles (see rule at end).
49_NMAKE_VER=$(_NMAKE_VER_4) 49#
50!ENDIF 50_NMAKE_VER_5=162
51 51_NMAKE_VER_4=0
52# Check that the INCLUDE and LIB environment variables are set. 52
53# 53!IFNDEF _NMAKE_VER
54!ifndef INCLUDE 54_NMAKE_VER=$(_NMAKE_VER_4)
55!error The INCLUDE environment variable needs to be set. 55!ENDIF
56!endif 56
57!ifndef LIB 57# Check that the INCLUDE and LIB environment variables are set.
58!error The LIB environment variable needs to be set. 58#
59!endif 59!ifndef INCLUDE
60 60!error The INCLUDE environment variable needs to be set.
61# Determine the architecture we're running on. 61!endif
62# Define ARCH for our purposes; 62!ifndef LIB
63# Define CPU for use by ntwin32.mak; 63!error The LIB environment variable needs to be set.
64# Define CONFIG_H to the appropriate config.h for the system; 64!endif
65# 65
66!ifdef PROCESSOR_ARCHITECTURE 66# Determine the architecture we're running on.
67# We're on Windows NT 67# Define ARCH for our purposes;
68CPU = $(PROCESSOR_ARCHITECTURE) 68# Define CPU for use by ntwin32.mak;
69CONFIG_H = config.nt 69# Define CONFIG_H to the appropriate config.h for the system;
70OS_TYPE = windowsnt 70#
71! if "$(PROCESSOR_ARCHITECTURE)" == "x86" 71!ifdef PROCESSOR_ARCHITECTURE
72ARCH = i386 72# We're on Windows NT
73CPU = i386 73CPU = $(PROCESSOR_ARCHITECTURE)
74! else 74CONFIG_H = config.nt
75! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS" 75OS_TYPE = windowsnt
76ARCH = mips 76! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
77! else 77ARCH = i386
78! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" 78CPU = i386
79ARCH = alpha 79! else
80! else 80! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
81! if "$(PROCESSOR_ARCHITECTURE)" == "PPC" 81ARCH = mips
82ARCH = ppc 82! else
83! else 83! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
84! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)" 84ARCH = alpha
85! endif 85! else
86! endif 86! if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
87! endif 87ARCH = ppc
88! endif 88! else
89!else 89! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
90# We're on Windows 95 90! endif
91ARCH = i386 91! endif
92CPU = i386 92! endif
93CONFIG_H = config.nt 93! endif
94OS_TYPE = windows95 94!else
95!endif 95# We're on Windows 95
96 96ARCH = i386
97AR = lib 97CPU = i386
98AR_OUT = -out: 98CONFIG_H = config.nt
99CC = cl 99OS_TYPE = windows95
100CC_OUT = -Fo 100!endif
101LINK = link 101
102LINK_OUT = -out: 102AR = lib
103RC = rc 103AR_OUT = -out:
104RC_OUT = -Fo 104CC = cl
105RC_INCLUDE = -i 105CC_OUT = -Fo
106 106LINK = link
107libc = libc.lib 107LINK_OUT = -out:
108baselibs = 108RC = rc
109O = obj 109RC_OUT = -Fo
110A = lib 110RC_INCLUDE = -i
111 111
112BASE_LIBS = $(libc) $(baselibs) oldnames.lib 112libc = libc.lib
113 113baselibs =
114ADVAPI32 = advapi32.lib 114O = obj
115COMDLG32 = comdlg32.lib 115A = lib
116GDI32 = gdi32.lib 116
117MPR = mpr.lib 117BASE_LIBS = $(libc) $(baselibs) oldnames.lib
118SHELL32 = shell32.lib 118
119USER32 = user32.lib 119ADVAPI32 = advapi32.lib
120WSOCK32 = wsock32.lib 120COMDLG32 = comdlg32.lib
121 121GDI32 = gdi32.lib
122!ifdef NOOPT 122MPR = mpr.lib
123DEBUG_CFLAGS = -DEMACSDEBUG 123SHELL32 = shell32.lib
124!else 124USER32 = user32.lib
125DEBUG_CFLAGS = 125WSOCK32 = wsock32.lib
126!endif 126
127CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \ 127!ifdef NOOPT
128 -D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) 128DEBUG_CFLAGS = -DEMACSDEBUG
129EMACS_EXTRA_C_FLAGS = 129!else
130 130DEBUG_CFLAGS =
131SYS_LDFLAGS = -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net 131!endif
132 132CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
133# see comments in allocate_heap in w32heap.c before changing any of the 133 -D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
134# -stack, -heap, or -base settings. 134EMACS_EXTRA_C_FLAGS =
135TEMACS_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) 135
136 136SYS_LDFLAGS = -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net
137!ifdef NOOPT 137
138OBJDIR = obj 138# see comments in allocate_heap in w32heap.c before changing any of the
139!else 139# -stack, -heap, or -base settings.
140OBJDIR = obj-spd 140TEMACS_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)
141!endif 141
142$(OBJDIR):; -mkdir $(OBJDIR) 142!ifdef NOOPT
143BLD = $(OBJDIR)/$(ARCH) 143OBJDIR = obj
144$(BLD): $(OBJDIR) 144!else
145 -mkdir "$(BLD)" 145OBJDIR = obj-spd
146 146!endif
147COMPILER_TEMP_FILES = *.pdb 147$(OBJDIR):; -mkdir $(OBJDIR)
148 148BLD = $(OBJDIR)/$(ARCH)
149CP = cp -f 149$(BLD): $(OBJDIR)
150CP_DIR = cp -rf 150 -mkdir "$(BLD)"
151IFNOTSAMEDIR = if not exist ..\same-dir.tst 151
152ENDIF = 152COMPILER_TEMP_FILES = *.pdb
153FOREACH = for %%f in ( 153
154FORVAR = %%f 154CP = cp -f
155FORDO = ) do 155CP_DIR = cp -rf
156ENDFOR = 156IFNOTSAMEDIR = if not exist ..\same-dir.tst
157ARGQUOTE = " 157ENDIF =
158DQUOTE = \" 158FOREACH = for %%f in (
159DEL = rm 159FORVAR = %%f
160DEL_TREE = rm -r 160FORDO = ) do
161 161ENDFOR =
162!ifdef NODEBUG 162ARGQUOTE = "
163DEBUG_FLAG = 163DQUOTE = \"
164DEBUG_LINK = 164DEL = rm
165!else 165DEL_TREE = rm -r
166DEBUG_FLAG = -Zi 166
167DEBUG_LINK = -debug:full -debugtype:both 167!ifdef NODEBUG
168!endif 168DEBUG_FLAG =
169 169DEBUG_LINK =
170!if "$(ARCH)" == "i386" 170!else
171!ifdef NOOPT 171DEBUG_FLAG = -Zi
172ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG) 172DEBUG_LINK = -debug:full -debugtype:both
173!else 173!endif
174ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG) 174
175!endif 175!if "$(ARCH)" == "i386"
176ARCH_LDFLAGS = $(SYS_LDFLAGS) 176!ifdef NOOPT
177 177ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)
178!else 178!else
179!if "$(ARCH)" == "mips" 179ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)
180ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 180!endif
181ARCH_LDFLAGS = $(SYS_LDFLAGS) 181ARCH_LDFLAGS = $(SYS_LDFLAGS)
182 182
183!else 183!else
184!if "$(ARCH)" == "alpha" 184!if "$(ARCH)" == "mips"
185!if "$(BUILD_TYPE)" == "spd" 185ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
186ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl= 186ARCH_LDFLAGS = $(SYS_LDFLAGS)
187!else 187
188ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl= 188!else
189!endif 189!if "$(ARCH)" == "alpha"
190ARCH_LDFLAGS = $(SYS_LDFLAGS) 190!if "$(BUILD_TYPE)" == "spd"
191 191ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
192!else 192!else
193!if "$(ARCH)" == "ppc" 193ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
194# These flags are a guess...if they don't work, please send me mail. 194!endif
195ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od 195ARCH_LDFLAGS = $(SYS_LDFLAGS)
196ARCH_LDFLAGS = $(SYS_LDFLAGS) 196
197 197!else
198!else 198!if "$(ARCH)" == "ppc"
199!ERROR Unknown architecture type "$(ARCH)". 199# These flags are a guess...if they don't work, please send me mail.
200!endif 200ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od
201!endif 201ARCH_LDFLAGS = $(SYS_LDFLAGS)
202!endif 202
203!endif 203!else
204 204!ERROR Unknown architecture type "$(ARCH)".
205LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS) 205!endif
206 206!endif
207# From MSVC 5.0 onwards, it seem base relocation information is not included, 207!endif
208# at least in release builds. We need to ensure the reloc info is included 208!endif
209# in order to use the MSVC profiler. 209
210!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") 210LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS)
211EXTRA_LINK = 211
212!ELSE 212# From MSVC 5.0 onwards, it seem base relocation information is not included,
213EXTRA_LINK = -profile 213# at least in release builds. We need to ensure the reloc info is included
214!ENDIF 214# in order to use the MSVC profiler.
215 215!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
216# 216EXTRA_LINK =
217# If the compiler supports compiling multiple .c files to .o files at 217!ELSE
218# one time, use this feature. 218EXTRA_LINK = -profile
219# 219!ENDIF
220!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") 220
221.c{$(BLD)}.obj: 221#
222 $(CC) $(CFLAGS) -Fo$(BLD)\ $< 222# If the compiler supports compiling multiple .c files to .o files at
223!ELSE 223# one time, use this feature.
224.c{$(BLD)}.obj:: 224#
225 $(CC) $(CFLAGS) -Fo$(BLD)\ $< 225!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
226!ENDIF 226.c{$(BLD)}.obj:
227 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
228!ELSE
229.c{$(BLD)}.obj::
230 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
231!ENDIF