annotate nt/nmake.defs @ 31628:9d1b600b5ace

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