annotate nt/gmake.defs @ 46205:6676ac71682b

Update mouse button info. Don't give the names of Emacs commands that the characters run. Clarify what SPC and DEL do. Clarify the description of the minibuffer. Wording change for completion. Explain Mouse-2 better.
author Richard M. Stallman <rms@gnu.org>
date Sun, 07 Jul 2002 11:31:31 +0000
parents a717ef452897
children 4d7b83cc03aa
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 #
36375
19b74f67a4ae Add copyright notice.
Andrew Innes <andrewi@gnu.org>
parents: 35899
diff changeset
2 # Makefile definition file for building GNU Emacs on the Microsoft W32 API.
19b74f67a4ae Add copyright notice.
Andrew Innes <andrewi@gnu.org>
parents: 35899
diff changeset
3 # Copyright (c) 2000-2001 Free Software Foundation, Inc.
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
4 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
5 # 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
6 # 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
7 # 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
8 # any later version.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
9 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
10 # 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
11 # 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
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
13 # GNU General Public License for more details.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
14 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
15 # 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
16 # 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
17 # 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
18 # Boston, MA 02111-1307, USA.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
19
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
20 # Ensure 'all' is the default target
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
21 all:
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
22
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
23 # NOTES
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
24 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
25 # 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
26 # 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
27 # various case sensitivity niggles. Specifically, COMSPEC (which is in
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
28 # 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
29 # 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
30 # "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
31 # 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
32 # 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
33 # commands.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
34 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
35 # 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
36 # 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
37 # 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
38 # 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
39 # 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
40 # 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
41 # 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
42 # 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
43 # 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
44 # necessary, gmake requires explicitly calling its subst function, which
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
45 # 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
46 # 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
47 # 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
48 # respective compilers, are happy with Unix-format names.)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
49 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
50 # 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
51 # 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
52 # 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
53 # 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
54 # 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
55 # requirement is abstracted easily enough.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
56 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
57 # 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
58 # 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
59 # 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
60 # 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
61 # still allowing objects and binaries to be in subdirectories.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
62
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
63 # This doesn't work.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
64 #SHELL:=$(COMSPEC)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
65
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
66 # 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
67 # 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
68 # not produce any output.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
69 sh_output := $(shell echo)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
70 ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
71 THE_SHELL = $(COMSPEC)$(ComSpec)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
72 SHELLTYPE=CMD
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
73 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
74 USING_SH = 1
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
75 THE_SHELL = $(SHELL)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
76 SHELLTYPE=SH
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
37972
84ecffb66da7 (sh_output): Don't use $(warning ...) to output
Andrew Innes <andrewi@gnu.org>
parents: 37778
diff changeset
87 sh_output := $(shell echo [Please ignore a syntax error on the next line - it is intentional] 1>&2)
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
88 sh_output := $(shell echo foo")
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
89 ifeq "$(sh_output)" ""
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
90 NEW_CYGWIN = 1
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 endif
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
93
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
94 ALL_DEPS = $^
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
95 EMPTY =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
96 SPACE = $(EMPTY) $(EMPTY)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
97
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
98 SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
99 SUBSYSTEM_CONSOLE=-Wl,-subsystem,console
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
100
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
101 # 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
102 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
103 ifndef INSTALL_DIR
34276
1e1283190fbc (SETLOADPATH): Set EMACSLOADPATH to an absolute directory,
Andrew Innes <andrewi@gnu.org>
parents: 34257
diff changeset
104 INSTALL_DIR = $(CURDIR)/..
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
105 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
106
37381
fa2805c46667 (SETLOADPATH): Remove definition.
Andrew Innes <andrewi@gnu.org>
parents: 36859
diff changeset
107 export EMACSLOADPATH
fa2805c46667 (SETLOADPATH): Remove definition.
Andrew Innes <andrewi@gnu.org>
parents: 36859
diff changeset
108
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
109 # Determine the architecture we're running on.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
110 # Define ARCH for our purposes;
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
111 # Define CPU for use by ntwin32.mak;
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
112 # 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
113 #
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
114 ifdef PROCESSOR_ARCHITECTURE
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
115 # We're on Windows NT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
116 CPU = $(PROCESSOR_ARCHITECTURE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
117 CONFIG_H = config.nt
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
118 OS_TYPE = windowsnt
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
119 ifeq "$(PROCESSOR_ARCHITECTURE)" "x86"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
120 ARCH = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
121 CPU = i386
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)" "MIPS"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
124 ARCH = mips
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)" "ALPHA"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
127 ARCH = alpha
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 ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
130 ARCH = ppc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
131 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
132 error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
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 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
135 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
136 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
137 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
138 # We're on Windows 95
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
139 ARCH = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
140 CPU = i386
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
141 CONFIG_H = config.nt
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
142 OS_TYPE = windows95
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
143 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
144
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
145 AR = ar -rsc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
146 AR_OUT =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
147 CC = gcc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
148 CC_OUT = -o$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
149 LINK = gcc
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
150 LINK_OUT = -o$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
151 RC = windres -O coff
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
152 RC_OUT = -o$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
153 RC_INCLUDE = --include-dir$(SPACE)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
154
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
155 libc =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
156 baselibs =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
157 O = o
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
158 A = a
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
159
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
160 BASE_LIBS = $(libc) $(baselibs)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
161
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
162 ADVAPI32 = -ladvapi32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
163 COMDLG32 = -lcomdlg32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
164 GDI32 = -lgdi32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
165 MPR = -lmpr
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
166 SHELL32 = -lshell32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
167 USER32 = -luser32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
168 WSOCK32 = -lwsock32
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
169
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
170 ifdef NOOPT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
171 DEBUG_CFLAGS = -DEMACSDEBUG
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
172 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
173 DEBUG_CFLAGS =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
174 endif
42529
a717ef452897 (CFLAGS): Define _WIN32_WINNT as 0x0400, in order to
Andrew Innes <andrewi@gnu.org>
parents: 37972
diff changeset
175 CFLAGS = -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 $(ARCH_CFLAGS) -D$(ARCH) \
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
176 -D_CRTAPI1=_cdecl \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
177 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
178 EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
179
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
180 # 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
181 # -stack, -heap, or -image-base settings.
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
182 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
183
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
184 ifdef NOOPT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
185 OBJDIR = oo
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
186 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
187 OBJDIR = oo-spd
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
188 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
189 $(OBJDIR):; -mkdir "$(OBJDIR)"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
190 BLD = $(OBJDIR)/$(ARCH)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
191 $(BLD): $(OBJDIR)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
192 -mkdir "$(BLD)"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
193
35103
2ed117dc79cf (EMACS_ICON_PATH): Delete definition.
Andrew Innes <andrewi@gnu.org>
parents: 34276
diff changeset
194 COMPILER_TEMP_FILES =
2ed117dc79cf (EMACS_ICON_PATH): Delete definition.
Andrew Innes <andrewi@gnu.org>
parents: 34276
diff changeset
195
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
196 CP = cp -f
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
197 CP_DIR = cp -rf
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
198 DEL = rm
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
199 DEL_TREE = rm -r
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
200
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
201 ifdef USING_SH
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
202
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
203 IFNOTSAMEDIR = if [ ! -s ../same-dir.tst ] ; then
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
204 FOREACH = for f in
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
205 FORVAR = $${f}
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
206 FORDO = ; do
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
207 ENDFOR = ; done
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
208 ENDIF = ; fi
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
209 ARGQUOTE = '
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
210 ifdef NEW_CYGWIN
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
211 DQUOTE = "
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
212 else
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
213 DQUOTE = ""
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
214 endif
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
215
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
216 else
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
217
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
218 IFNOTSAMEDIR = if not exist ../same-dir.tst
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
219 FOREACH = for %%f in (
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
220 FORVAR = %%f
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
221 FORDO = ) do
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
222 ENDFOR =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
223 ENDIF =
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
224 ARGQUOTE = "
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
225 DQUOTE = \"
34257
8f4d667d32c2 (NEW_CYGWIN): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31679
diff changeset
226
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
227 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
228
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
229 ifdef NODEBUG
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
230 DEBUG_FLAG =
36859
d4c0b7a5bc48 (DEBUG_LINK): New macro.
Andrew Innes <andrewi@gnu.org>
parents: 36375
diff changeset
231 DEBUG_LINK =
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
232 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
233 DEBUG_FLAG = -g
36859
d4c0b7a5bc48 (DEBUG_LINK): New macro.
Andrew Innes <andrewi@gnu.org>
parents: 36375
diff changeset
234 DEBUG_LINK = -g
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
235 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
236
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
237 ifdef NOCYGWIN
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
238 NOCYGWIN = -mno-cygwin
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
239 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
240
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
241 ifeq "$(ARCH)" "i386"
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
242 ifdef NOOPT
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
243 ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
244 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
245 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
246 # -fbuiltin \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
247 # -finline-functions \
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
248 # -fomit-frame-pointer
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
249 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
250 ARCH_LDFLAGS = $(SYS_LDFLAGS)
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
251 else
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
252 ERROR Unknown architecture type "$(ARCH)".
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
253 endif
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
254
36859
d4c0b7a5bc48 (DEBUG_LINK): New macro.
Andrew Innes <andrewi@gnu.org>
parents: 36375
diff changeset
255 LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(NOCYGWIN) $(USER_LDFLAGS)
31679
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
256
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
257 .DEFAULT:
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
258
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
259 $(BLD)/%.o: %.c
7e706d145fab Revert to Unix line endings.
Andrew Innes <andrewi@gnu.org>
parents: 31627
diff changeset
260 $(CC) $(CFLAGS) $(CC_OUT)$@ $<