aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Innes2000-09-17 21:00:02 +0000
committerAndrew Innes2000-09-17 21:00:02 +0000
commit9e6fd35da920826d71e5f47c1e8f3bb13ea2b760 (patch)
tree79239c190e706bcb61e872b9028483dbdcca0b8b
parent45e5607fd3121ff6fa3ae536b8a3eaabb3316419 (diff)
downloademacs-9e6fd35da920826d71e5f47c1e8f3bb13ea2b760.tar.gz
emacs-9e6fd35da920826d71e5f47c1e8f3bb13ea2b760.zip
Revert to Unix line endings.
-rw-r--r--nt/gmake.defs468
-rw-r--r--nt/nmake.defs438
2 files changed, 453 insertions, 453 deletions
diff --git a/nt/gmake.defs b/nt/gmake.defs
index 8734943e7da..40ae5e1c50f 100644
--- a/nt/gmake.defs
+++ b/nt/gmake.defs
@@ -1,234 +1,234 @@
1# 1#
2# Makefile definition file for building GNU Emacs on Windows NT 2# Makefile definition file for building GNU Emacs on Windows NT
3# 3#
4# GNU Emacs is free software; you can redistribute it and/or modify 4# GNU Emacs is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by 5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2, or (at your option) 6# the Free Software Foundation; either version 2, or (at your option)
7# any later version. 7# any later version.
8# 8#
9# GNU Emacs is distributed in the hope that it will be useful, 9# GNU Emacs is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details. 12# GNU General Public License for more details.
13# 13#
14# You should have received a copy of the GNU General Public License 14# You should have received a copy of the GNU General Public License
15# along with GNU Emacs; see the file COPYING. If not, write to 15# along with GNU Emacs; see the file COPYING. If not, write to
16# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17# Boston, MA 02111-1307, USA. 17# Boston, MA 02111-1307, USA.
18 18
19# Ensure 'all' is the default target 19# Ensure 'all' is the default target
20all: 20all:
21 21
22# NOTES 22# NOTES
23# 23#
24# I tried to force gmake to use the native shell for simplicity, by 24# I tried to force gmake to use the native shell for simplicity, by
25# setting SHELL as below, but this didn't work reliably because of 25# setting SHELL as below, but this didn't work reliably because of
26# various case sensitivity niggles. Specifically, COMSPEC (which is in 26# various case sensitivity niggles. Specifically, COMSPEC (which is in
27# fact usually spelled ComSpec on NT, to make life difficult) typically 27# fact usually spelled ComSpec on NT, to make life difficult) typically
28# references "cmd.exe" (on NT) when the file is actually called 28# references "cmd.exe" (on NT) when the file is actually called
29# "CMD.EXE" on disk for hysterical raisons. As a result, GNU make 29# "CMD.EXE" on disk for hysterical raisons. As a result, GNU make
30# thinks it doesn't exist (unless compiled with a switch to ignore 30# thinks it doesn't exist (unless compiled with a switch to ignore
31# case), and so doesn't change which shell it will invoke to execute 31# case), and so doesn't change which shell it will invoke to execute
32# commands. 32# commands.
33# 33#
34# It would be possible, though very tedious using just gmake facilities, 34# It would be possible, though very tedious using just gmake facilities,
35# to convert the COMSPEC value to uppercase to solve this problem, but 35# to convert the COMSPEC value to uppercase to solve this problem, but
36# it isn't worth it. That is partly because, even when using the native 36# it isn't worth it. That is partly because, even when using the native
37# shell, gmake tends to not be happy with backslashes in command 37# shell, gmake tends to not be happy with backslashes in command
38# strings. The obvious solution is to use forward slashes as much as 38# strings. The obvious solution is to use forward slashes as much as
39# possible, which can be made to work most of the time (putting 39# possible, which can be made to work most of the time (putting
40# filenames in quotes often helps), but there are still some internal 40# filenames in quotes often helps), but there are still some internal
41# cmd.exe commands like `del' and `copy' that won't work with them. 41# cmd.exe commands like `del' and `copy' that won't work with them.
42# Although it is possible to convert slashes to backslashes when 42# Although it is possible to convert slashes to backslashes when
43# necessary, gmake requires explicitly calling its subst function, which 43# necessary, gmake requires explicitly calling its subst function, which
44# nmake does not understand). For this reason, it is simplest to 44# nmake does not understand). For this reason, it is simplest to
45# mandate that rm and cp be available, so we can use Unix-format file 45# mandate that rm and cp be available, so we can use Unix-format file
46# names everywhere. (Fortunately both MS and GNU make, and the 46# names everywhere. (Fortunately both MS and GNU make, and the
47# respective compilers, are happy with Unix-format names.) 47# respective compilers, are happy with Unix-format names.)
48# 48#
49# Since we cannot easily force the choice of a particular shell, we must 49# Since we cannot easily force the choice of a particular shell, we must
50# make the effort to cope with whichever shell is being used. 50# make the effort to cope with whichever shell is being used.
51# Fortunately, the only command we need to use that is shell specific is 51# Fortunately, the only command we need to use that is shell specific is
52# the testing of a file's existence for the purpose of working out when 52# the testing of a file's existence for the purpose of working out when
53# we are copying files to their original location. That particular 53# we are copying files to their original location. That particular
54# requirement is abstracted easily enough. 54# requirement is abstracted easily enough.
55# 55#
56# The only other problem area was the change of directory when running 56# The only other problem area was the change of directory when running
57# temacs to dump emacs.exe (where gmake doesn't support cd foo in any 57# temacs to dump emacs.exe (where gmake doesn't support cd foo in any
58# useful way), but that has been resolved by modifying the Windows 58# useful way), but that has been resolved by modifying the Windows
59# unexec function slightly to not require the directory change while 59# unexec function slightly to not require the directory change while
60# still allowing objects and binaries to be in subdirectories. 60# still allowing objects and binaries to be in subdirectories.
61 61
62# This doesn't work. 62# This doesn't work.
63#SHELL:=$(COMSPEC) 63#SHELL:=$(COMSPEC)
64 64
65# Determine whether make is using sh or cmd/command as shell; cmd.exe 65# Determine whether make is using sh or cmd/command as shell; cmd.exe
66# will output "ECHO is on" when echo is given by itself, while sh will 66# will output "ECHO is on" when echo is given by itself, while sh will
67# not produce any output. 67# not produce any output.
68sh_output := $(shell echo) 68sh_output := $(shell echo)
69ifeq "$(findstring ECHO, $(sh_output))" "ECHO" 69ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
70THE_SHELL = $(COMSPEC)$(ComSpec) 70THE_SHELL = $(COMSPEC)$(ComSpec)
71SHELLTYPE=CMD 71SHELLTYPE=CMD
72else 72else
73USING_SH = 1 73USING_SH = 1
74THE_SHELL = $(SHELL) 74THE_SHELL = $(SHELL)
75SHELLTYPE=SH 75SHELLTYPE=SH
76SETLOADPATH=EMACSLOADPATH=$(lisp) 76SETLOADPATH=EMACSLOADPATH=../lisp
77endif 77endif
78 78
79MAKEDIR = $(CURDIR) 79MAKEDIR = $(CURDIR)
80ALL_DEPS = $^ 80ALL_DEPS = $^
81EMPTY = 81EMPTY =
82SPACE = $(EMPTY) $(EMPTY) 82SPACE = $(EMPTY) $(EMPTY)
83 83
84SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows 84SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows
85SUBSYSTEM_CONSOLE=-Wl,-subsystem,console 85SUBSYSTEM_CONSOLE=-Wl,-subsystem,console
86 86
87# INSTALL_DIR is the directory into which emacs will be installed. 87# INSTALL_DIR is the directory into which emacs will be installed.
88# 88#
89ifndef INSTALL_DIR 89ifndef INSTALL_DIR
90INSTALL_DIR = $(MAKEDIR)/.. 90INSTALL_DIR = $(MAKEDIR)/..
91endif 91endif
92 92
93# Determine the architecture we're running on. 93# Determine the architecture we're running on.
94# Define ARCH for our purposes; 94# Define ARCH for our purposes;
95# Define CPU for use by ntwin32.mak; 95# Define CPU for use by ntwin32.mak;
96# Define CONFIG_H to the appropriate config.h for the system; 96# Define CONFIG_H to the appropriate config.h for the system;
97# 97#
98ifdef PROCESSOR_ARCHITECTURE 98ifdef PROCESSOR_ARCHITECTURE
99# We're on Windows NT 99# We're on Windows NT
100CPU = $(PROCESSOR_ARCHITECTURE) 100CPU = $(PROCESSOR_ARCHITECTURE)
101CONFIG_H = config.nt 101CONFIG_H = config.nt
102OS_TYPE = windowsnt 102OS_TYPE = windowsnt
103 ifeq "$(PROCESSOR_ARCHITECTURE)" "x86" 103 ifeq "$(PROCESSOR_ARCHITECTURE)" "x86"
104ARCH = i386 104ARCH = i386
105CPU = i386 105CPU = i386
106 else 106 else
107 ifeq "$(PROCESSOR_ARCHITECTURE)" "MIPS" 107 ifeq "$(PROCESSOR_ARCHITECTURE)" "MIPS"
108ARCH = mips 108ARCH = mips
109 else 109 else
110 ifeq "$(PROCESSOR_ARCHITECTURE)" "ALPHA" 110 ifeq "$(PROCESSOR_ARCHITECTURE)" "ALPHA"
111ARCH = alpha 111ARCH = alpha
112 else 112 else
113 ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC" 113 ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC"
114ARCH = ppc 114ARCH = ppc
115 else 115 else
116error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)" 116error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
117 endif 117 endif
118 endif 118 endif
119 endif 119 endif
120 endif 120 endif
121else 121else
122# We're on Windows 95 122# We're on Windows 95
123ARCH = i386 123ARCH = i386
124CPU = i386 124CPU = i386
125CONFIG_H = config.nt 125CONFIG_H = config.nt
126OS_TYPE = windows95 126OS_TYPE = windows95
127endif 127endif
128 128
129AR = ar -rsc 129AR = ar -rsc
130AR_OUT = 130AR_OUT =
131CC = gcc 131CC = gcc
132CC_OUT = -o$(SPACE) 132CC_OUT = -o$(SPACE)
133LINK = gcc 133LINK = gcc
134LINK_OUT = -o$(SPACE) 134LINK_OUT = -o$(SPACE)
135RC = windres -O coff 135RC = windres -O coff
136RC_OUT = -o$(SPACE) 136RC_OUT = -o$(SPACE)
137RC_INCLUDE = --include-dir$(SPACE) 137RC_INCLUDE = --include-dir$(SPACE)
138 138
139libc = 139libc =
140baselibs = 140baselibs =
141O = o 141O = o
142A = a 142A = a
143 143
144BASE_LIBS = $(libc) $(baselibs) 144BASE_LIBS = $(libc) $(baselibs)
145 145
146ADVAPI32 = -ladvapi32 146ADVAPI32 = -ladvapi32
147COMDLG32 = -lcomdlg32 147COMDLG32 = -lcomdlg32
148GDI32 = -lgdi32 148GDI32 = -lgdi32
149MPR = -lmpr 149MPR = -lmpr
150SHELL32 = -lshell32 150SHELL32 = -lshell32
151USER32 = -luser32 151USER32 = -luser32
152WSOCK32 = -lwsock32 152WSOCK32 = -lwsock32
153 153
154ifdef NOOPT 154ifdef NOOPT
155DEBUG_CFLAGS = -DEMACSDEBUG 155DEBUG_CFLAGS = -DEMACSDEBUG
156else 156else
157DEBUG_CFLAGS = 157DEBUG_CFLAGS =
158endif 158endif
159CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \ 159CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
160 -D_CRTAPI1=_cdecl \ 160 -D_CRTAPI1=_cdecl \
161 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) 161 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
162EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1 162EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1
163 163
164# see comments in allocate_heap in w32heap.c before changing any of the 164# see comments in allocate_heap in w32heap.c before changing any of the
165# -stack, -heap, or -image-base settings. 165# -stack, -heap, or -image-base settings.
166TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -g $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map 166TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -g $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map
167 167
168ifdef NOOPT 168ifdef NOOPT
169OBJDIR = oo 169OBJDIR = oo
170else 170else
171OBJDIR = oo-spd 171OBJDIR = oo-spd
172endif 172endif
173$(OBJDIR):; -mkdir "$(OBJDIR)" 173$(OBJDIR):; -mkdir "$(OBJDIR)"
174BLD = $(OBJDIR)/$(ARCH) 174BLD = $(OBJDIR)/$(ARCH)
175$(BLD): $(OBJDIR) 175$(BLD): $(OBJDIR)
176 -mkdir "$(BLD)" 176 -mkdir "$(BLD)"
177 177
178CP = cp -f 178CP = cp -f
179CP_DIR = cp -rf 179CP_DIR = cp -rf
180DEL = rm 180DEL = rm
181DEL_TREE = rm -r 181DEL_TREE = rm -r
182ifdef USING_SH 182ifdef USING_SH
183IFNOTSAMEDIR = if [ ! -s ../same-dir.tst ] ; then 183IFNOTSAMEDIR = if [ ! -s ../same-dir.tst ] ; then
184FOREACH = for f in 184FOREACH = for f in
185FORVAR = $${f} 185FORVAR = $${f}
186FORDO = ; do 186FORDO = ; do
187ENDFOR = ; done 187ENDFOR = ; done
188ENDIF = ; fi 188ENDIF = ; fi
189ARGQUOTE = ' 189ARGQUOTE = '
190DQUOTE = "" 190DQUOTE = ""
191else 191else
192IFNOTSAMEDIR = if not exist ../same-dir.tst 192IFNOTSAMEDIR = if not exist ../same-dir.tst
193FOREACH = for %%f in ( 193FOREACH = for %%f in (
194FORVAR = %%f 194FORVAR = %%f
195FORDO = ) do 195FORDO = ) do
196ENDFOR = 196ENDFOR =
197ENDIF = 197ENDIF =
198ARGQUOTE = " 198ARGQUOTE = "
199DQUOTE = \" 199DQUOTE = \"
200endif 200endif
201 201
202# The location of the icon file 202# The location of the icon file
203EMACS_ICON_PATH = ../nt/emacs.ico 203EMACS_ICON_PATH = ../nt/emacs.ico
204 204
205ifdef NODEBUG 205ifdef NODEBUG
206DEBUG_FLAG = 206DEBUG_FLAG =
207else 207else
208DEBUG_FLAG = -g 208DEBUG_FLAG = -g
209endif 209endif
210 210
211ifdef NOCYGWIN 211ifdef NOCYGWIN
212NOCYGWIN = -mno-cygwin 212NOCYGWIN = -mno-cygwin
213endif 213endif
214 214
215ifeq "$(ARCH)" "i386" 215ifeq "$(ARCH)" "i386"
216ifdef NOOPT 216ifdef NOOPT
217ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) 217ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN)
218else 218else
219ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) -mcpu=i686 -O2 \ 219ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) -mcpu=i686 -O2 \
220 # -fbuiltin \ 220 # -fbuiltin \
221 # -finline-functions \ 221 # -finline-functions \
222 # -fomit-frame-pointer 222 # -fomit-frame-pointer
223endif 223endif
224ARCH_LDFLAGS = $(SYS_LDFLAGS) 224ARCH_LDFLAGS = $(SYS_LDFLAGS)
225else 225else
226ERROR Unknown architecture type "$(ARCH)". 226ERROR Unknown architecture type "$(ARCH)".
227endif 227endif
228 228
229LINK_FLAGS = $(ARCH_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS) 229LINK_FLAGS = $(ARCH_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS)
230 230
231.DEFAULT: 231.DEFAULT:
232 232
233$(BLD)/%.o: %.c 233$(BLD)/%.o: %.c
234 $(CC) $(CFLAGS) $(CC_OUT)$@ $< 234 $(CC) $(CFLAGS) $(CC_OUT)$@ $<
diff --git a/nt/nmake.defs b/nt/nmake.defs
index ff3cc1be90d..4e3ead1b14d 100644
--- a/nt/nmake.defs
+++ b/nt/nmake.defs
@@ -1,219 +1,219 @@
1# 1#
2# Makefile definition file for building GNU Emacs on Windows NT 2# Makefile definition file for building GNU Emacs on Windows NT
3# 3#
4# GNU Emacs is free software; you can redistribute it and/or modify 4# GNU Emacs is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by 5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2, or (at your option) 6# the Free Software Foundation; either version 2, or (at your option)
7# any later version. 7# any later version.
8# 8#
9# GNU Emacs is distributed in the hope that it will be useful, 9# GNU Emacs is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details. 12# GNU General Public License for more details.
13# 13#
14# You should have received a copy of the GNU General Public License 14# You should have received a copy of the GNU General Public License
15# along with GNU Emacs; see the file COPYING. If not, write to 15# along with GNU Emacs; see the file COPYING. If not, write to
16# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17# Boston, MA 02111-1307, USA. 17# Boston, MA 02111-1307, USA.
18 18
19# Ensure 'all' is the default target 19# Ensure 'all' is the default target
20all: 20all:
21 21
22THE_SHELL = $(COMSPEC) 22THE_SHELL = $(COMSPEC)
23SHELLTYPE=CMD 23SHELLTYPE=CMD
24 24
25ALL_DEPS = $** 25ALL_DEPS = $**
26 26
27SUBSYSTEM_WINDOWS=-subsystem:windows 27SUBSYSTEM_WINDOWS=-subsystem:windows
28SUBSYSTEM_CONSOLE=-subsystem:console 28SUBSYSTEM_CONSOLE=-subsystem:console
29 29
30# INSTALL_DIR is the directory into which emacs will be installed. 30# INSTALL_DIR is the directory into which emacs will be installed.
31# 31#
32!ifndef INSTALL_DIR 32!ifndef INSTALL_DIR
33INSTALL_DIR = $(MAKEDIR)/.. 33INSTALL_DIR = $(MAKEDIR)/..
34!endif 34!endif
35 35
36# Allow detection of builds with MSVC 5 or later, so we can 36# Allow detection of builds with MSVC 5 or later, so we can
37# speed up compiles (see rule at end). 37# speed up compiles (see rule at end).
38# 38#
39_NMAKE_VER_5=162 39_NMAKE_VER_5=162
40_NMAKE_VER_4=0 40_NMAKE_VER_4=0
41 41
42!IFNDEF _NMAKE_VER 42!IFNDEF _NMAKE_VER
43_NMAKE_VER=$(_NMAKE_VER_4) 43_NMAKE_VER=$(_NMAKE_VER_4)
44!ENDIF 44!ENDIF
45 45
46# Check that the INCLUDE and LIB environment variables are set. 46# Check that the INCLUDE and LIB environment variables are set.
47# 47#
48!ifndef INCLUDE 48!ifndef INCLUDE
49!error The INCLUDE environment variable needs to be set. 49!error The INCLUDE environment variable needs to be set.
50!endif 50!endif
51!ifndef LIB 51!ifndef LIB
52!error The LIB environment variable needs to be set. 52!error The LIB environment variable needs to be set.
53!endif 53!endif
54 54
55# Determine the architecture we're running on. 55# Determine the architecture we're running on.
56# Define ARCH for our purposes; 56# Define ARCH for our purposes;
57# Define CPU for use by ntwin32.mak; 57# Define CPU for use by ntwin32.mak;
58# Define CONFIG_H to the appropriate config.h for the system; 58# Define CONFIG_H to the appropriate config.h for the system;
59# 59#
60!ifdef PROCESSOR_ARCHITECTURE 60!ifdef PROCESSOR_ARCHITECTURE
61# We're on Windows NT 61# We're on Windows NT
62CPU = $(PROCESSOR_ARCHITECTURE) 62CPU = $(PROCESSOR_ARCHITECTURE)
63CONFIG_H = config.nt 63CONFIG_H = config.nt
64OS_TYPE = windowsnt 64OS_TYPE = windowsnt
65! if "$(PROCESSOR_ARCHITECTURE)" == "x86" 65! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
66ARCH = i386 66ARCH = i386
67CPU = i386 67CPU = i386
68! else 68! else
69! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS" 69! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
70ARCH = mips 70ARCH = mips
71! else 71! else
72! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" 72! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
73ARCH = alpha 73ARCH = alpha
74! else 74! else
75! if "$(PROCESSOR_ARCHITECTURE)" == "PPC" 75! if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
76ARCH = ppc 76ARCH = ppc
77! else 77! else
78! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)" 78! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
79! endif 79! endif
80! endif 80! endif
81! endif 81! endif
82! endif 82! endif
83!else 83!else
84# We're on Windows 95 84# We're on Windows 95
85ARCH = i386 85ARCH = i386
86CPU = i386 86CPU = i386
87CONFIG_H = config.nt 87CONFIG_H = config.nt
88OS_TYPE = windows95 88OS_TYPE = windows95
89!endif 89!endif
90 90
91AR = lib 91AR = lib
92AR_OUT = -out: 92AR_OUT = -out:
93CC = cl 93CC = cl
94CC_OUT = -Fo 94CC_OUT = -Fo
95LINK = link 95LINK = link
96LINK_OUT = -out: 96LINK_OUT = -out:
97RC = rc 97RC = rc
98RC_OUT = -Fo 98RC_OUT = -Fo
99RC_INCLUDE = -i 99RC_INCLUDE = -i
100 100
101libc = libc.lib 101libc = libc.lib
102baselibs = 102baselibs =
103O = obj 103O = obj
104A = lib 104A = lib
105 105
106BASE_LIBS = $(libc) $(baselibs) oldnames.lib 106BASE_LIBS = $(libc) $(baselibs) oldnames.lib
107 107
108ADVAPI32 = advapi32.lib 108ADVAPI32 = advapi32.lib
109COMDLG32 = comdlg32.lib 109COMDLG32 = comdlg32.lib
110GDI32 = gdi32.lib 110GDI32 = gdi32.lib
111MPR = mpr.lib 111MPR = mpr.lib
112SHELL32 = shell32.lib 112SHELL32 = shell32.lib
113USER32 = user32.lib 113USER32 = user32.lib
114WSOCK32 = wsock32.lib 114WSOCK32 = wsock32.lib
115 115
116!ifdef NOOPT 116!ifdef NOOPT
117DEBUG_CFLAGS = -DEMACSDEBUG 117DEBUG_CFLAGS = -DEMACSDEBUG
118!else 118!else
119DEBUG_CFLAGS = 119DEBUG_CFLAGS =
120!endif 120!endif
121CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \ 121CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
122 -D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) 122 -D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
123EMACS_EXTRA_C_FLAGS = 123EMACS_EXTRA_C_FLAGS =
124 124
125SYS_LDFLAGS = -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net 125SYS_LDFLAGS = -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net
126 126
127# see comments in allocate_heap in w32heap.c before changing any of the 127# see comments in allocate_heap in w32heap.c before changing any of the
128# -stack, -heap, or -base settings. 128# -stack, -heap, or -base settings.
129TEMACS_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) 129TEMACS_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)
130 130
131!ifdef NOOPT 131!ifdef NOOPT
132OBJDIR = obj 132OBJDIR = obj
133!else 133!else
134OBJDIR = obj-spd 134OBJDIR = obj-spd
135!endif 135!endif
136$(OBJDIR):; -mkdir $(OBJDIR) 136$(OBJDIR):; -mkdir $(OBJDIR)
137BLD = $(OBJDIR)/$(ARCH) 137BLD = $(OBJDIR)/$(ARCH)
138$(BLD): $(OBJDIR) 138$(BLD): $(OBJDIR)
139 -mkdir "$(BLD)" 139 -mkdir "$(BLD)"
140 140
141CP = cp -f 141CP = cp -f
142CP_DIR = cp -rf 142CP_DIR = cp -rf
143IFNOTSAMEDIR = if not exist ..\same-dir.tst 143IFNOTSAMEDIR = if not exist ..\same-dir.tst
144ENDIF = 144ENDIF =
145FOREACH = for %%f in ( 145FOREACH = for %%f in (
146FORVAR = %%f 146FORVAR = %%f
147FORDO = ) do 147FORDO = ) do
148ENDFOR = 148ENDFOR =
149ARGQUOTE = " 149ARGQUOTE = "
150DQUOTE = \" 150DQUOTE = \"
151DEL = rm 151DEL = rm
152DEL_TREE = rm -r 152DEL_TREE = rm -r
153 153
154# The location of the icon file 154# The location of the icon file
155EMACS_ICON_PATH = ../nt/emacs.ico 155EMACS_ICON_PATH = ../nt/emacs.ico
156 156
157!ifdef NODEBUG 157!ifdef NODEBUG
158DEBUG_FLAG = 158DEBUG_FLAG =
159!else 159!else
160DEBUG_FLAG = -Zi 160DEBUG_FLAG = -Zi
161!endif 161!endif
162 162
163!if "$(ARCH)" == "i386" 163!if "$(ARCH)" == "i386"
164!ifdef NOOPT 164!ifdef NOOPT
165ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG) 165ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)
166!else 166!else
167ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG) 167ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)
168!endif 168!endif
169ARCH_LDFLAGS = $(SYS_LDFLAGS) 169ARCH_LDFLAGS = $(SYS_LDFLAGS)
170 170
171!else 171!else
172!if "$(ARCH)" == "mips" 172!if "$(ARCH)" == "mips"
173ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 173ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
174ARCH_LDFLAGS = $(SYS_LDFLAGS) 174ARCH_LDFLAGS = $(SYS_LDFLAGS)
175 175
176!else 176!else
177!if "$(ARCH)" == "alpha" 177!if "$(ARCH)" == "alpha"
178!if "$(BUILD_TYPE)" == "spd" 178!if "$(BUILD_TYPE)" == "spd"
179ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl= 179ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
180!else 180!else
181ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl= 181ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
182!endif 182!endif
183ARCH_LDFLAGS = $(SYS_LDFLAGS) 183ARCH_LDFLAGS = $(SYS_LDFLAGS)
184 184
185!else 185!else
186!if "$(ARCH)" == "ppc" 186!if "$(ARCH)" == "ppc"
187# These flags are a guess...if they don't work, please send me mail. 187# These flags are a guess...if they don't work, please send me mail.
188ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od 188ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od
189ARCH_LDFLAGS = $(SYS_LDFLAGS) 189ARCH_LDFLAGS = $(SYS_LDFLAGS)
190 190
191!else 191!else
192!ERROR Unknown architecture type "$(ARCH)". 192!ERROR Unknown architecture type "$(ARCH)".
193!endif 193!endif
194!endif 194!endif
195!endif 195!endif
196!endif 196!endif
197 197
198LINK_FLAGS = $(ARCH_LDFLAGS) $(USER_LDFLAGS) 198LINK_FLAGS = $(ARCH_LDFLAGS) $(USER_LDFLAGS)
199 199
200# From MSVC 5.0 onwards, it seem base relocation information is not included, 200# From MSVC 5.0 onwards, it seem base relocation information is not included,
201# at least in release builds. We need to ensure the reloc info is included 201# at least in release builds. We need to ensure the reloc info is included
202# in order to use the MSVC profiler. 202# in order to use the MSVC profiler.
203!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") 203!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
204EXTRA_LINK = 204EXTRA_LINK =
205!ELSE 205!ELSE
206EXTRA_LINK = -profile 206EXTRA_LINK = -profile
207!ENDIF 207!ENDIF
208 208
209# 209#
210# If the compiler supports compiling multiple .c files to .o files at 210# If the compiler supports compiling multiple .c files to .o files at
211# one time, use this feature. 211# one time, use this feature.
212# 212#
213!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") 213!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
214.c{$(BLD)}.obj: 214.c{$(BLD)}.obj:
215 $(CC) $(CFLAGS) -Fo$(BLD)\ $< 215 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
216!ELSE 216!ELSE
217.c{$(BLD)}.obj:: 217.c{$(BLD)}.obj::
218 $(CC) $(CFLAGS) -Fo$(BLD)\ $< 218 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
219!ENDIF 219!ENDIF