Mercurial > emacs
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 |
rev | line source |
---|---|
11766 | 1 # |
2 # Makefile definition file for building GNU Emacs on Windows NT | |
36377 | 3 # Copyright (c) 1994-2001 Free Software Foundation, Inc. |
11766 | 4 # |
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 | |
7 # the Free Software Foundation; either version 2, or (at your option) | |
8 # any later version. | |
9 # | |
10 # GNU Emacs is distributed in the hope that it will be useful, | |
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 # GNU General Public License for more details. | |
14 # | |
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 | |
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 | 19 # |
20 # Geoff Voelker (voelker@cs.washington.edu) 9-6-94 | |
21 | |
22 # | |
23 # BEGIN CONFIGURATION | |
24 # | |
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 | 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 | 35 |
12237 | 36 # Define MSVCNT11 to be nonzero if you are using the MSVCNT 1.1 environment. |
37 # MSVCNT11 = 1 | |
19397
c0ff94156cb9
(MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16882
diff
changeset
|
38 !ifndef MSVCNT11 |
12237 | 39 MSVCNT11 = 0 |
19397
c0ff94156cb9
(MSVCNT11): Conditionally define it.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16882
diff
changeset
|
40 !endif |
12237 | 41 |
11766 | 42 # |
43 # END CONFIGURATION | |
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 | 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 | 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 | 132 !if $(MSVCNT11) |
133 BASE_LIBS = $(libc) $(baselibs) oldnames.lib | |
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 | 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 | 154 !if $(MSVCNT11) |
155 CFLAGS = $(CFLAGS_COMMON) -D_CRTAPI1=_cdecl | |
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 | 158 !endif |
11766 | 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 | 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 | 166 BLD = $(OBJDIR)\$(ARCH) |
167 $(BLD): $(OBJDIR) | |
168 -mkdir $(BLD) | |
169 | |
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 | 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 | 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 | 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 | 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 | 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 |