Mercurial > emacs
comparison src/Makefile.in @ 108561:23f4cd23ea89
merge trunk
author | Kenichi Handa <handa@etlken> |
---|---|
date | Fri, 14 May 2010 13:15:58 +0900 |
parents | 58b814d12797 |
children | 3088b1e22407 |
comparison
equal
deleted
inserted
replaced
108552:03ab6621f67d | 108561:23f4cd23ea89 |
---|---|
1 # Makefile for GNU Emacs. | 1 # Makefile for GNU Emacs. |
2 # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, | 2 # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, |
3 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
4 # Free Software Foundation, Inc. | 4 # Free Software Foundation, Inc. |
5 | 5 |
6 # This file is part of GNU Emacs. | 6 # This file is part of GNU Emacs. |
7 | 7 |
8 # GNU Emacs is free software: you can redistribute it and/or modify | 8 # GNU Emacs is free software: you can redistribute it and/or modify |
9 # it under the terms of the GNU General Public License as published by | 9 # it under the terms of the GNU General Public License as published by |
28 # Replacing a particular part of the conditionals to work via autoconf | 28 # Replacing a particular part of the conditionals to work via autoconf |
29 # is OK. | 29 # is OK. |
30 # Some of the conditionals might be dead now. Finding them and | 30 # Some of the conditionals might be dead now. Finding them and |
31 # deleting them would be fine. | 31 # deleting them would be fine. |
32 | 32 |
33 SHELL = /bin/sh | |
33 | 34 |
34 # Here are the things that we expect ../configure to edit. | 35 # Here are the things that we expect ../configure to edit. |
35 # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. | 36 # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. |
36 srcdir = @srcdir@ | 37 srcdir = @srcdir@ |
37 abs_builddir = @abs_builddir@ | 38 abs_builddir = @abs_builddir@ |
70 | 71 |
71 ## Machine-specific CFLAGS. | 72 ## Machine-specific CFLAGS. |
72 C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ | 73 C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ |
73 ## System-specific CFLAGS. | 74 ## System-specific CFLAGS. |
74 C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ | 75 C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ |
76 | |
77 ## Currently only set if NS_IMPL_GNUSTEP. | |
78 ## C_SWITCH_X_SITE may override this. | |
79 C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@ | |
80 | |
81 ## Define C_SWITCH_X_SITE to contain any special flags your compiler | |
82 ## may need to deal with X Windows. For instance, if you've defined | |
83 ## HAVE_X_WINDOWS and your X include files aren't in a place that your | |
84 ## compiler can find on its own, you might want to add "-I/..." or | |
85 ## something similar. This is normally set by configure. | |
86 ## This is used before C_SWITCH_X_SYSTEM and may override it. | |
87 C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ | |
88 | |
89 ## Define LD_SWITCH_X_SITE to contain any special flags your loader | |
90 ## may need to deal with X Windows. For instance, if your X libraries | |
91 ## aren't in a place that your loader can find on its own, you might | |
92 ## want to add "-L/..." or something similar. Only used if | |
93 ## HAVE_X_WINDOWS. | |
94 ## FIXME? configure sets a value for this, but it has never been | |
95 ## substituted in this or any other Makefile. Cf C_SWITCH_X_SITE. | |
96 LD_SWITCH_X_SITE= | |
97 | |
75 ## This holds any special options for linking temacs only (ie, not | 98 ## This holds any special options for linking temacs only (ie, not |
76 ## used by configure). Not used elsewhere because it sometimes | 99 ## used by configure). Not used elsewhere because it sometimes |
77 ## contains options that have to do with using Emacs's crt0, | 100 ## contains options that have to do with using Emacs's crt0, |
78 ## which are only good with temacs. | 101 ## which are only good with temacs. |
79 LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ | 102 LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ |
103 | |
80 ## Next two must come before LD_SWITCH_SYSTEM. | 104 ## Next two must come before LD_SWITCH_SYSTEM. |
81 ## If needed, a -R option that says where to find X windows at run time. | 105 ## If needed, a -R option that says where to find X windows at run time. |
82 LD_SWITCH_X_SITE_AUX=@LD_SWITCH_X_SITE_AUX@ | 106 LD_SWITCH_X_SITE_AUX=@LD_SWITCH_X_SITE_AUX@ |
83 ## As above, but using -rpath instead. | 107 ## As above, but using -rpath instead. |
84 LD_SWITCH_X_SITE_AUX_RPATH=@LD_SWITCH_X_SITE_AUX_RPATH@ | 108 LD_SWITCH_X_SITE_AUX_RPATH=@LD_SWITCH_X_SITE_AUX_RPATH@ |
109 | |
85 ## System-specific LDFLAGS. | 110 ## System-specific LDFLAGS. |
86 LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@ | 111 LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@ |
87 LD_SWITCH_SYSTEM_EXTRA=@LD_SWITCH_SYSTEM_EXTRA@ | 112 LD_SWITCH_SYSTEM_EXTRA=@LD_SWITCH_SYSTEM_EXTRA@ |
113 | |
88 ## Flags to pass to ld only for temacs. | 114 ## Flags to pass to ld only for temacs. |
89 TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTEM_TEMACS) | 115 TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTEM_TEMACS) |
90 | 116 |
91 ## Some systems define this to request special libraries. | 117 ## Some systems define this to request special libraries. |
92 LIBS_SYSTEM=@LIBS_SYSTEM@ | 118 LIBS_SYSTEM=@LIBS_SYSTEM@ |
119 | |
120 ## Where to find libgcc.a, if using gcc and necessary. | |
121 LIB_GCC=@LIB_GCC@ | |
122 | |
123 ## May use $CRT_DIR. | |
124 LIB_STANDARD=@LIB_STANDARD@ | |
125 | |
126 ## -lm, or empty. | |
127 LIB_MATH=@LIB_MATH@ | |
93 | 128 |
94 LIBTIFF=@LIBTIFF@ | 129 LIBTIFF=@LIBTIFF@ |
95 LIBJPEG=@LIBJPEG@ | 130 LIBJPEG=@LIBJPEG@ |
96 LIBPNG=@LIBPNG@ | 131 LIBPNG=@LIBPNG@ |
97 LIBGIF=@LIBGIF@ | 132 LIBGIF=@LIBGIF@ |
98 LIBXPM=@LIBXPM@ | 133 LIBXPM=@LIBXPM@ |
99 XFT_LIBS=@XFT_LIBS@ | 134 XFT_LIBS=@XFT_LIBS@ |
100 LIBX_EXTRA=$(LIBTIFF) $(LIBJPEG) $(LIBPNG) $(LIBGIF) $(LIBXPM) -lX11 $(XFT_LIBS) | 135 LIBX_EXTRA=$(LIBTIFF) $(LIBJPEG) $(LIBPNG) $(LIBGIF) $(LIBXPM) -lX11 $(XFT_LIBS) |
101 | 136 |
137 FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ | |
138 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ | |
139 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ | |
140 FREETYPE_LIBS = @FREETYPE_LIBS@ | |
141 LIBOTF_CFLAGS = @LIBOTF_CFLAGS@ | |
142 LIBOTF_LIBS = @LIBOTF_LIBS@ | |
143 M17N_FLT_CFLAGS = @M17N_FLT_CFLAGS@ | |
144 M17N_FLT_LIBS = @M17N_FLT_LIBS@ | |
145 | |
102 DBUS_CFLAGS = @DBUS_CFLAGS@ | 146 DBUS_CFLAGS = @DBUS_CFLAGS@ |
103 DBUS_LIBS = @DBUS_LIBS@ | 147 DBUS_LIBS = @DBUS_LIBS@ |
104 DBUS_OBJ = @DBUS_OBJ@ | 148 DBUS_OBJ = @DBUS_OBJ@ |
105 | 149 |
106 GCONF_CFLAGS = @GCONF_CFLAGS@ | 150 GCONF_CFLAGS = @GCONF_CFLAGS@ |
138 WIDGET_OBJ=@WIDGET_OBJ@ | 182 WIDGET_OBJ=@WIDGET_OBJ@ |
139 | 183 |
140 ## sheap.o if CYGWIN, otherwise empty. | 184 ## sheap.o if CYGWIN, otherwise empty. |
141 CYGWIN_OBJ=@CYGWIN_OBJ@ | 185 CYGWIN_OBJ=@CYGWIN_OBJ@ |
142 | 186 |
187 ## dosfns.o msdos.o if MSDOS. | |
188 MSDOS_OBJ = | |
189 ## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS. | |
190 MSDOS_X_OBJ = | |
191 MSDOS_SUPPORT_REAL = ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ | |
192 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \ | |
193 ${lispsource}term/internal.elc ${lispsource}term/pc-win.elc | |
194 ## $MSDOS_SUPPORT_REAL if MSDOS. | |
195 MSDOS_SUPPORT = | |
196 | |
143 NS_OBJ=@NS_OBJ@ | 197 NS_OBJ=@NS_OBJ@ |
144 NS_SUPPORT=@NS_SUPPORT@ | 198 NS_SUPPORT=@NS_SUPPORT@ |
145 | 199 ## Next two only set if NS_IMPL_GNUSTEP. |
146 ## Only used if HAVE_X_WINDOWS and HAVE_WINDOW_SYSTEM. | 200 GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ |
201 GNUSTEP_SYSTEM_LIBRARIES=@GNUSTEP_SYSTEM_LIBRARIES@ | |
202 | |
203 ## Only used if HAVE_X_WINDOWS. | |
147 FONT_OBJ=@FONT_OBJ@ | 204 FONT_OBJ=@FONT_OBJ@ |
148 | 205 |
149 ## ${lispsource}mouse.elc if HAVE_GPM, otherwise empty. | 206 ## Used if HAVE_MOUSE. |
150 ## Not used if HAVE_MOUSE. | 207 REAL_MOUSE_SUPPORT=${lispsource}mouse.elc ${lispsource}select.elc \ |
151 GPM_MOUSE_SUPPORT=@GPM_MOUSE_SUPPORT@ | 208 ${lispsource}scroll-bar.elc |
209 ## Used if HAVE_GPM && !HAVE_MOUSE | |
210 GPM_MOUSE_SUPPORT=${lispsource}mouse.elc | |
211 LIBGPM = @LIBGPM@ | |
212 ## Either of the two preceding options, or empty. | |
213 MOUSE_SUPPORT=@MOUSE_SUPPORT@ | |
214 | |
215 ## ${lispsource}tooltip.elc if HAVE_WINDOW_SYSTEM, else empty. | |
216 TOOLTIP_SUPPORT=@TOOLTIP_SUPPORT@ | |
152 | 217 |
153 BASE_WINDOW_SUPPORT=${lispsource}fringe.elc ${lispsource}image.elc \ | 218 BASE_WINDOW_SUPPORT=${lispsource}fringe.elc ${lispsource}image.elc \ |
154 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ | 219 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ |
155 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc | 220 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc |
156 | 221 |
157 X_WINDOW_SUPPORT=${lispsource}x-dnd.elc ${lispsource}term/common-win.elc \ | 222 X_WINDOW_SUPPORT=${lispsource}x-dnd.elc ${lispsource}term/common-win.elc \ |
158 ${lispsource}term/x-win.elc ${lispsource}dynamic-setting.elc | 223 ${lispsource}term/x-win.elc ${lispsource}dynamic-setting.elc |
159 | 224 |
225 ## If HAVE_X_WINDOWS, both the above | |
226 ## else if HAVE_WINDOW_SYSTEM (ie, HAVE_NS) just the former; else empty. | |
227 WINDOW_SUPPORT=@WINDOW_SUPPORT@ | |
228 | |
229 ## -lresolv, or empty. | |
230 LIBRESOLV = @LIBRESOLV@ | |
231 | |
160 LIBSELINUX_LIBS = @LIBSELINUX_LIBS@ | 232 LIBSELINUX_LIBS = @LIBSELINUX_LIBS@ |
161 | 233 |
162 INTERVALS_H = dispextern.h intervals.h composite.h | 234 INTERVALS_H = dispextern.h intervals.h composite.h |
163 | 235 |
164 GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ | 236 GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ |
165 | 237 |
166 RUN_TEMACS = `/bin/pwd`/temacs | 238 RUN_TEMACS = `/bin/pwd`/temacs |
167 | 239 |
168 START_FILES = @START_FILES@ | 240 START_FILES = @START_FILES@ |
241 | |
242 UNEXEC_OBJ = @unexec@ | |
169 | 243 |
170 # ========================== start of cpp stuff ======================= | 244 # ========================== start of cpp stuff ======================= |
171 /* From here on, comments must be done in C syntax. */ | 245 /* From here on, comments must be done in C syntax. */ |
172 | |
173 /* just to be sure the sh is used */ | |
174 SHELL=/bin/sh | |
175 | 246 |
176 #define NOT_C_CODE | 247 #define NOT_C_CODE |
177 #include "config.h" | 248 #include "config.h" |
178 | 249 |
179 #ifdef AUTO_DEPEND | 250 #ifdef AUTO_DEPEND |
180 DEPFLAGS = -MMD -MF deps/$*.d | 251 DEPFLAGS = -MMD -MF deps/$*.d |
181 #endif | 252 #endif |
182 | 253 |
183 /* Do not let the file name mktime.c get messed up. */ | 254 /* If NS_IMPL_GNUSTEP, some definitions and includes are expanded here. */ |
184 #ifdef mktime | 255 @NS_IMPL_GNUSTEP_INC@ |
185 #undef mktime | |
186 #endif | |
187 | |
188 /* Use HAVE_X11 as an alias for X11 in this file | |
189 to avoid problems with X11 as a subdirectory name | |
190 in -I and other such options which pass through this file. */ | |
191 | |
192 #ifdef X11 | |
193 #define HAVE_X11 | |
194 #undef X11 | |
195 #endif | |
196 | |
197 /* On some machines #define register is done in config; | |
198 do not let it interfere with this file. */ | |
199 #undef register | |
200 | |
201 /* This macro is for switches specifically related to X Windows. */ | |
202 #ifndef LD_SWITCH_X_SITE | |
203 #define LD_SWITCH_X_SITE | |
204 #endif | |
205 | |
206 #ifdef NS_IMPL_GNUSTEP | |
207 /* Pull in stuff from GNUstep-make. */ | |
208 FOUNDATION_LIB=gnu | |
209 GUI_LIB=gnu | |
210 include @GNUSTEP_MAKEFILES@/Additional/base.make | |
211 include @GNUSTEP_MAKEFILES@/Additional/gui.make | |
212 shared=no | |
213 #endif | |
214 | 256 |
215 /* DO NOT use -R. There is a special hack described in lastfile.c | 257 /* DO NOT use -R. There is a special hack described in lastfile.c |
216 which is used instead. Some initialized data areas are modified | 258 which is used instead. Some initialized data areas are modified |
217 at initial startup, then labeled as part of the text area when | 259 at initial startup, then labeled as part of the text area when |
218 Emacs is dumped for the first time, and never changed again. */ | 260 Emacs is dumped for the first time, and never changed again. */ |
219 | 261 |
220 /* -Demacs is needed to make some files produce the correct version | 262 /* -Demacs is needed to make some files produce the correct version |
221 for use in Emacs. | 263 for use in Emacs. |
222 | 264 |
223 -DHAVE_CONFIG_H is needed for some other files to take advantage of | 265 -DHAVE_CONFIG_H is needed for some other files to take advantage of |
224 the information in ``config.h''. */ | 266 the information in ``config.h''. */ |
225 | 267 |
226 /* C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM | 268 /* C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM |
227 since it may have -I options that should override those two. */ | 269 since it may have -I options that should override those. */ |
228 /* MYCPPFLAGS only referenced in etc/DEBUG. */ | 270 /* MYCPPFLAGS only referenced in etc/DEBUG. */ |
229 ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} @C_SWITCH_X_SITE@ @C_SWITCH_X_SYSTEM@ ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@ ${DEPFLAGS} | 271 ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} ${C_SWITCH_X_SITE} ${C_SWITCH_X_SYSTEM} ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS} |
230 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) @GNU_OBJC_CFLAGS@ | 272 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) |
231 | 273 |
232 .SUFFIXES: .m | 274 .SUFFIXES: .m |
233 .c.o: | 275 .c.o: |
234 #ifdef AUTO_DEPEND | 276 #ifdef AUTO_DEPEND |
235 @-test -d deps || mkdir deps | 277 @-test -d deps || mkdir deps |
240 @-test -d deps || mkdir deps | 282 @-test -d deps || mkdir deps |
241 #endif | 283 #endif |
242 $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< | 284 $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< |
243 | 285 |
244 #ifdef HAVE_X_WINDOWS | 286 #ifdef HAVE_X_WINDOWS |
245 /* This test needs to say in cpp for the time being, since s/msdos.h | |
246 defines HAVE_MENUS, and does not use the configure script. */ | |
247 #ifdef HAVE_MENUS | |
248 OLDXMENU=@OLDXMENU@ | 287 OLDXMENU=@OLDXMENU@ |
249 LIBXMENU=@LIBXMENU@ | 288 LIBXMENU=@LIBXMENU@ |
250 #else /* not HAVE_MENUS */ | |
251 OLDXMENU= | |
252 LIBXMENU= | |
253 #endif /* not HAVE_MENUS */ | |
254 | |
255 LIBXT=$(TOOLKIT_LIBW) $(LIBXT_OTHER) | 289 LIBXT=$(TOOLKIT_LIBW) $(LIBXT_OTHER) |
256 LIBX_BASE=$(LIBXMENU) LD_SWITCH_X_SITE | 290 LIBX_BASE=$(LIBXMENU) $(LD_SWITCH_X_SITE) |
257 LIBX_OTHER=@LIBX_OTHER@ | 291 LIBX_OTHER=@LIBX_OTHER@ |
258 #endif /* not HAVE_X_WINDOWS */ | 292 FONT_DRIVERS=$(FONT_OBJ) |
259 | 293 #endif /* HAVE_X_WINDOWS */ |
260 #ifndef ORDINARY_LINK | 294 |
295 | |
296 /* A macro which other sections of Makefile can redefine to munge the | |
297 flags before they are passed to LD. This is helpful if you have | |
298 redefined LD to something odd, like "gcc". | |
299 (The YMF prefix is a holdover from the old name "ymakefile".) */ | |
300 #define YMF_PASS_LDFLAGS(flags) flags | |
301 | |
302 | |
303 #ifdef ORDINARY_LINK | |
304 LD = $(CC) | |
305 | |
306 #else /* not ORDINARY_LINK */ | |
307 GNULIB_VAR = $(LIB_GCC) | |
308 | |
261 /* Fix linking if compiled with GCC. */ | 309 /* Fix linking if compiled with GCC. */ |
262 #ifdef __GNUC__ | 310 #if defined (__GNUC__) && ! defined (LINKER) |
263 | |
264 #ifdef LINKER | |
265 #define LINKER_WAS_SPECIFIED | |
266 #endif | |
267 | |
268 /* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure | 311 /* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure |
269 places that are difficult to figure out at make time. Fortunately, | 312 places that are difficult to figure out at make time. Fortunately, |
270 these same versions allow you to pass arbitrary flags on to the | 313 these same versions allow you to pass arbitrary flags on to the |
271 linker, so there is no reason not to use it as a linker. | 314 linker, so there is no reason not to use it as a linker. |
272 | 315 |
273 Well, it is not quite perfect. The "-nostdlib" keeps GCC from | 316 Well, it is not quite perfect. The "-nostdlib" keeps GCC from |
274 searching for libraries in its internal directories, so we have to | 317 searching for libraries in its internal directories, so we have to |
275 ask GCC explicitly where to find libgcc.a. */ | 318 ask GCC explicitly where to find libgcc.a. */ |
276 | |
277 #ifndef LINKER | |
278 #define LINKER $(CC) -nostdlib | 319 #define LINKER $(CC) -nostdlib |
279 #endif | 320 /* GCC passes any argument prefixed with -Xlinker directly to the linker. |
280 | 321 See prefix-args.c for an explanation of why we do not do this with the |
281 #ifndef LIB_GCC | 322 shell''s ``for'' construct. Note that sane people do not have '.' in |
282 /* Ask GCC where to find libgcc.a. */ | 323 their paths, so we must use ./prefix-args. */ |
283 #define LIB_GCC `$(CC) -print-libgcc-file-name` | 324 #undef YMF_PASS_LDFLAGS |
284 #endif /* not LIB_GCC */ | |
285 | |
286 GNULIB_VAR = LIB_GCC | |
287 | |
288 #ifndef LINKER_WAS_SPECIFIED | |
289 /* GCC passes any argument prefixed with -Xlinker directly to the | |
290 linker. See prefix-args.c for an explanation of why we do not do | |
291 this with the shell''s ``for'' construct. | |
292 Note that some people do not have '.' in their paths, so we must | |
293 use ./prefix-args. */ | |
294 #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` | 325 #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` |
295 #else | 326 #endif /* defined (__GNUC__) && ! defined (LINKER) */ |
296 #define YMF_PASS_LDFLAGS(flags) flags | 327 |
297 #endif | |
298 | |
299 #else /* not __GNUC__ */ | |
300 GNULIB_VAR = | |
301 | |
302 #endif /* not __GNUC__ */ | |
303 #endif /* not ORDINARY_LINK */ | |
304 | |
305 #ifdef ORDINARY_LINK | |
306 LD = $(CC) | |
307 #else | |
308 #ifdef LINKER | 328 #ifdef LINKER |
309 LD=LINKER | 329 LD=LINKER |
310 #else /* not LINKER */ | 330 #else /* not LINKER */ |
311 LD=ld | 331 LD=ld |
312 #endif /* not LINKER */ | 332 #endif /* not LINKER */ |
333 | |
313 #endif /* not ORDINARY_LINK */ | 334 #endif /* not ORDINARY_LINK */ |
314 | |
315 /* A macro which other sections of Makefile can redefine to munge the | |
316 flags before they are passed to LD. This is helpful if you have | |
317 redefined LD to something odd, like "gcc". | |
318 (The YMF prefix is a holdover from the old name "ymakefile".) | |
319 */ | |
320 #ifndef YMF_PASS_LDFLAGS | |
321 #define YMF_PASS_LDFLAGS(flags) flags | |
322 #endif | |
323 | |
324 #ifdef MSDOS | |
325 LIBS_SYSTEM = MSDOS_LIBS_SYSTEM | |
326 #ifdef HAVE_X_WINDOWS | |
327 MSDOS_OBJ = dosfns.o msdos.o | |
328 #else | |
329 MSDOS_OBJ = dosfns.o msdos.o w16select.o termcap.o | |
330 #endif | |
331 #endif | |
332 | 335 |
333 #ifdef HAVE_NS | 336 #ifdef HAVE_NS |
334 ns_appdir=@ns_appdir@/ | 337 ns_appdir=@ns_appdir@/ |
335 ns_appbindir=@ns_appbindir@/ | 338 ns_appbindir=@ns_appbindir@/ |
336 ns_appresdir=@ns_appresdir@/ | |
337 ns_appsrc=@ns_appsrc@ | 339 ns_appsrc=@ns_appsrc@ |
338 #endif /* HAVE_NS */ | 340 #endif /* HAVE_NS */ |
339 | 341 |
340 #ifdef HAVE_WINDOW_SYSTEM | 342 /* lastfile must follow all files whose initialized data areas should |
341 #ifdef HAVE_X_WINDOWS | 343 be dumped as pure by dump-emacs. */ |
342 FONT_DRIVERS=$(FONT_OBJ) | |
343 #endif /* HAVE_X_WINDOWS */ | |
344 #endif /* HAVE_WINDOW_SYSTEM */ | |
345 | |
346 /* lastfile must follow all files | |
347 whose initialized data areas should be dumped as pure by dump-emacs. */ | |
348 obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ | 344 obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ |
349 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ | 345 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ |
350 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ | 346 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ |
351 emacs.o keyboard.o macros.o keymap.o sysdep.o \ | 347 emacs.o keyboard.o macros.o keymap.o sysdep.o \ |
352 buffer.o filelock.o insdel.o marker.o \ | 348 buffer.o filelock.o insdel.o marker.o \ |
353 minibuf.o fileio.o dired.o filemode.o \ | 349 minibuf.o fileio.o dired.o filemode.o \ |
354 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ | 350 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ |
355 alloc.o data.o doc.o editfns.o callint.o \ | 351 alloc.o data.o doc.o editfns.o callint.o \ |
356 eval.o floatfns.o fns.o font.o print.o lread.o \ | 352 eval.o floatfns.o fns.o font.o print.o lread.o \ |
357 syntax.o @unexec@ bytecode.o \ | 353 syntax.o $(UNEXEC_OBJ) bytecode.o \ |
358 process.o callproc.o \ | 354 process.o callproc.o \ |
359 region-cache.o sound.o atimer.o \ | 355 region-cache.o sound.o atimer.o \ |
360 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ | 356 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ |
361 $(MSDOS_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS) | 357 $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS) |
362 | 358 |
363 /* Object files used on some machine or other. | 359 /* Object files used on some machine or other. |
364 These go in the DOC file on all machines | 360 These go in the DOC file on all machines in case they are needed. */ |
365 in case they are needed there. */ | |
366 SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ | 361 SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ |
367 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ | 362 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ |
368 fontset.o dbusbind.o \ | 363 fontset.o dbusbind.o \ |
369 nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \ | 364 nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \ |
370 w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ | 365 w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ |
391 POST_ALLOC_OBJ=@POST_ALLOC_OBJ@ | 386 POST_ALLOC_OBJ=@POST_ALLOC_OBJ@ |
392 | 387 |
393 /* List of object files that make-docfile should not be told about. */ | 388 /* List of object files that make-docfile should not be told about. */ |
394 otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(gmallocobj) $(rallocobj) \ | 389 otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(gmallocobj) $(rallocobj) \ |
395 $(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS) | 390 $(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS) |
396 | |
397 #ifdef HAVE_MOUSE | |
398 #define MOUSE_SUPPORT ${lispsource}mouse.elc \ | |
399 ${lispsource}select.elc ${lispsource}scroll-bar.elc | |
400 #else | |
401 #define MOUSE_SUPPORT $(GPM_MOUSE_SUPPORT) | |
402 #endif | |
403 | |
404 #ifdef MSDOS | |
405 #define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ | |
406 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \ | |
407 ${lispsource}term/internal.elc ${lispsource}term/pc-win.elc | |
408 | |
409 #else | |
410 #define MSDOS_SUPPORT | |
411 #endif | |
412 | |
413 #ifdef HAVE_WINDOW_SYSTEM | |
414 #ifdef HAVE_X_WINDOWS | |
415 #define WINDOW_SUPPORT $(BASE_WINDOW_SUPPORT) $(X_WINDOW_SUPPORT) | |
416 #else | |
417 #define WINDOW_SUPPORT $(BASE_WINDOW_SUPPORT) | |
418 #endif | |
419 #else | |
420 #define WINDOW_SUPPORT | |
421 #endif | |
422 | |
423 #ifdef WINDOWSNT | |
424 #define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ | |
425 ${lispsource}dos-w32.elc ${lispsource}w32-vars.elc \ | |
426 ${lispsource}w32-fns.elc ${lispsource}term/common-win.elc \ | |
427 ${lispsource}term/w32-win.elc | |
428 #else | |
429 #define WINNT_SUPPORT | |
430 #endif | |
431 | |
432 #ifdef HAVE_WINDOW_SYSTEM | |
433 #define TOOLTIP_SUPPORT ${lispsource}tooltip.elc | |
434 #else | |
435 #define TOOLTIP_SUPPORT | |
436 #endif | |
437 | 391 |
438 /* This is the platform-specific list of Lisp files loaded into the | 392 /* This is the platform-specific list of Lisp files loaded into the |
439 dumped Emacs. It is arranged like this because it is easier to generate | 393 dumped Emacs. It is arranged like this because it is easier to generate |
440 it semi-mechanically from loadup.el this way. | 394 it semi-mechanically from loadup.el this way. |
441 | 395 |
466 ${lispsource}env.elc \ | 420 ${lispsource}env.elc \ |
467 ${lispsource}faces.elc \ | 421 ${lispsource}faces.elc \ |
468 ${lispsource}files.elc \ | 422 ${lispsource}files.elc \ |
469 ${lispsource}format.elc \ | 423 ${lispsource}format.elc \ |
470 ${lispsource}facemenu.elc \ | 424 ${lispsource}facemenu.elc \ |
471 MOUSE_SUPPORT \ | 425 ${MOUSE_SUPPORT} \ |
472 ${lispsource}emacs-lisp/float-sup.elc \ | 426 ${lispsource}emacs-lisp/float-sup.elc \ |
473 ${lispsource}frame.elc \ | 427 ${lispsource}frame.elc \ |
474 ${lispsource}help.elc \ | 428 ${lispsource}help.elc \ |
475 ${lispsource}indent.elc \ | 429 ${lispsource}indent.elc \ |
476 ${lispsource}isearch.elc \ | 430 ${lispsource}isearch.elc \ |
529 ${lispsource}emacs-lisp/timer.elc \ | 483 ${lispsource}emacs-lisp/timer.elc \ |
530 ${lispsource}jka-cmpr-hook.elc \ | 484 ${lispsource}jka-cmpr-hook.elc \ |
531 ${lispsource}vc-hooks.elc \ | 485 ${lispsource}vc-hooks.elc \ |
532 ${lispsource}ediff-hook.elc \ | 486 ${lispsource}ediff-hook.elc \ |
533 ${lispsource}epa-hook.elc \ | 487 ${lispsource}epa-hook.elc \ |
534 TOOLTIP_SUPPORT \ | 488 ${TOOLTIP_SUPPORT} \ |
535 MSDOS_SUPPORT \ | 489 ${MSDOS_SUPPORT} \ |
536 WINNT_SUPPORT \ | 490 ${WINDOW_SUPPORT} \ |
537 WINDOW_SUPPORT \ | |
538 ${NS_SUPPORT} \ | 491 ${NS_SUPPORT} \ |
539 ${lispsource}widget.elc \ | 492 ${lispsource}widget.elc \ |
540 ${lispsource}window.elc \ | 493 ${lispsource}window.elc \ |
541 ${lispsource}version.el | 494 ${lispsource}version.el |
542 | 495 |
652 Note that SunOS needs -lm to come before -lc; otherwise, you get | 605 Note that SunOS needs -lm to come before -lc; otherwise, you get |
653 duplicated symbols. If the standard libraries were compiled | 606 duplicated symbols. If the standard libraries were compiled |
654 with GCC, we might need gnulib again after them. */ | 607 with GCC, we might need gnulib again after them. */ |
655 | 608 |
656 LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ | 609 LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ |
657 $(RSVG_LIBS) $(DBUS_LIBS) @LIBGPM@ @LIBRESOLV@ $(LIBS_SYSTEM) \ | 610 $(RSVG_LIBS) $(DBUS_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ |
658 $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \ | 611 $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \ |
659 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \ | 612 $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ |
660 $(GNULIB_VAR) @LIB_MATH@ @LIB_STANDARD@ $(GNULIB_VAR) | 613 $(GNULIB_VAR) $(LIB_MATH) $(LIB_STANDARD) $(GNULIB_VAR) |
661 | 614 |
662 all: emacs${EXEEXT} $(OTHER_FILES) | 615 all: emacs${EXEEXT} $(OTHER_FILES) |
663 | 616 |
664 emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} | 617 emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} |
665 #ifdef CANNOT_DUMP | 618 #ifdef CANNOT_DUMP |
700 | 653 |
701 /* FIXME LOCALCPP not defined or mentioned anywhere. */ | 654 /* FIXME LOCALCPP not defined or mentioned anywhere. */ |
702 temacs${EXEEXT}: $(LOCALCPP) $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} | 655 temacs${EXEEXT}: $(LOCALCPP) $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} |
703 #ifdef NS_IMPL_GNUSTEP | 656 #ifdef NS_IMPL_GNUSTEP |
704 $(CC) -rdynamic YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \ | 657 $(CC) -rdynamic YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \ |
705 -L@GNUSTEP_SYSTEM_LIBRARIES@ -lgnustep-gui -lgnustep-base \ | 658 -L$(GNUSTEP_SYSTEM_LIBRARIES) -lgnustep-gui -lgnustep-base \ |
706 -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread ) -o temacs \ | 659 -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread ) -o temacs \ |
707 ${obj} ${otherobj} ${LIBES} | 660 ${obj} ${otherobj} ${LIBES} |
708 #else | 661 #else |
709 $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \ | 662 $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \ |
710 -o temacs ${START_FILES} ${obj} ${otherobj} \ | 663 -o temacs ${START_FILES} ${obj} ${otherobj} \ |
714 prefix-args${EXEEXT}: prefix-args.o $(config_h) | 667 prefix-args${EXEEXT}: prefix-args.o $(config_h) |
715 $(CC) $(LDFLAGS) prefix-args.o -o prefix-args | 668 $(CC) $(LDFLAGS) prefix-args.o -o prefix-args |
716 | 669 |
717 #if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK) | 670 #if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK) |
718 | 671 |
719 /* We use stamp-xmenu with these two deps | 672 /* We use stamp-xmenu with these two deps to both ensure that lwlib |
720 to both ensure that lwlib gets remade based on its dependencies | 673 gets remade based on its dependencies in its own makefile, |
721 in its own makefile, | |
722 and remake temacs if lwlib gets changed by this. */ | 674 and remake temacs if lwlib gets changed by this. */ |
723 stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU) | 675 stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU) |
724 touch stamp-oldxmenu | 676 touch stamp-oldxmenu |
725 /* Supply an ordering for parallel make. */ | 677 /* Supply an ordering for parallel make. */ |
726 ../src/$(OLDXMENU): ${OLDXMENU} | 678 ../src/$(OLDXMENU): ${OLDXMENU} |
770 | 722 |
771 /* FIXME some of these dependencies are platform-specific. | 723 /* FIXME some of these dependencies are platform-specific. |
772 Eg callproc.c only depends on w32.h for WINDOWSNT builds. | 724 Eg callproc.c only depends on w32.h for WINDOWSNT builds. |
773 One way to fix this would be to replace w32.h (etc) by $(W32_H), | 725 One way to fix this would be to replace w32.h (etc) by $(W32_H), |
774 a variable set by configure. Does not seem worth the trouble. | 726 a variable set by configure. Does not seem worth the trouble. |
727 Since the w32 build does not even use this file, you might ask | |
728 why these dependencies are here at all... | |
775 | 729 |
776 nsgui.h: In fact, every .o file depends directly or indirectly on | 730 nsgui.h: In fact, every .o file depends directly or indirectly on |
777 dispextern.h and hence nsgui.h under NS. But the ones that actually | 731 dispextern.h and hence nsgui.h under NS. But the ones that actually |
778 use stuff there are more limited. */ | 732 use stuff there are more limited. */ |
779 atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ | 733 atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ |
979 xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h \ | 933 xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h \ |
980 lisp.h termopts.h frame.h dispextern.h | 934 lisp.h termopts.h frame.h dispextern.h |
981 xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ | 935 xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ |
982 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \ | 936 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \ |
983 termopts.h | 937 termopts.h |
984 /* The files of Lisp proper */ | 938 |
985 | 939 /* The files of Lisp proper. */ |
986 alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ | 940 alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ |
987 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ | 941 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ |
988 $(INTERVALS_H) termhooks.h | 942 $(INTERVALS_H) termhooks.h |
989 bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \ | 943 bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \ |
990 frame.h xterm.h lisp.h $(config_h) | 944 frame.h xterm.h lisp.h $(config_h) |
1002 blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h | 956 blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h |
1003 lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ | 957 lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ |
1004 charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ | 958 charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ |
1005 systime.h frame.h blockinput.h atimer.h | 959 systime.h frame.h blockinput.h atimer.h |
1006 | 960 |
1007 /* Text properties support */ | 961 /* Text properties support. */ |
1008 composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ | 962 composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ |
1009 frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) | 963 frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) |
1010 intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ | 964 intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ |
1011 keymap.h lisp.h $(config_h) systime.h coding.h | 965 keymap.h lisp.h $(config_h) systime.h coding.h |
1012 textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \ | 966 textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \ |
1013 lisp.h $(config_h) | 967 lisp.h $(config_h) |
1014 | 968 |
1015 #endif /* ! AUTO_DEPEND */ | 969 #endif /* ! AUTO_DEPEND */ |
1016 | 970 |
1017 /* System-specific programs to be made. | 971 /* System-specific programs to be made. |
1018 OTHER_FILES | 972 OTHER_FILES select which of these should be compiled. */ |
1019 select which of these should be compiled. */ | |
1020 | 973 |
1021 #ifdef HAVE_NS | 974 #ifdef HAVE_NS |
1022 ${ns_appdir}: ${ns_appsrc} | 975 ${ns_appdir}: ${ns_appsrc} |
1023 rm -fr ${ns_appdir} | 976 rm -fr ${ns_appdir} |
1024 mkdir -p ${ns_appdir} | 977 mkdir -p ${ns_appdir} |