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}