annotate nt/makefile.def @ 48603:ac86b769c135

Added a lot of options to reduce disk size of both the installer and the final application. Added option to make installer generate self-contained Emacs.app. Now nolonger creates a "full-dist" by default, by omitting .el files that have already been compiled.
author Steven Tamm <steventamm@mac.com>
date Sat, 30 Nov 2002 22:06:23 +0000
parents 8045cccd8f3c
children 23a1cea22d13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
1 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
2 # Makefile definition file for building GNU Emacs on Windows NT
36377
8045cccd8f3c Update copyright notice.
Andrew Innes <andrewi@gnu.org>
parents: 35102
diff changeset
3 # Copyright (c) 1994-2001 Free Software Foundation, Inc.
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
4 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
5 # GNU Emacs is free software; you can redistribute it and/or modify
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
6 # it under the terms of the GNU General Public License as published by
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
7 # the Free Software Foundation; either version 2, or (at your option)
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
8 # any later version.
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
9 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
10 # GNU Emacs is distributed in the hope that it will be useful,
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
13 # GNU General Public License for more details.
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
14 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
15 # You should have received a copy of the GNU General Public License
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
16 # along with GNU Emacs; see the file COPYING. If not, write to
14185
aba3b91c8b3d Update FSF's ddress in preamble
Erik Naggum <erik@naggum.no>
parents: 13629
diff changeset
17 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
aba3b91c8b3d Update FSF's ddress in preamble
Erik Naggum <erik@naggum.no>
parents: 13629
diff changeset
18 # Boston, MA 02111-1307, USA.
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
19 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
20 # Geoff Voelker (voelker@cs.washington.edu) 9-6-94
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
21
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
22 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
23 # BEGIN CONFIGURATION
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
24 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
25
13436
d464ad2ab385 (NTGUI): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12237
diff changeset
26 # Define the following to build the GUI version
d464ad2ab385 (NTGUI): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12237
diff changeset
27 #
d464ad2ab385 (NTGUI): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12237
diff changeset
28 NTGUI=1
d464ad2ab385 (NTGUI): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12237
diff changeset
29
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
30 # Set INSTALL_DIR to be the directory into which you want emacs installed.
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
31 #
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
32 !ifndef INSTALL_DIR
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
33 INSTALL_DIR = C:\emacs
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
34 !endif
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
35
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
36 # Define MSVCNT11 to be nonzero if you are using the MSVCNT 1.1 environment.
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
37 # MSVCNT11 = 1
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
38 !ifndef MSVCNT11
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
39 MSVCNT11 = 0
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
40 !endif
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
41
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
42 #
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
43 # END CONFIGURATION
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
44 #
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
45
23624
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
46 #
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
47 # Allow detection of builds with MSVC 5 or later
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
48 #
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
49 _NMAKE_VER_5=162
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
50 _NMAKE_VER_4=0
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
51
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
52 !IFNDEF _NMAKE_VER
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
53 _NMAKE_VER=$(_NMAKE_VER_4)
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
54 !ENDIF
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
55
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
56 # Check that the INCLUDE and LIB environment variables are set.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
57 #
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
58 !ifndef INCLUDE
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
59 !error The INCLUDE environment variable needs to be set.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
60 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
61 !ifndef LIB
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
62 !error The LIB environment variable needs to be set.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
63 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
64
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
65 # Determine the architecture we're running on.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
66 # Define ARCH for our purposes;
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
67 # Define CPU for use by ntwin32.mak;
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
68 # Define CONFIG_H to the appropriate config.h for the system;
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
69 #
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
70 !ifdef PROCESSOR_ARCHITECTURE
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
71 # We're on Windows NT
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
72 CPU = $(PROCESSOR_ARCHITECTURE)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
73 CONFIG_H = config.nt
16882
edebdaa8e499 Use windows95 and windowsnt instead
Geoff Voelker <voelker@cs.washington.edu>
parents: 15156
diff changeset
74 OS_TYPE = windowsnt
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
75 ! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
76 ARCH = i386
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
77 CPU = i386
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
78 ! else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
79 ! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
80 ARCH = mips
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
81 ! else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
82 ! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
83 ARCH = alpha
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
84 ! else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
85 ! if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
86 ARCH = ppc
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
87 ! else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
88 !error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
89 ! endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
90 ! endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
91 ! endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
92 ! endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
93 !else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
94 # We're on Windows 95
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
95 ARCH = i386
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
96 CPU = i386
15132
c89db56c289b (CONFIG_H) [WIN95]: Use config.nt.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14900
diff changeset
97 CONFIG_H = config.nt
16882
edebdaa8e499 Use windows95 and windowsnt instead
Geoff Voelker <voelker@cs.washington.edu>
parents: 15156
diff changeset
98 OS_TYPE = windows95
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
99 !endif
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
100
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
101 # Include ntwin32.mak. So far, this file seems to be supported by every
16882
edebdaa8e499 Use windows95 and windowsnt instead
Geoff Voelker <voelker@cs.washington.edu>
parents: 15156
diff changeset
102 # Microsoft compiler on NT and Windows 95 and properly defines the executable
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
103 # names and libraries necessary to build Emacs. I do not have access
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
104 # to any other vendor compilers, so I do not know if they supply this
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
105 # file, too. For now I'll assume that they do.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
106 #
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
107 !include <ntwin32.mak>
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
108
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
109 # Using cvtres is necessary on NT 3.10 and doesn't hurt on later platforms.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
110 CVTRES = cvtres.exe
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
111 AR = $(implib)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
112 # The assignment $(CC) = $(cc) fails even though variables are case sensitive.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
113 LINK_TMP = $(link)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
114 LINK = $(LINK_TMP)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
115 CC_TMP = $(cc)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
116 CC = $(CC_TMP)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
117
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
118 # advapi32.lib is left off of $(baselibs) on NT 3.10
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
119 !if "$(baselibs)" == "kernel32.lib "
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
120 ADVAPI32 = advapi32.lib
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
121 !else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
122 ADVAPI32 =
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
123 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
124
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
125 # Older ntwin32.mak files do not define libc; do it for them.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
126 !ifndef libc
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
127 libc = libc.lib
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
128 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
129
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
130 # The base libraries for compiling Emacs on NT. With MSVC, this should
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
131 # include oldnames.lib.
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
132 !if $(MSVCNT11)
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
133 BASE_LIBS = $(libc) $(baselibs) oldnames.lib
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
134 !else
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
135 BASE_LIBS = $(libc) $(baselibs) -nodefaultlib:oldnames.lib
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
136 !endif
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
137
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
138 # We want any debugging info in the executable.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
139 !if "$(LINK)" == "link32"
27624
904a6e5948b5 (SYS_LDFLAGS): Add -nologo.
Andrew Innes <andrewi@gnu.org>
parents: 24443
diff changeset
140 SYS_LDFLAGS = -nologo
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
141 !else
27624
904a6e5948b5 (SYS_LDFLAGS): Add -nologo.
Andrew Innes <andrewi@gnu.org>
parents: 24443
diff changeset
142 SYS_LDFLAGS = -nologo -release -incremental:no -version:3.10
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
143 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
144
23624
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
145 # Tag the executables to run out of the swapfile when execute off CD or network shares
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
146 SYS_LDFLAGS = $(SYS_LDFLAGS) -swaprun:cd -swaprun:net
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
147
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
148 INC = -I.
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
149 !if "$(BUILD_TYPE)" == "spd"
19719
9b43f48f8a10 (CFLAGS_COMMON): Place pdb file in object build
Geoff Voelker <voelker@cs.washington.edu>
parents: 19397
diff changeset
150 CFLAGS_COMMON = -nologo $(INC) $(ARCH_CFLAGS) $(LOCAL_FLAGS) -DWIN32_LEAN_AND_MEAN -D$(ARCH) -Fd$(BLD)\vc.pdb
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
151 !else
19719
9b43f48f8a10 (CFLAGS_COMMON): Place pdb file in object build
Geoff Voelker <voelker@cs.washington.edu>
parents: 19397
diff changeset
152 CFLAGS_COMMON = -nologo $(INC) $(ARCH_CFLAGS) $(LOCAL_FLAGS) -DWIN32_LEAN_AND_MEAN -D$(ARCH) -Fd$(BLD)\vc.pdb -DEMACSDEBUG
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
153 !endif
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
154 !if $(MSVCNT11)
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
155 CFLAGS = $(CFLAGS_COMMON) -D_CRTAPI1=_cdecl
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
156 !else
19719
9b43f48f8a10 (CFLAGS_COMMON): Place pdb file in object build
Geoff Voelker <voelker@cs.washington.edu>
parents: 19397
diff changeset
157 CFLAGS = $(CFLAGS_COMMON) -D_CRTAPI1=_cdecl
12237
f5ad41d728d3 (MSVCNT11): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12180
diff changeset
158 !endif
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
159
15156
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
160 !ifdef BUILD_TYPE
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
161 OBJDIR = obj-$(BUILD_TYPE)
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
162 !else
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
163 OBJDIR = obj
15156
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
164 !endif
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
165 $(OBJDIR):; -mkdir $(OBJDIR)
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
166 BLD = $(OBJDIR)\$(ARCH)
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
167 $(BLD): $(OBJDIR)
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
168 -mkdir $(BLD)
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
169
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
170 CP = copy
21600
86727a88ced5 (CP_DIR): Preserve attributes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19719
diff changeset
171 CP_DIR = xcopy /f/r/i/e/d/k
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
172
16882
edebdaa8e499 Use windows95 and windowsnt instead
Geoff Voelker <voelker@cs.washington.edu>
parents: 15156
diff changeset
173 !if "$(OS_TYPE)" == "windows95"
14900
a51ddd17cdc4 (DEL): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14185
diff changeset
174 DEL = deltree /y
a51ddd17cdc4 (DEL): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14185
diff changeset
175 DEL_TREE = deltree /y
a51ddd17cdc4 (DEL): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14185
diff changeset
176 !else
a51ddd17cdc4 (DEL): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14185
diff changeset
177 DEL = del
23624
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
178 # NT better way of killing a deltree
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
179 DEL_TREE = rd /s/q
14900
a51ddd17cdc4 (DEL): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14185
diff changeset
180 !endif
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
181
12180
268be0c80ca2 makefile.def (EMACS_ICON_PATH,ADDPM): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11937
diff changeset
182 # Lets us add icons to the GNU Emacs folder
268be0c80ca2 makefile.def (EMACS_ICON_PATH,ADDPM): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11937
diff changeset
183 ADDPM = ..\nt\$(BLD)\addpm.exe
268be0c80ca2 makefile.def (EMACS_ICON_PATH,ADDPM): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11937
diff changeset
184
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
185 !if "$(ARCH)" == "i386"
15156
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
186 !if "$(BUILD_TYPE)" == "spd"
23624
c329decb4818 (SYS_LDFLAGS): Use swapfile when running from cd or net.
Geoff Voelker <voelker@cs.washington.edu>
parents: 22314
diff changeset
187 ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -G6dF -Zi -Zp8
15156
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
188 !else
24361
69b9caa187b0 (ARCH_CFLAGS): Set struct packing to 8.
Andrew Innes <andrewi@gnu.org>
parents: 23624
diff changeset
189 ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zi -Zp8
15156
69941576c244 [BUILD_TYPE]: Build optimized version in its own dir.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15132
diff changeset
190 !endif
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
191 ARCH_LDFLAGS = -align:0x1000 $(SYS_LDFLAGS)
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
192
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
193 !else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
194 !if "$(ARCH)" == "mips"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
195 ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
196 ARCH_LDFLAGS = -align:0x1000 $(SYS_LDFLAGS)
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
197
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
198 !else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
199 !if "$(ARCH)" == "alpha"
19397
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
200 !if "$(BUILD_TYPE)" == "spd"
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
201 ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
202 !else
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
203 ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
c0ff94156cb9 (MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16882
diff changeset
204 !endif
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
205 ARCH_LDFLAGS = -align:0x2000 $(SYS_LDFLAGS)
11766
1877e9736ea1 removed ^Ms
Geoff Voelker <voelker@cs.washington.edu>
parents: 11740
diff changeset
206
11937
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
207 !else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
208 !if "$(ARCH)" == "ppc"
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
209 # These flags are a guess...if they don't work, please send me mail.
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
210 ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
211 ARCH_LDFLAGS = -align:0x1000 $(SYS_LDFLAGS)
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
212
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
213 !else
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
214 !ERROR Unknown architecture type "$(ARCH)".
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
215 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
216 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
217 !endif
51cb98d13316 (ARCH): New definition.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11766
diff changeset
218 !endif
24443
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
219
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
220 #
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
221 # If the compiler supports compiling multiple .c files to .o files at
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
222 # one time, use this feature.
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
223 #
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
224 !IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
225 .c{$(BLD)}.obj:
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
226 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
227 !ELSE
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
228 .c{$(BLD)}.obj::
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
229 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
ff5935fc211c Compile multiple .c files when possible.
Geoff Voelker <voelker@cs.washington.edu>
parents: 24361
diff changeset
230 !ENDIF