1 # Makefile for GNU Emacs.
2 # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
3 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 # Free Software Foundation, Inc.
5
6 # This file is part of GNU Emacs.
7
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
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
12
13 # GNU Emacs is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17
18 # You should have received a copy of the GNU General Public License
19 # along with GNU Emacs. If not, see <http: 20
21
22 # Note that this file is edited by msdos/sed1v2.inp for MSDOS. That
23 # script may need modifying in sync with changes made here. Try to
24 # avoid shell-ism because the DOS build has to use the DOS shell.
25
26 # Don't try to replace the cpp processing using autoconf facilities,
27 # says rms.
28 # Replacing a particular part of the conditionals to work via autoconf
29 # is OK.
30 # Some of the conditionals might be dead now. Finding them and
31 # deleting them would be fine.
32
33 SHELL = /bin/sh
34
35 # Here are the things that we expect ../configure to edit.
36 # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
37 srcdir = /home/yamato/var/emacs/src
38 abs_builddir = /home/yamato/var/emacs/src
39 VPATH = $(srcdir)
40 CC = gcc
41 CFLAGS = -g -O2 -Wdeclaration-after-statement -Wno-pointer-sign
42 CPPFLAGS =
43 LDFLAGS = -Wl,-znocombreloc
44 EXEEXT =
45 version = 24.0.50
46 # Substitute an assignment for the MAKE variable, because
47 # BSD doesn't have it as a default.
48
49 # Don't use LIBS. configure puts stuff in it that either shouldn't be
50 # linked with Emacs or is duplicated by the cpp stuff below.
51 # LIBS = -lncurses -lm -lSM -lICE -lXrender -lXft -lXrender -lfontconfig -lfreetype -lX11 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lX11
52 LIBOBJS =
53
54 lispsource = ${srcdir}/../lisp/
55 libsrc = ../lib-src/
56 etc = ../etc/
57 oldXMenudir = ../oldXMenu/
58 lwlibdir = ../lwlib/
59 lispdir = ../lisp/
60
61 # Configuration files for .o files to depend on.
62 M_FILE = ${srcdir}/m/amdx86-64.h
63 S_FILE = ${srcdir}/s/gnu-linux.h
64 config_h = config.h $(M_FILE) $(S_FILE)
65
66 bootstrap_exe = ${abs_builddir}/bootstrap-emacs${EXEEXT}
67
68 ## ns-app if HAVE_NS, else empty.
69 OTHER_FILES =
70
71 CRT_DIR=/usr/lib64
72
73 ## Machine-specific CFLAGS.
74 C_SWITCH_MACHINE=
75 ## System-specific CFLAGS.
76 C_SWITCH_SYSTEM=
77
78 ## Currently only set if NS_IMPL_GNUSTEP.
79 ## C_SWITCH_X_SITE may override this.
80 C_SWITCH_X_SYSTEM=
81
82 ## Define C_SWITCH_X_SITE to contain any special flags your compiler
83 ## may need to deal with X Windows. For instance, if you've defined
84 ## HAVE_X_WINDOWS and your X include files aren't in a place that your
85 ## compiler can find on its own, you might want to add "-I/..." or
86 ## something similar. This is normally set by configure.
87 ## This is used before C_SWITCH_X_SYSTEM and may override it.
88 C_SWITCH_X_SITE= -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2
89
90 ## Define LD_SWITCH_X_SITE to contain any special flags your loader
91 ## may need to deal with X Windows. For instance, if your X libraries
92 ## aren't in a place that your loader can find on its own, you might
93 ## want to add "-L/..." or something similar. Only used if
94 ## HAVE_X_WINDOWS.
95 ## FIXME? configure sets a value for this, but it has never been
96 ## substituted in this or any other Makefile. Cf C_SWITCH_X_SITE.
97 LD_SWITCH_X_SITE=
98
99 ## This holds any special options for linking temacs only (ie, not
100 ## used by configure). Not used elsewhere because it sometimes
101 ## contains options that have to do with using Emacs's crt0,
102 ## which are only good with temacs.
103 LD_SWITCH_SYSTEM_TEMACS=
104
105 ## Next two must come before LD_SWITCH_SYSTEM.
106 ## If needed, a -R option that says where to find X windows at run time.
107 LD_SWITCH_X_SITE_AUX=
108 ## As above, but using -rpath instead.
109 LD_SWITCH_X_SITE_AUX_RPATH=
110
111 ## System-specific LDFLAGS.
112 LD_SWITCH_SYSTEM= $(LD_SWITCH_X_SITE_AUX)
113 LD_SWITCH_SYSTEM_EXTRA=
114
115 ## Flags to pass to ld only for temacs.
116 TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTEM_TEMACS)
117
118 ## $LDFLAGS, or empty if NS_IMPL_GNUSTEP (for some reason).
119 TEMACS_LDFLAGS2 = ${LDFLAGS}
120
121 ## Some systems define this to request special libraries.
122 LIBS_SYSTEM=
123
124 ## Where to find libgcc.a, if using gcc and necessary.
125 LIB_GCC=
126
127 LD=$(CC) -nostdlib
128
129 ## May use $CRT_DIR.
130 LIB_STANDARD=-lgcc -lc -lgcc $(CRT_DIR)/crtn.o
131
132 ## -lm, or empty.
133 LIB_MATH=-lm
134
135 LIBTIFF=-ltiff
136 LIBJPEG=-ljpeg
137 LIBPNG=-lpng -lz -lm
138 LIBGIF=-lgif
139 LIBXPM=-lXpm
140 XFT_LIBS=-lXrender -lXft -lXrender -lfontconfig -lfreetype -lX11
141 LIBX_EXTRA=$(LIBTIFF) $(LIBJPEG) $(LIBPNG) $(LIBGIF) $(LIBXPM) -lX11 $(XFT_LIBS)
142
143 FONTCONFIG_CFLAGS =
144 FONTCONFIG_LIBS =
145 FREETYPE_CFLAGS =
146 FREETYPE_LIBS =
147 LIBOTF_CFLAGS =
148 LIBOTF_LIBS =
149 M17N_FLT_CFLAGS =
150 M17N_FLT_LIBS =
151
152 DBUS_CFLAGS =
153 DBUS_LIBS =
154 DBUS_OBJ =
155
156 GCONF_CFLAGS =
157 GCONF_LIBS =
158
159 GTK_OBJ=gtkutil.o
160
161 ## -ltermcap, or -lncurses, or -lcurses, or "".
162 LIBS_TERMCAP=-lncurses
163 ## terminfo.o if TERMINFO, else tparam.o.
164 TERMCAP_OBJ=terminfo.o
165
166 LIBXMU=-lXmu
167
168 LIBXSM=-lSM -lICE
169
170 LIBXTR6=
171
172 ## $(LIBXMU) -lXt $(LIBXTR6) -lXext if USE_X_TOOLKIT, else $(LIBXSM).
173 ## Only used if HAVE_X_WINDOWS.
174 LIBXT_OTHER=$(LIBXSM)
175
176 ## Only used if HAVE_X11 && !USE_GTK.
177 ## really-lwlib if USE_X_TOOLKIT, else really-oldxmenu.
178 OLDXMENU_TARGET=really-oldXMenu
179
180 ## If !HAVE_X11 || USE_GTK, empty.
181 ## Else if USE_X_TOOLKIT, ${lwlibdir}liblw.a.
182 ## Else ${oldXMenudir}libXMenu11.a.
183 OLDXMENU=
184
185 ## If HAVE_X11 && !USE_GTK, ${OLDXMENU} ../src/${OLDXMENU}; else empty.
186 ## We use stamp-xmenu with these two deps to both ensure that lwlib
187 ## gets remade based on its dependencies in its own makefile,
188 ## and remake temacs if lwlib gets changed by this.
189 OLDXMENU_DEPS=
190
191 ## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible).
192 ## Else if !HAVE_X11 || USE_GTK, empty.
193 ## Else $(OLDXMENU).
194 LIBXMENU=
195
196 XMENU_OBJ=xmenu.o
197 XOBJ=xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o xsettings.o xgselect.o
198
199 TOOLKIT_LIBW=-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lpthread
200
201 ## Only used if HAVE_X11, in LIBX_OTHER.
202 LIBXT=$(TOOLKIT_LIBW) $(LIBXT_OTHER)
203
204 ## If HAVE_X11, $(LIBXT) $(LIBX_EXTRA), else empty.
205 LIBX_OTHER=$(LIBXT) $(LIBX_EXTRA)
206
207 ## LIBXMENU is nil if !HAVE_X_WINDOWS.
208 ## LD_SWITCH_X_SITE should not be used if not using X, but nothing
209 ## sets it at present, and if something ever does, it should be
210 ## configure, which should set it to nil in non-X builds.
211 LIBX_BASE=$(LIBXMENU) $(LD_SWITCH_X_SITE)
212
213 LIBSOUND=
214 CFLAGS_SOUND=
215
216 RSVG_LIBS=
217 RSVG_CFLAGS=
218
219 ## widget.o if USE_X_TOOLKIT, otherwise empty.
220 WIDGET_OBJ=
221
222 ## sheap.o if CYGWIN, otherwise empty.
223 CYGWIN_OBJ=
224
225 ## dosfns.o msdos.o w16select.o if MSDOS.
226 MSDOS_OBJ =
227 ## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS.
228 MSDOS_X_OBJ =
229 MSDOS_SUPPORT_REAL = ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
230 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
231 ${lispsource}term/internal.elc ${lispsource}term/pc-win.elc
232 ## $MSDOS_SUPPORT_REAL if MSDOS.
233 MSDOS_SUPPORT =
234
235 ns_appdir=
236 ns_appbindir=
237 ns_appsrc=
238 NS_OBJ=
239 NS_SUPPORT=
240 ## Only set if NS_IMPL_GNUSTEP.
241 GNU_OBJC_CFLAGS=
242
243 ## Empty if !HAVE_X_WINDOWS
244 ## xfont.o ftfont.o xftfont.o ftxfont.o if HAVE_XFT
245 ## xfont.o ftfont.o ftxfont.o if HAVE_FREETYPE
246 ## else xfont.o
247 FONT_OBJ=xfont.o ftfont.o xftfont.o ftxfont.o
248
249 ## Used if HAVE_MOUSE.
250 REAL_MOUSE_SUPPORT=${lispsource}mouse.elc ${lispsource}select.elc \
251 ${lispsource}scroll-bar.elc
252 ## Used if HAVE_GPM && !HAVE_MOUSE
253 GPM_MOUSE_SUPPORT=${lispsource}mouse.elc
254 LIBGPM =
255 ## Either of the two preceding options, or empty.
256 MOUSE_SUPPORT=$(REAL_MOUSE_SUPPORT)
257
258 ## ${lispsource}tooltip.elc if HAVE_WINDOW_SYSTEM, else empty.
259 TOOLTIP_SUPPORT=${lispsource}mouse.elc
260
261 BASE_WINDOW_SUPPORT=${lispsource}fringe.elc ${lispsource}image.elc \
262 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \
263 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc
264
265 X_WINDOW_SUPPORT=${lispsource}x-dnd.elc ${lispsource}term/common-win.elc \
266 ${lispsource}term/x-win.elc ${lispsource}dynamic-setting.elc
267
268 ## If HAVE_X_WINDOWS, both the above
269 ## else if HAVE_WINDOW_SYSTEM (ie, HAVE_NS) just the former; else empty.
270 WINDOW_SUPPORT=$(BASE_WINDOW_SUPPORT) $(X_WINDOW_SUPPORT)
271
272 ## -lresolv, or empty.
273 LIBRESOLV =
274
275 LIBSELINUX_LIBS =
276
277 INTERVALS_H = dispextern.h intervals.h composite.h
278
279 GETLOADAVG_LIBS =
280
281 RUN_TEMACS = `/bin/pwd`/temacs
282
283 START_FILES = pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
284
285 UNEXEC_OBJ = unexelf.o
286
287 DEPDIR=deps
288 ## -MMD -MF ${DEPDIR}/$*.d if AUTO_DEPEND; else empty.
289 DEPFLAGS=-MMD -MF ${DEPDIR}/$*.d
290 ## test -d ${DEPDIR} || mkdir ${DEPDIR} (if AUTO_DEPEND); else ':'.
291 MKDEPDIR=test -d ${DEPDIR} || mkdir ${DEPDIR}
292
293 # ========================== start of cpp stuff =======================
294
295
296 #define NOT_C_CODE
297 #include "config.h"
298
299
300
301
302 303
304 NS_IMPL_GNUSTEP_TEMACS_LDFLAGS=
305
306 307 308 309
310
311 312 313 314 315
316
317 318
319
320 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}
321 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
322
323 .SUFFIXES: .m
324 .c.o:
325 @$(MKDEPDIR)
326 $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
327 .m.o:
328 @$(MKDEPDIR)
329 $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $<
330
331
332 333
334 obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
335 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \
336 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \
337 emacs.o keyboard.o macros.o keymap.o sysdep.o \
338 buffer.o filelock.o insdel.o marker.o \
339 minibuf.o fileio.o dired.o filemode.o \
340 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
341 alloc.o data.o doc.o editfns.o callint.o \
342 eval.o floatfns.o fns.o font.o print.o lread.o \
343 syntax.o $(UNEXEC_OBJ) bytecode.o \
344 process.o callproc.o \
345 region-cache.o sound.o atimer.o \
346 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
347 $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ)
348
349 350
351 SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
352 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
353 fontset.o dbusbind.o \
354 nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
355 w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
356 w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONT_OBJ)
357
358
359 GMALLOC_OBJ=
360
361
362 VMLIMIT_OBJ=vm-limit.o
363
364
365 RALLOC_OBJ=
366
367
368 PRE_ALLOC_OBJ=lastfile.o
369
370 POST_ALLOC_OBJ=
371
372
373 otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \
374 $(POST_ALLOC_OBJ) $(VMLIMIT_OBJ) $(WIDGET_OBJ) $(LIBOBJS)
375
376 377 378 379 380 381 382 383 384 385 386
387
388 389
390
391 lisp= \
392 ${lispsource}loaddefs.el \
393 ${lispsource}abbrev.elc \
394 ${lispsource}buff-menu.elc \
395 ${lispsource}button.elc \
396 ${lispsource}emacs-lisp/byte-run.elc \
397 ${lispsource}composite.elc \
398 ${lispsource}cus-face.elc \
399 ${lispsource}cus-start.elc \
400 ${lispsource}custom.elc \
401 ${lispsource}emacs-lisp/backquote.elc \
402 ${lispsource}emacs-lisp/lisp-mode.elc \
403 ${lispsource}emacs-lisp/lisp.elc \
404 ${lispsource}env.elc \
405 ${lispsource}faces.elc \
406 ${lispsource}files.elc \
407 ${lispsource}format.elc \
408 ${lispsource}facemenu.elc \
409 ${MOUSE_SUPPORT} \
410 ${lispsource}emacs-lisp/float-sup.elc \
411 ${lispsource}frame.elc \
412 ${lispsource}help.elc \
413 ${lispsource}indent.elc \
414 ${lispsource}isearch.elc \
415 ${lispsource}rfn-eshadow.elc \
416 ${lispsource}loadup.el \
417 ${lispsource}bindings.elc \
418 ${lispsource}emacs-lisp/map-ynp.elc \
419 ${lispsource}menu-bar.elc \
420 ${lispsource}international/mule.elc \
421 ${lispsource}international/mule-conf.elc \
422 ${lispsource}international/mule-cmds.elc \
423 ${lispsource}international/characters.elc \
424 ${lispsource}international/charprop.el \
425 ${lispsource}case-table.elc \
426 ${lispsource}language/chinese.elc \
427 ${lispsource}language/cyrillic.elc \
428 ${lispsource}language/indian.elc \
429 ${lispsource}language/sinhala.el \
430 ${lispsource}language/english.el \
431 ${lispsource}language/ethiopic.elc \
432 ${lispsource}language/european.elc \
433 ${lispsource}language/czech.el \
434 ${lispsource}language/slovak.el \
435 ${lispsource}language/romanian.el \
436 ${lispsource}language/greek.el \
437 ${lispsource}language/hebrew.el \
438 ${lispsource}language/japanese.el \
439 ${lispsource}language/korean.el \
440 ${lispsource}language/lao.el \
441 ${lispsource}language/cham.el \
442 ${lispsource}language/tai-viet.el \
443 ${lispsource}language/thai.el \
444 ${lispsource}language/tibetan.elc \
445 ${lispsource}language/vietnamese.elc \
446 ${lispsource}language/misc-lang.el \
447 ${lispsource}language/utf-8-lang.el \
448 ${lispsource}language/georgian.el \
449 ${lispsource}language/khmer.el \
450 ${lispsource}language/burmese.el \
451 ${lispsource}paths.el \
452 ${lispsource}register.elc \
453 ${lispsource}replace.elc \
454 ${lispsource}simple.elc \
455 ${lispsource}minibuffer.elc \
456 ${lispsource}startup.elc \
457 ${lispsource}subr.elc \
458 ${lispsource}term/tty-colors.elc \
459 ${lispsource}font-core.elc \
460 ${lispsource}emacs-lisp/syntax.elc \
461 ${lispsource}font-lock.elc \
462 ${lispsource}jit-lock.elc \
463 ${lispsource}textmodes/fill.elc \
464 ${lispsource}textmodes/page.elc \
465 ${lispsource}textmodes/paragraphs.elc \
466 ${lispsource}textmodes/text-mode.elc \
467 ${lispsource}emacs-lisp/timer.elc \
468 ${lispsource}jka-cmpr-hook.elc \
469 ${lispsource}vc-hooks.elc \
470 ${lispsource}ediff-hook.elc \
471 ${lispsource}epa-hook.elc \
472 ${TOOLTIP_SUPPORT} \
473 ${MSDOS_SUPPORT} \
474 ${WINDOW_SUPPORT} \
475 ${NS_SUPPORT} \
476 ${lispsource}widget.elc \
477 ${lispsource}window.elc \
478 ${lispsource}version.el
479
480 481 482 483 484
485 shortlisp= \
486 ../lisp/loaddefs.el \
487 ../lisp/abbrev.elc \
488 ../lisp/buff-menu.elc \
489 ../lisp/button.elc \
490 ../lisp/emacs-lisp/byte-run.elc \
491 ../lisp/composite.elc \
492 ../lisp/cus-face.elc \
493 ../lisp/cus-start.elc \
494 ../lisp/custom.elc \
495 ../lisp/emacs-lisp/backquote.elc \
496 ../lisp/emacs-lisp/lisp-mode.elc \
497 ../lisp/emacs-lisp/lisp.elc \
498 ../lisp/facemenu.elc \
499 ../lisp/faces.elc \
500 ../lisp/files.elc \
501 ../lisp/emacs-lisp/float-sup.elc \
502 ../lisp/format.elc \
503 ../lisp/frame.elc \
504 ../lisp/help.elc \
505 ../lisp/indent.elc \
506 ../lisp/isearch.elc \
507 ../lisp/rfn-eshadow.elc \
508 ../lisp/loadup.el \
509 ../lisp/bindings.elc \
510 ../lisp/emacs-lisp/map-ynp.elc \
511 ../lisp/env.elc \
512 ../lisp/international/mule.elc \
513 ../lisp/international/mule-conf.elc \
514 ../lisp/international/mule-cmds.elc \
515 ../lisp/international/characters.elc \
516 ../lisp/case-table.elc \
517 ../lisp/language/chinese.elc \
518 ../lisp/language/cyrillic.elc \
519 ../lisp/language/indian.elc \
520 ../lisp/language/sinhala.el \
521 ../lisp/language/english.el \
522 ../lisp/language/ethiopic.elc \
523 ../lisp/language/european.elc \
524 ../lisp/language/czech.el \
525 ../lisp/language/slovak.el \
526 ../lisp/language/romanian.el \
527 ../lisp/language/greek.el \
528 ../lisp/language/hebrew.el \
529 ../lisp/language/japanese.el \
530 ../lisp/language/korean.el \
531 ../lisp/language/lao.el \
532 ../lisp/language/cham.el \
533 ../lisp/language/tai-viet.el \
534 ../lisp/language/thai.el \
535 ../lisp/language/tibetan.elc \
536 ../lisp/language/vietnamese.elc \
537 ../lisp/language/misc-lang.el \
538 ../lisp/language/utf-8-lang.el \
539 ../lisp/language/georgian.el \
540 ../lisp/language/khmer.el \
541 ../lisp/language/burmese.el \
542 ../lisp/menu-bar.elc \
543 ../lisp/paths.el \
544 ../lisp/register.elc \
545 ../lisp/replace.elc \
546 ../lisp/simple.elc \
547 ../lisp/minibuffer.elc \
548 ../lisp/startup.elc \
549 ../lisp/subr.elc \
550 ../lisp/term/tty-colors.elc \
551 ../lisp/font-core.elc \
552 ../lisp/emacs-lisp/syntax.elc \
553 ../lisp/font-lock.elc \
554 ../lisp/jit-lock.elc \
555 ../lisp/textmodes/fill.elc \
556 ../lisp/textmodes/page.elc \
557 ../lisp/textmodes/paragraphs.elc \
558 ../lisp/textmodes/text-mode.elc \
559 ../lisp/emacs-lisp/timer.elc \
560 ../lisp/vc-hooks.elc \
561 ../lisp/jka-cmpr-hook.elc \
562 ../lisp/ediff-hook.elc \
563 ../lisp/epa-hook.elc \
564 ../lisp/widget.elc \
565 ../lisp/window.elc \
566 ../lisp/version.el
567
568 569
570 SOME_MACHINE_LISP = ../lisp/mouse.elc \
571 ../lisp/select.elc ../lisp/scroll-bar.elc \
572 ../lisp/ls-lisp.elc ../lisp/dos-fns.elc \
573 ../lisp/w32-fns.elc ../lisp/dos-w32.elc \
574 ../lisp/disp-table.elc ../lisp/dos-vars.elc \
575 ../lisp/tooltip.elc ../lisp/image.elc \
576 ../lisp/fringe.elc ../lisp/dnd.elc \
577 ../lisp/mwheel.elc ../lisp/tool-bar.elc \
578 ../lisp/x-dnd.elc ../lisp/dynamic-setting.elc \
579 ../lisp/international/ccl.elc \
580 ../lisp/international/fontset.elc \
581 ../lisp/mouse.elc \
582 ../lisp/term/common-win.elc \
583 ../lisp/term/x-win.elc \
584 ../lisp/term/pc-win.elc ../lisp/term/internal.elc \
585 ../lisp/term/ns-win.elc ../lisp/term/w32-win.elc \
586 ../lisp/emacs-lisp/easymenu.elc
587
588 589 590 591
592
593 LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \
594 $(RSVG_LIBS) $(DBUS_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \
595 $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \
596 $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \
597 $(LIB_GCC) $(LIB_MATH) $(LIB_STANDARD) $(LIB_GCC)
598
599 all: emacs${EXEEXT} $(OTHER_FILES)
600
601
602 emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp}
603 #ifdef CANNOT_DUMP
604 rm -f emacs${EXEEXT}
605 ln temacs${EXEEXT} emacs${EXEEXT}
606 -EMACSLOADPATH=${lispsource} ./emacs -q -batch -f list-load-path-shadows
607 #else
608 LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
609 @: This new Emacs is as functional and more efficient then
610 @: bootstrap-emacs, so let us replace it.
611 -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}
612 -./emacs -q -batch -f list-load-path-shadows
613 #endif
614
615 616
617 618 619 620 621 622
623 624 625 626 627
628 ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP}
629 -rm -f ${etc}DOC
630 ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
631 ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
632
633 ${libsrc}make-docfile${EXEEXT}:
634 cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT}
635
636 buildobj.h: Makefile
637 echo "#define BUILDOBJ \"${obj} ${otherobj} " "\"" > buildobj.h
638
639 #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
640
641 temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT}
642 $(LD) YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \
643 ${NS_IMPL_GNUSTEP_TEMACS_LDFLAGS} ) \
644 ${TEMACS_LDFLAGS2} \
645 -o temacs ${START_FILES} ${obj} ${otherobj} ${LIBES}
646
647 prefix-args${EXEEXT}: prefix-args.o $(config_h)
648 $(CC) $(LDFLAGS) prefix-args.o -o prefix-args
649
650
651 652
653 really-lwlib:
654 cd ${lwlibdir}; ${MAKE} ${MFLAGS} \
655 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
656 @true
657 .PHONY: really-lwlib
658
659 really-oldXMenu:
660 cd ${oldXMenudir}; ${MAKE} ${MFLAGS} \
661 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
662 @true
663 .PHONY: really-oldXMenu
664
665 666
667 stamp-oldxmenu: ${OLDXMENU_DEPS}
668 touch stamp-oldxmenu
669
670
671 #if defined (HAVE_X11) && ! defined (USE_GTK)
672
673 ../src/$(OLDXMENU): ${OLDXMENU}
674
675 $(OLDXMENU): $(OLDXMENU_TARGET)
676 #endif
677
678 ../config.status:: epaths.in
679 @echo "The file epaths.h needs to be set up from epaths.in."
680 @echo "Please run the `configure' script again."
681 exit 1
682
683 ../config.status:: config.in
684 @echo "The file config.h needs to be set up from config.in."
685 @echo "Please run the `configure' script again."
686 exit 1
687
688 ecrt0.o: ecrt0.c $(config_h)
689 @$(MKDEPDIR)
690 $(CC) -c $(ALL_CFLAGS) ${srcdir}/ecrt0.c
691 doc.o: buildobj.h
692
693
694 695
696
697 #ifdef HAVE_NS
698 ${ns_appdir}: ${ns_appsrc}
699 rm -fr ${ns_appdir}
700 mkdir -p ${ns_appdir}
701 ( cd ${ns_appsrc} ; tar cfh - . ) | ( cd ${ns_appdir} ; umask 022; tar xf - )
702 #endif
703
704
705 ${ns_appbindir}Emacs: emacs${EXEEXT}
706 mkdir -p ${ns_appbindir}
707 cp -f emacs${EXEEXT} ${ns_appbindir}Emacs
708
709 ns-app: ${ns_appdir} ${ns_appbindir}Emacs
710
711 mostlyclean:
712 rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a
713 rm -f ../etc/DOC
714 rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
715 rm -f buildobj.h
716 clean: mostlyclean
717 rm -f emacs-*.*.*${EXEEXT} emacs${EXEEXT}
718 -rm -rf ${DEPDIR}
719 test "X${ns_appdir}" = "X" || rm -rf ${ns_appdir}
720
721 722 723
724 bootstrap-clean: clean
725 rm -f epaths.h config.h Makefile.c config.stamp stamp-oldxmenu ../etc/DOC-*
726 if test -f ./.gdbinit; then \
727 mv ./.gdbinit ./.gdbinit.save; \
728 if test -f "${srcdir}/.gdbinit"; then rm -f ./.gdbinit.save; \
729 else mv ./.gdbinit.save ./.gdbinit; fi; \
730 fi
731 # This is used in making a distribution.
732 # Do not use it on development directories!
733 distclean: bootstrap-clean
734 rm -f Makefile
735 maintainer-clean: distclean
736 @echo "This command is intended for maintainers to use;"
737 @echo "it deletes files that may require special tools to rebuild."
738 rm -f TAGS
739 versionclean:
740 -rm -f emacs${EXEEXT} emacs-*.*.*${EXEEXT} ../etc/DOC*
741 extraclean: distclean
742 -rm -f *~ \#* m/?*~ s/?*~
743
744 745
746
747 ctagsfiles1 = [xyzXYZ]*.[hcm]
748 ctagsfiles2 = [a-wA-W]*.[hcm]
749
750 TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
751 ../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS \
752 --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
753 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
754 frc:
755 TAGS-LISP: frc
756 $(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags
757
758 $(lwlibdir)TAGS:
759 (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags)
760
761 tags: TAGS TAGS-LISP $(lwlibdir)TAGS
762 .PHONY: tags
763
764
765
766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785
786
787 .SUFFIXES: .elc .el
788
789 790 791 792
793 .el.elc:
794 @cd ../lisp; $(MAKE) $(MFLAGS) compile-onefile \
795 THEFILE=$< EMACS=${bootstrap_exe}
796
797
798 ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS)
799
800 801
802 ${lispsource}loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
803 cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=${bootstrap_exe}
804
805 806
807
808 bootstrap-emacs${EXEEXT}: temacs${EXEEXT}
809 cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs
810 #ifdef CANNOT_DUMP
811 ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT}
812 #else
813 $(RUN_TEMACS) --batch --load loadup bootstrap
814 mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}
815 #endif
816 @: Compile some files earlier to speed up further compilation.
817 cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=${bootstrap_exe}
818
819 ## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk.
820 821 822
823
824 ALLOBJS=$(START_FILES) ${obj} ${otherobj} prefix-args.o
825 -include $(ALLOBJS:%.o=${DEPDIR}/%.d)