annotate nt/gmake.defs @ 36150:46e59561af4c

Display Vars node renamed Display Custom. Include info there about customizing cursor appearance. Clean up aggressive scrolling. Clarify horizontal scrolling discussion. Fix index entries for line number mode.
author Richard M. Stallman <rms@gnu.org>
date Sat, 17 Feb 2001 16:45:37 +0000
parents 0158865560da
children 19b74f67a4ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
1 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
2 # Makefile definition file for building GNU Emacs on Windows NT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
3 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
4 # GNU Emacs is free software; you can redistribute it and/or modify
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
5 # it under the terms of the GNU General Public License as published by
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
6 # the Free Software Foundation; either version 2, or (at your option)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
7 # any later version.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
8 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
9 # GNU Emacs is distributed in the hope that it will be useful,
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
12 # GNU General Public License for more details.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
13 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
14 # You should have received a copy of the GNU General Public License
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
15 # along with GNU Emacs; see the file COPYING. If not, write to
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
16 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
17 # Boston, MA 02111-1307, USA.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
18
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
19 # Ensure 'all' is the default target
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
20 all:
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
21
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
22 # NOTES
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
23 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
24 # I tried to force gmake to use the native shell for simplicity, by
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
25 # setting SHELL as below, but this didn't work reliably because of
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
26 # various case sensitivity niggles. Specifically, COMSPEC (which is in
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
27 # fact usually spelled ComSpec on NT, to make life difficult) typically
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
28 # references "cmd.exe" (on NT) when the file is actually called
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
29 # "CMD.EXE" on disk for hysterical raisons. As a result, GNU make
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
30 # thinks it doesn't exist (unless compiled with a switch to ignore
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
31 # case), and so doesn't change which shell it will invoke to execute
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
32 # commands.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
33 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
34 # It would be possible, though very tedious using just gmake facilities,
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
35 # to convert the COMSPEC value to uppercase to solve this problem, but
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
36 # it isn't worth it. That is partly because, even when using the native
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
37 # shell, gmake tends to not be happy with backslashes in command
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
38 # strings. The obvious solution is to use forward slashes as much as
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
39 # possible, which can be made to work most of the time (putting
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
40 # filenames in quotes often helps), but there are still some internal
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
41 # cmd.exe commands like `del' and `copy' that won't work with them.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
42 # Although it is possible to convert slashes to backslashes when
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
43 # necessary, gmake requires explicitly calling its subst function, which
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
44 # nmake does not understand). For this reason, it is simplest to
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
45 # mandate that rm and cp be available, so we can use Unix-format file
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
46 # names everywhere. (Fortunately both MS and GNU make, and the
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
47 # respective compilers, are happy with Unix-format names.)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
48 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
49 # Since we cannot easily force the choice of a particular shell, we must
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
50 # make the effort to cope with whichever shell is being used.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
51 # Fortunately, the only command we need to use that is shell specific is
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
52 # the testing of a file's existence for the purpose of working out when
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
53 # we are copying files to their original location. That particular
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
54 # requirement is abstracted easily enough.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
55 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
56 # The only other problem area was the change of directory when running
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
57 # temacs to dump emacs.exe (where gmake doesn't support cd foo in any
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
58 # useful way), but that has been resolved by modifying the Windows
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
59 # unexec function slightly to not require the directory change while
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
60 # still allowing objects and binaries to be in subdirectories.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
61
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
62 # This doesn't work.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
63 #SHELL:=$(COMSPEC)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
64
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
65 # Determine whether make is using sh or cmd/command as shell; cmd.exe
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
66 # will output "ECHO is on" when echo is given by itself, while sh will
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
67 # not produce any output.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
68 sh_output := $(shell echo)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
69 ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
70 THE_SHELL = $(COMSPEC)$(ComSpec)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
71 SHELLTYPE=CMD
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
72 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
73 USING_SH = 1
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
74 THE_SHELL = $(SHELL)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
75 SHELLTYPE=SH
34276
1e1283190fbc (SETLOADPATH): Set EMACSLOADPATH to an absolute directory,
Andrew Innes <andrewi@gnu.org>
parents: 34257
diff changeset
76 SETLOADPATH=EMACSLOADPATH=$(CURDIR)/../lisp
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
77 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
78
35103
2ed117dc79cf (EMACS_ICON_PATH): Delete definition.
Andrew Innes <andrewi@gnu.org>
parents: 34276
diff changeset
79 MAKETYPE=gmake
2ed117dc79cf (EMACS_ICON_PATH): Delete definition.
Andrew Innes <andrewi@gnu.org>
parents: 34276
diff changeset
80
35899
0158865560da (THISDIR): New definition.
Andrew Innes <andrewi@gnu.org>
parents: 35103
diff changeset
81 THISDIR = .
0158865560da (THISDIR): New definition.
Andrew Innes <andrewi@gnu.org>
parents: 35103
diff changeset
82
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
83 # Cygwin has changed quoting rules somewhat since b20, in a way that
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
84 # affects makefiles using sh as the command processor, so we need to
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
85 # detect which rules to use.
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
86 ifdef USING_SH
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
87 sh_output := $(shell echo foo")
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
88 ifeq "$(sh_output)" ""
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
89 NEW_CYGWIN = 1
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
90 endif
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
91 endif
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
92
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
93 ALL_DEPS = $^
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
94 EMPTY =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
95 SPACE = $(EMPTY) $(EMPTY)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
96
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
97 SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
98 SUBSYSTEM_CONSOLE=-Wl,-subsystem,console
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
99
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
100 # INSTALL_DIR is the directory into which emacs will be installed.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
101 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
102 ifndef INSTALL_DIR
34276
1e1283190fbc (SETLOADPATH): Set EMACSLOADPATH to an absolute directory,
Andrew Innes <andrewi@gnu.org>
parents: 34257
diff changeset
103 INSTALL_DIR = $(CURDIR)/..
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
104 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
105
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
106 # Determine the architecture we're running on.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
107 # Define ARCH for our purposes;
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
108 # Define CPU for use by ntwin32.mak;
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
109 # Define CONFIG_H to the appropriate config.h for the system;
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
110 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
111 ifdef PROCESSOR_ARCHITECTURE
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
112 # We're on Windows NT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
113 CPU = $(PROCESSOR_ARCHITECTURE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
114 CONFIG_H = config.nt
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
115 OS_TYPE = windowsnt
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
116 ifeq "$(PROCESSOR_ARCHITECTURE)" "x86"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
117 ARCH = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
118 CPU = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
119 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
120 ifeq "$(PROCESSOR_ARCHITECTURE)" "MIPS"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
121 ARCH = mips
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
122 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
123 ifeq "$(PROCESSOR_ARCHITECTURE)" "ALPHA"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
124 ARCH = alpha
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
125 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
126 ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
127 ARCH = ppc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
128 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
129 error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
130 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
131 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
132 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
133 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
134 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
135 # We're on Windows 95
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
136 ARCH = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
137 CPU = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
138 CONFIG_H = config.nt
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
139 OS_TYPE = windows95
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
140 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
141
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
142 AR = ar -rsc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
143 AR_OUT =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
144 CC = gcc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
145 CC_OUT = -o$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
146 LINK = gcc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
147 LINK_OUT = -o$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
148 RC = windres -O coff
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
149 RC_OUT = -o$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
150 RC_INCLUDE = --include-dir$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
151
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
152 libc =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
153 baselibs =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
154 O = o
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
155 A = a
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
156
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
157 BASE_LIBS = $(libc) $(baselibs)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
158
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
159 ADVAPI32 = -ladvapi32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
160 COMDLG32 = -lcomdlg32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
161 GDI32 = -lgdi32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
162 MPR = -lmpr
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
163 SHELL32 = -lshell32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
164 USER32 = -luser32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
165 WSOCK32 = -lwsock32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
166
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
167 ifdef NOOPT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
168 DEBUG_CFLAGS = -DEMACSDEBUG
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
169 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
170 DEBUG_CFLAGS =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
171 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
172 CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
173 -D_CRTAPI1=_cdecl \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
174 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
175 EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
176
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
177 # see comments in allocate_heap in w32heap.c before changing any of the
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
178 # -stack, -heap, or -image-base settings.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
179 TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -g $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
180
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
181 ifdef NOOPT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
182 OBJDIR = oo
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
183 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
184 OBJDIR = oo-spd
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
185 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
186 $(OBJDIR):; -mkdir "$(OBJDIR)"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
187 BLD = $(OBJDIR)/$(ARCH)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
188 $(BLD): $(OBJDIR)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
189 -mkdir "$(BLD)"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
190
35103
2ed117dc79cf (EMACS_ICON_PATH): Delete definition.
Andrew Innes <andrewi@gnu.org>
parents: 34276
diff changeset
191 COMPILER_TEMP_FILES =
2ed117dc79cf (EMACS_ICON_PATH): Delete definition.
Andrew Innes <andrewi@gnu.org>
parents: 34276
diff changeset
192
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
193 CP = cp -f
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
194 CP_DIR = cp -rf
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
195 DEL = rm
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
196 DEL_TREE = rm -r
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
197
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
198 ifdef USING_SH
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
199
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
200 IFNOTSAMEDIR = if [ ! -s ../same-dir.tst ] ; then
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
201 FOREACH = for f in
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
202 FORVAR = $${f}
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
203 FORDO = ; do
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
204 ENDFOR = ; done
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
205 ENDIF = ; fi
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
206 ARGQUOTE = '
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
207 ifdef NEW_CYGWIN
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
208 DQUOTE = "
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
209 else
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
210 DQUOTE = ""
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
211 endif
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
212
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
213 else
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
214
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
215 IFNOTSAMEDIR = if not exist ../same-dir.tst
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
216 FOREACH = for %%f in (
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
217 FORVAR = %%f
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
218 FORDO = ) do
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
219 ENDFOR =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
220 ENDIF =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
221 ARGQUOTE = "
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
222 DQUOTE = \"
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
223
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
224 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
225
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
226 ifdef NODEBUG
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
227 DEBUG_FLAG =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
228 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
229 DEBUG_FLAG = -g
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
230 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
231
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
232 ifdef NOCYGWIN
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
233 NOCYGWIN = -mno-cygwin
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
234 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
235
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
236 ifeq "$(ARCH)" "i386"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
237 ifdef NOOPT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
238 ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
239 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
240 ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) -mcpu=i686 -O2 \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
241 # -fbuiltin \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
242 # -finline-functions \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
243 # -fomit-frame-pointer
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
244 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
245 ARCH_LDFLAGS = $(SYS_LDFLAGS)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
246 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
247 ERROR Unknown architecture type "$(ARCH)".
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
248 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
249
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
250 LINK_FLAGS = $(ARCH_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
251
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
252 .DEFAULT:
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
253
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
254 $(BLD)/%.o: %.c
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
255 $(CC) $(CFLAGS) $(CC_OUT)$@ $<