
1: # Makefile for GNU Emacs. 2: # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 3: # 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. 4: 5: # This file is part of GNU Emacs. 6: 7: # GNU Emacs is free software; you can redistribute it and/or modify 8: # it under the terms of the GNU General Public License as published by 9: # the Free Software Foundation; either version 2, or (at your option) 10: # any later version. 11: 12: # GNU Emacs is distributed in the hope that it will be useful, 13: # but WITHOUT ANY WARRANTY; without even the implied warranty of 14: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15: # GNU General Public License for more details. 16: 17: # You should have received a copy of the GNU General Public License 18: # along with GNU Emacs; see the file COPYING. If not, write to 19: # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20: # Boston, MA 02110-1301, USA. 21: 22: 23: # Note that this file is edited by msdos/sed1v2.inp for MSDOS. That 24: # script may need modifying in sync with changes made here. Try to 25: # avoid shell-ism because the DOS build has to use the DOS shell. 26: 27: # Don't try to replace the cpp processing using autoconf facilities, 28: # says rms. 29: 30: # Here are the things that we expect ../configure to edit. 31: # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. 32: srcdir=@srcdir@ 33: VPATH=@srcdir@ 34: CC=@CC@ 35: CPP=@CPP@ 36: CFLAGS=@CFLAGS@ 37: CPPFLAGS=@CPPFLAGS@ 38: LDFLAGS=@LDFLAGS@ 39: LN_S=@LN_S@ 40: EXEEXT=@EXEEXT@ 41: version=@version@ 42: # Substitute an assignment for the MAKE variable, because 43: # BSD doesn't have it as a default. 44: @SET_MAKE@ 45: # Don't use LIBS. configure puts stuff in it that either shouldn't be 46: # linked with Emacs or is duplicated by the cpp stuff below. 47: # LIBS = @LIBS@ 48: LIBOBJS = @LIBOBJS@ 49: 50: # On Xenix and the IBM RS6000, double-dot gets screwed up. 51: dot = . 52: dotdot = ${dot}${dot} 53: lispsource = ${srcdir}/$(dot)$(dot)/lisp/ 54: libsrc = $(dot)$(dot)/lib-src/ 55: etc = $(dot)$(dot)/etc/ 56: oldXMenudir = $(dot)$(dot)/oldXMenu/ 57: lwlibdir = $(dot)$(dot)/lwlib/ 58: lispdir = $(dot)$(dot)/lisp/ 59: 60: # Configuration files for .o files to depend on. 61: M_FILE = ${srcdir}/@machfile@ 62: S_FILE = ${srcdir}/@opsysfile@ 63: config_h = config.h $(M_FILE) $(S_FILE) 64: 65: # ========================== start of cpp stuff ======================= 66: /* From here on, comments must be done in C syntax. */ 67: 68: C_SWITCH_SYSTEM= 69: 70: /* just to be sure the sh is used */ 71: SHELL=/bin/sh 72: 73: #define THIS_IS_MAKEFILE 74: #define NO_SHORTNAMES 75: #define NOT_C_CODE 76: #include "config.h" 77: 78: /* We will not really call alloca; 79: do not let the file name alloca.c get messed up. */ 80: #ifdef alloca 81: #undef alloca 82: #endif 83: 84: /* Do not let the file name mktime.c get messed up. */ 85: #ifdef mktime 86: #undef mktime 87: #endif 88: 89: /* Use HAVE_X11 as an alias for X11 in this file 90: to avoid problems with X11 as a subdirectory name 91: in -I and other such options which pass through this file. */ 92: 93: #ifdef X11 94: #define HAVE_X11 95: #undef X11 96: #endif 97: 98: /* On some machines #define register is done in config; 99: do not let it interfere with this file. */ 100: #undef register 101: 102: /* On some systems we may not be able to use the system make command. */ 103: #ifdef MAKE_COMMAND 104: MAKE = MAKE_COMMAND 105: #endif 106: 107: #ifdef C_COMPILER 108: CC = C_COMPILER 109: #endif 110: 111: /* GNU libc requires ORDINARY_LINK so that its own crt0 is used. 112: GNU/Linux is an exception because it uses a funny variant of GNU libc. */ 113: #ifdef __GNU_LIBRARY__ 114: #ifndef GNU_LINUX 115: #define ORDINARY_LINK 116: #endif 117: #endif 118: 119: /* Some machines do not find the standard C libraries in the usual place. */ 120: #ifndef ORDINARY_LINK 121: #ifndef LIB_STANDARD 122: #define LIB_STANDARD -lc 123: #endif 124: #else 125: #ifndef LIB_STANDARD 126: #define LIB_STANDARD 127: #endif 128: #endif 129: 130: /* Unless inhibited or changed, use -lg to link for debugging. */ 131: #ifndef LIBS_DEBUG 132: #define LIBS_DEBUG -lg 133: #endif 134: 135: /* Some s/SYSTEM.h files define this to request special libraries. */ 136: #ifndef LIBS_SYSTEM 137: #define LIBS_SYSTEM 138: #endif 139: 140: /* Some m/MACHINE.h files define this to request special libraries. */ 141: #ifndef LIBS_MACHINE 142: #define LIBS_MACHINE 143: #endif 144: 145: #ifndef LIB_MATH 146: # define LIB_MATH -lm 147: #endif /* LIB_MATH */ 148: 149: /* Some s/SYSTEM.h files define this to request special switches in ld. */ 150: #ifndef LD_SWITCH_SYSTEM 151: #if !defined (__GNUC__) && (defined(COFF_ENCAPSULATE) || (defined (BSD_SYSTEM) && !defined (COFF))) 152: #define LD_SWITCH_SYSTEM -X 153: #else /* ! defined(COFF_ENCAPSULATE) || (defined (BSD_SYSTEM) && !defined (COFF)) */ 154: #define LD_SWITCH_SYSTEM 155: #endif /* ! defined(COFF_ENCAPSULATE) || (defined (BSD_SYSTEM) && !defined (COFF)) */ 156: #endif /* LD_SWITCH_SYSTEM */ 157: 158: /* This holds special options for linking temacs 159: that should be used for linking anything else. */ 160: #ifndef LD_SWITCH_SYSTEM_TEMACS 161: #define LD_SWITCH_SYSTEM_TEMACS 162: #endif 163: 164: /* Some s/SYSTEM.h files define this to request special switches 165: for compiling temacs. */ 166: #ifndef C_SWITCH_SYSTEM_TEMACS 167: #define C_SWITCH_SYSTEM_TEMACS 168: #endif 169: 170: /* Some m/MACHINE.h files define this to request special switches in ld. */ 171: #ifndef LD_SWITCH_MACHINE 172: #define LD_SWITCH_MACHINE 173: #endif 174: 175: /* This holds special options for linking temacs 176: that should be used for linking anything else. */ 177: #ifndef LD_SWITCH_MACHINE_TEMACS 178: #define LD_SWITCH_MACHINE_TEMACS 179: #endif 180: 181: /* Some m/MACHINE.h files define this to request special switches in cc. */ 182: #ifndef C_SWITCH_MACHINE 183: #define C_SWITCH_MACHINE 184: #endif 185: 186: /* Some s/SYSTEM.h files define this to request special switches in cc. */ 187: #ifndef C_SWITCH_SYSTEM 188: #define C_SWITCH_SYSTEM 189: #endif 190: 191: /* These macros are for switches specifically related to X Windows. */ 192: #ifndef C_SWITCH_X_MACHINE 193: #define C_SWITCH_X_MACHINE 194: #endif 195: 196: #ifndef C_SWITCH_X_SYSTEM 197: #define C_SWITCH_X_SYSTEM 198: #endif 199: 200: #ifndef C_SWITCH_X_SITE 201: #define C_SWITCH_X_SITE 202: #endif 203: 204: #ifndef LD_SWITCH_X_SITE 205: #define LD_SWITCH_X_SITE 206: #endif 207: 208: #ifndef LD_SWITCH_X_DEFAULT 209: #define LD_SWITCH_X_DEFAULT 210: #endif 211: 212: /* These can be passed in from config.h to define special load and 213: compile switches needed by individual sites */ 214: #ifndef LD_SWITCH_SITE 215: #define LD_SWITCH_SITE 216: #endif 217: 218: #ifndef C_SWITCH_SITE 219: #define C_SWITCH_SITE 220: #endif 221: 222: #ifndef ORDINARY_LINK 223: 224: #ifndef CRT0_COMPILE 225: #define CRT0_COMPILE $(CC) -c $(ALL_CFLAGS) C_SWITCH_ASM 226: #endif 227: 228: #ifndef START_FILES 229: #ifdef NO_REMAP 230: #ifdef COFF_ENCAPSULATE 231: #define START_FILES pre-crt0.o /usr/local/lib/gcc-crt0.o 232: #else /* ! defined (COFF_ENCAPSULATE) */ 233: #define START_FILES pre-crt0.o /lib/crt0.o 234: #endif /* ! defined (COFF_ENCAPSULATE) */ 235: #else /* ! defined (NO_REMAP) */ 236: #define START_FILES ecrt0.o 237: #endif /* ! defined (NO_REMAP) */ 238: #endif /* START_FILES */ 239: STARTFILES = START_FILES 240: 241: #else /* ORDINARY_LINK */ 242: 243: /* config.h might want to force START_FILES anyway */ 244: #ifdef START_FILES 245: STARTFILES = START_FILES 246: #endif /* START_FILES */ 247: 248: #endif /* not ORDINARY_LINK */ 249: 250: 251: /* cc switches needed to make ``asm'' keyword work. 252: Nothing special needed on most machines. */ 253: #ifndef C_SWITCH_ASM 254: #define C_SWITCH_ASM 255: #endif 256: 257: #if HAVE_GTK 258: #define USE_GTK 259: TOOLKIT_DEFINES = -DUSE_GTK 260: #endif 261: 262: #ifdef USE_X_TOOLKIT 263: #define USE_@X_TOOLKIT_TYPE@ 264: TOOLKIT_DEFINES = -DUSE_@X_TOOLKIT_TYPE@ 265: #else 266: #ifndef USE_GTK 267: TOOLKIT_DEFINES = 268: #endif 269: #endif 270: 271: /* DO NOT use -R. There is a special hack described in lastfile.c 272: which is used instead. Some initialized data areas are modified 273: at initial startup, then labeled as part of the text area when 274: Emacs is dumped for the first time, and never changed again. */ 275: 276: /* -Demacs is needed to make some files produce the correct version 277: for use in Emacs. 278: 279: -DHAVE_CONFIG_H is needed for some other files to take advantage of 280: the information in ``config.h''. */ 281: 282: /* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM 283: since it may have -I options that should override those two. */ 284: ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${CFLAGS} 285: .c.o: 286: $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< 287: 288: #ifndef LIBX10_MACHINE 289: #define LIBX10_MACHINE 290: #endif 291: 292: #ifndef LIBX11_MACHINE 293: #define LIBX11_MACHINE 294: #endif 295: 296: #ifndef LIBX10_SYSTEM 297: #define LIBX10_SYSTEM 298: #endif 299: 300: #ifndef LIBX11_SYSTEM 301: #define LIBX11_SYSTEM 302: #endif 303: 304: #ifndef LIB_X11_LIB 305: #define LIB_X11_LIB -lX11 306: #endif 307: 308: /* xmenu.c should not be compiled on OSX. */ 309: #ifndef HAVE_CARBON 310: XMENU_OBJ = xmenu.o 311: #endif 312: 313: #ifdef HAVE_X_WINDOWS 314: 315: XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o 316: 317: #ifdef HAVE_MENUS 318: 319: #ifdef USE_GTK 320: GTK_OBJ= gtkutil.o 321: #endif 322: 323: /* The X Menu stuff is present in the X10 distribution, but missing 324: from X11. If we have X10, just use the installed library; 325: otherwise, use our own copy. */ 326: #ifdef HAVE_X11 327: #ifdef USE_X_TOOLKIT 328: OLDXMENU=${lwlibdir}liblw.a 329: LIBXMENU= $(OLDXMENU) 330: #else /* not USE_X_TOOLKIT */ 331: OLDXMENU= ${oldXMenudir}libXMenu11.a 332: LIBXMENU= $(OLDXMENU) 333: #endif /* not USE_X_TOOLKIT */ 334: #else /* not HAVE_X11 */ 335: LIBXMENU= -lXMenu 336: #endif /* not HAVE_X11 */ 337: 338: #else /* not HAVE_MENUS */ 339: 340: /* Otherwise, do not worry about the menu library at all. */ 341: LIBXMENU= 342: #endif /* not HAVE_MENUS */ 343: 344: #ifdef USE_X_TOOLKIT 345: #define @X_TOOLKIT_TYPE@ 346: #if defined (LUCID) || defined (ATHENA) 347: #if HAVE_XAW3D 348: LIBW= -lXaw3d 349: #else 350: LIBW= -lXaw 351: #endif 352: #endif 353: #ifdef MOTIF 354: #if defined (HAVE_MOTIF_2_1) && defined (HAVE_LIBXP) 355: #define LIB_MOTIF_EXTRA -lXp 356: #else 357: #define LIB_MOTIF_EXTRA 358: #endif 359: #ifdef LIB_MOTIF 360: LIBW= LIB_MOTIF LIB_MOTIF_EXTRA 361: #else 362: LIBW= -lXm LIB_MOTIF_EXTRA 363: #endif 364: #endif 365: #ifdef OPEN_LOOK 366: LIBW= -lXol 367: #endif 368: 369: #ifdef HAVE_X11XTR6 370: #ifdef NEED_LIBW 371: LIBXTR6 = -lSM -lICE -lw 372: #else 373: LIBXTR6 = -lSM -lICE 374: #endif 375: #endif 376: 377: #ifndef LIBXMU 378: #define LIBXMU -lXmu 379: #endif 380: 381: #ifdef LIBXT_STATIC 382: /* We assume the config files have defined STATIC_OPTION 383: since that might depend on the operating system. 384: (Do not forget you need different definitions with and without __GNUC__.) */ 385: LIBXT= STATIC_OPTION $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext DYNAMIC_OPTION 386: #else /* not LIBXT_STATIC */ 387: LIBXT= $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext 388: #endif /* not LIBXT_STATIC */ 389: 390: #else /* not USE_X_TOOLKIT */ 391: 392: #ifdef USE_GTK 393: LIBW=@GTK_LIBS@ 394: OLDXMENU= 395: LIBXMENU= 396: #endif /* USE_GTK */ 397: 398: #ifdef HAVE_X_SM 399: LIBXT=$(LIBW) -lSM -lICE 400: #else 401: LIBXT=$(LIBW) 402: #endif 403: #endif /* not USE_X_TOOLKIT */ 404: 405: #if HAVE_XFT 406: XFT_LIBS=@XFT_LIBS@ 407: #endif /* HAVE_XFT */ 408: 409: #if HAVE_XPM 410: #ifndef LIBXPM 411: #define LIBXPM -lXpm 412: #endif /* not defined LIBXPM */ 413: #else /* not HAVE_XPM */ 414: #define LIBXPM 415: #endif /* not HAVE_XPM */ 416: 417: #if HAVE_JPEG 418: #ifndef LIBJPEG 419: #define LIBJPEG -ljpeg 420: #endif /* not defined LIBJPEG */ 421: #else /* not HAVE_JPEG */ 422: #define LIBJPEG 423: #endif /* not HAVE_JPEG */ 424: 425: #if HAVE_PNG 426: #ifndef LIBPNG 427: #define LIBPNG -lpng -lz -lm 428: #endif /* not defined LIBPNG */ 429: #else /* not HAVE_PNG */ 430: #define LIBPNG 431: #endif /* not HAVE_PNG */ 432: 433: #if HAVE_TIFF 434: #ifndef LIBTIFF 435: #define LIBTIFF -ltiff 436: #endif /* not defined LIBTIFF */ 437: #else /* not HAVE_TIFF */ 438: #define LIBTIFF 439: #endif /* not HAVE_TIFF */ 440: 441: #if HAVE_GIF 442: #ifndef LIBGIF 443: #define LIBGIF -lungif 444: #endif /* not defined LIBGIF */ 445: #else /* not HAVE_GIF */ 446: #define LIBGIF 447: #endif /* not HAVE_GIF */ 448: 449: #ifdef HAVE_X11 450: /* LD_SWITCH_X_DEFAULT comes after everything else that specifies 451: options for where to find X libraries, but before those libraries. */ 452: X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT 453: LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM $(XFT_LIBS) 454: #else /* not HAVE_X11 */ 455: LIBX= $(LIBXMENU) LD_SWITCH_X_SITE -lX10 LIBX10_MACHINE LIBX10_SYSTEM 456: #endif /* not HAVE_X11 */ 457: #else /* not HAVE_X_WINDOWS */ 458: #endif /* not HAVE_X_WINDOWS */ 459: 460: LIBSOUND= @LIBSOUND@ 461: CFLAGS_SOUND= @CFLAGS_SOUND@ 462: 463: #ifndef ORDINARY_LINK 464: /* Fix linking if compiled with GCC. */ 465: #ifdef __GNUC__ 466: 467: #if __GNUC__ > 1 468: 469: #ifdef LINKER 470: #define LINKER_WAS_SPECIFIED 471: #endif 472: 473: /* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure 474: places that are difficult to figure out at make time. Fortunately, 475: these same versions allow you to pass arbitrary flags on to the 476: linker, so there is no reason not to use it as a linker. 477: 478: Well, it is not quite perfect. The "-nostdlib" keeps GCC from 479: searching for libraries in its internal directories, so we have to 480: ask GCC explicitly where to find libgcc.a. */ 481: 482: #ifndef LINKER 483: #define LINKER $(CC) -nostdlib 484: #endif 485: 486: #ifndef LIB_GCC 487: /* Ask GCC where to find libgcc.a. */ 488: #define LIB_GCC `$(CC) -print-libgcc-file-name` 489: #endif /* not LIB_GCC */ 490: 491: GNULIB_VAR = LIB_GCC 492: 493: #ifndef LINKER_WAS_SPECIFIED 494: /* GCC passes any argument prefixed with -Xlinker directly to the 495: linker. See prefix-args.c for an explanation of why we do not do 496: this with the shell''s ``for'' construct. 497: Note that some people do not have '.' in their paths, so we must 498: use ./prefix-args. */ 499: #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` 500: #else 501: #define YMF_PASS_LDFLAGS(flags) flags 502: #endif 503: 504: #else /* __GNUC__ < 2 */ 505: 506: #ifndef LIB_GCC 507: #define LIB_GCC /usr/local/lib/gcc-gnulib 508: #endif /* not LIB_GCC */ 509: GNULIB_VAR = `if [ -f LIB_GCC ] ; then echo LIB_GCC; else echo; fi` 510: #endif /* __GNUC__ < 2 */ 511: #else /* not __GNUC__ */ 512: GNULIB_VAR = 513: 514: #endif /* not __GNUC__ */ 515: #endif /* not ORDINARY_LINK */ 516: 517: /* Specify address for ld to start loading at, 518: if requested by configuration. */ 519: #ifdef LD_TEXT_START_ADDR 520: STARTFLAGS = -T LD_TEXT_START_ADDR -e __start 521: #endif 522: 523: #ifdef ORDINARY_LINK 524: LD = $(CC) 525: #else 526: #ifdef COFF_ENCAPSULATE 527: LD=$(CC) -nostdlib 528: #else /* not ORDINARY_LINK */ 529: #ifdef LINKER 530: LD=LINKER 531: #else /* not LINKER */ 532: LD=ld 533: #endif /* not LINKER */ 534: #endif /* not COFF_ENCAPSULATE */ 535: #endif /* not ORDINARY_LINK */ 536: 537: /* Flags to pass to LD only for temacs. */ 538: /* Do not split this line with a backslash. That can cause trouble with 539: some cpps. */ 540: TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE 541: 542: /* A macro which other sections of Makefile can redefine to munge the 543: flags before they are passed to LD. This is helpful if you have 544: redefined LD to something odd, like "gcc". 545: (The YMF prefix is a holdover from the old name "ymakefile".) 546: */ 547: #ifndef YMF_PASS_LDFLAGS 548: #define YMF_PASS_LDFLAGS(flags) flags 549: #endif 550: 551: /* Allow config.h to specify a replacement file for unexec.c. */ 552: #ifndef UNEXEC 553: #define UNEXEC unexec.o 554: #endif 555: #ifndef UNEXEC_SRC 556: #define UNEXEC_SRC unexec.c 557: #endif 558: 559: INTERVAL_SRC = intervals.h composite.h 560: 561: GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ 562: 563: #ifdef MSDOS 564: #ifdef HAVE_X_WINDOWS 565: MSDOS_OBJ = dosfns.o msdos.o 566: #else 567: MSDOS_OBJ = dosfns.o msdos.o w16select.o 568: #endif 569: #endif 570: 571: #ifdef CYGWIN 572: CYGWIN_OBJ = sheap.o 573: #endif 574: 575: #ifdef HAVE_CARBON 576: mac = $(dot)$(dot)/mac/ 577: MAC_OBJ = mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o fringe.o image.o 578: emacsapp = $(PWD)/$(mac)Emacs.app/ 579: emacsappsrc = ${srcdir}/../mac/Emacs.app/ 580: #endif 581: 582: /* lastfile must follow all files 583: whose initialized data areas should be dumped as pure by dump-emacs. */ 584: obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \ 585: charset.o coding.o category.o ccl.o \ 586: cm.o term.o xfaces.o $(XOBJ) $(GTK_OBJ)\ 587: emacs.o keyboard.o macros.o keymap.o sysdep.o \ 588: buffer.o filelock.o insdel.o marker.o \ 589: minibuf.o fileio.o dired.o filemode.o \ 590: cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ 591: alloc.o data.o doc.o editfns.o callint.o \ 592: eval.o floatfns.o fns.o print.o lread.o \ 593: abbrev.o syntax.o UNEXEC bytecode.o \ 594: process.o callproc.o \ 595: region-cache.o sound.o atimer.o \ 596: doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ 597: $(MSDOS_OBJ) $(MAC_OBJ) $(CYGWIN_OBJ) 598: 599: /* Object files used on some machine or other. 600: These go in the DOC file on all machines 601: in case they are needed there. */ 602: SOME_MACHINE_OBJECTS = sunfns.o dosfns.o msdos.o \ 603: xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ 604: mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \ 605: w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o \ 606: w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o 607: 608: 609: #ifdef TERMINFO 610: /* Used to be -ltermcap here. If your machine needs that, 611: define LIBS_TERMCAP in the m/MACHINE.h file. */ 612: #ifndef LIBS_TERMCAP 613: #define LIBS_TERMCAP -lcurses 614: #endif /* LIBS_TERMCAP */ 615: termcapobj = terminfo.o 616: #else /* ! defined (TERMINFO) */ 617: #ifndef LIBS_TERMCAP 618: #define LIBS_TERMCAP 619: termcapobj = termcap.o tparam.o 620: #else /* LIBS_TERMCAP */ 621: termcapobj = tparam.o 622: #endif /* LIBS_TERMCAP */ 623: #endif /* ! defined (TERMINFO) */ 624: 625: 626: #ifndef SYSTEM_MALLOC 627: 628: #ifndef DOUG_LEA_MALLOC 629: gmallocobj = gmalloc.o 630: #endif 631: 632: #ifdef REL_ALLOC 633: rallocobj = ralloc.o 634: #endif 635: 636: mallocobj = $(gmallocobj) $(rallocobj) vm-limit.o 637: 638: #endif /* SYSTEM_MALLOC */ 639: 640: 641: #ifndef HAVE_ALLOCA 642: allocaobj = alloca.o 643: #else 644: allocaobj = 645: #endif 646: 647: #ifdef USE_X_TOOLKIT 648: widgetobj= widget.o 649: #else /* not USE_X_TOOLKIT */ 650: widgetobj= 651: #endif /* not USE_X_TOOLKIT */ 652: 653: 654: /* define otherobj as list of object files that make-docfile 655: should not be told about. */ 656: #ifdef CYGWIN 657: /* Cygwin differs because of its unexec(). */ 658: otherobj= $(termcapobj) $(gmallocobj) $(rallocobj) lastfile.o vm-limit.o $(allocaobj) $(widgetobj) $(LIBOBJS) 659: #else 660: otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj) $(LIBOBJS) 661: #endif 662: 663: #ifdef HAVE_MOUSE 664: #define MOUSE_SUPPORT ${lispsource}mouse.elc \ 665: ${lispsource}select.elc ${lispsource}scroll-bar.elc 666: #else 667: #define MOUSE_SUPPORT 668: #endif 669: 670: #ifdef VMS 671: #define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc 672: #else 673: #define VMS_SUPPORT 674: #endif 675: 676: #ifdef MSDOS 677: #define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ 678: ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \ 679: ${lispsource}international/ccl.elc ${lispsource}international/codepage.elc 680: 681: #else 682: #define MSDOS_SUPPORT 683: #endif 684: 685: #ifdef HAVE_WINDOW_SYSTEM 686: #ifdef HAVE_X_WINDOWS 687: #define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \ 688: ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ 689: ${lispsource}tool-bar.elc ${lispsource}mwheel.elc ${lispsource}x-dnd.elc 690: #else 691: #define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \ 692: ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ 693: ${lispsource}tool-bar.elc ${lispsource}mwheel.elc 694: #endif 695: #else 696: #define WINDOW_SUPPORT 697: #endif 698: 699: #ifdef WINDOWSNT 700: #define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ 701: ${lispsource}dos-w32.elc ${lispsource}w32-vars.elc \ 702: ${lispsource}w32-fns.elc 703: #else 704: #define WINNT_SUPPORT 705: #endif 706: 707: #ifdef HAVE_WINDOW_SYSTEM 708: #define TOOLTIP_SUPPORT ${lispsource}tooltip.elc 709: #else 710: #define TOOLTIP_SUPPORT 711: #endif 712: 713: /* List of Lisp files loaded into the dumped Emacs. It is arranged 714: like this because it is easier to generate it semi-mechanically from 715: loadup.el this way. 716: 717: Note that this list should not include lisp files which might not 718: be present, like site-load.el and site-init.el; this makefile 719: expects them all to be either present or buildable. 720: 721: Files which are loaded unconditionally should be in shortlisp as well. 722: Files included conditionally here should be included (unconditionally) 723: in SOME_MACHINE_LISP. */ 724: 725: lisp= \ 726: ${lispsource}abbrev.elc \ 727: ${lispsource}buff-menu.elc \ 728: ${lispsource}button.elc \ 729: ${lispsource}emacs-lisp/byte-run.elc \ 730: ${lispsource}cus-face.elc \ 731: ${lispsource}cus-start.elc \ 732: ${lispsource}custom.elc \ 733: ${lispsource}emacs-lisp/backquote.elc \ 734: ${lispsource}emacs-lisp/lisp-mode.elc \ 735: ${lispsource}emacs-lisp/lisp.elc \ 736: ${lispsource}env.elc \ 737: ${lispsource}faces.elc \ 738: ${lispsource}files.elc \ 739: ${lispsource}format.elc \ 740: ${lispsource}facemenu.elc \ 741: MOUSE_SUPPORT \ 742: ${lispsource}emacs-lisp/float-sup.elc \ 743: ${lispsource}frame.elc \ 744: ${lispsource}help.elc \ 745: ${lispsource}indent.elc \ 746: ${lispsource}isearch.elc \ 747: ${lispsource}rfn-eshadow.elc \ 748: ${lispsource}loadup.el \ 749: ${lispsource}loaddefs.el \ 750: ${lispsource}bindings.elc \ 751: ${lispsource}emacs-lisp/map-ynp.elc \ 752: ${lispsource}menu-bar.elc \ 753: ${lispsource}international/mule.elc \ 754: ${lispsource}international/mule-conf.el \ 755: ${lispsource}international/mule-cmds.elc \ 756: ${lispsource}international/characters.elc \ 757: ${lispsource}international/ucs-tables.elc \ 758: ${lispsource}international/utf-8.elc \ 759: ${lispsource}international/utf-16.elc \ 760: ${lispsource}international/latin-1.el \ 761: ${lispsource}international/latin-2.el \ 762: ${lispsource}international/latin-3.el \ 763: ${lispsource}international/latin-4.el \ 764: ${lispsource}international/latin-5.el \ 765: ${lispsource}international/latin-8.el \ 766: ${lispsource}international/latin-9.el \ 767: ${lispsource}case-table.elc \ 768: ${lispsource}language/chinese.elc \ 769: ${lispsource}language/cyrillic.elc \ 770: ${lispsource}language/indian.elc \ 771: ${lispsource}language/devanagari.el \ 772: ${lispsource}language/kannada.el \ 773: ${lispsource}language/malayalam.el \ 774: ${lispsource}language/tamil.el \ 775: ${lispsource}language/english.el \ 776: ${lispsource}language/ethiopic.elc \ 777: ${lispsource}language/european.elc \ 778: ${lispsource}language/czech.el \ 779: ${lispsource}language/slovak.el \ 780: ${lispsource}language/romanian.el \ 781: ${lispsource}language/greek.el \ 782: ${lispsource}language/hebrew.el \ 783: ${lispsource}language/japanese.el \ 784: ${lispsource}language/korean.el \ 785: ${lispsource}language/lao.el \ 786: ${lispsource}language/thai.el \ 787: ${lispsource}language/tibetan.elc \ 788: ${lispsource}language/vietnamese.elc \ 789: ${lispsource}language/misc-lang.el \ 790: ${lispsource}language/utf-8-lang.el \ 791: ${lispsource}language/georgian.el \ 792: ${lispsource}paths.el \ 793: ${lispsource}register.elc \ 794: ${lispsource}replace.elc \ 795: ${lispsource}simple.elc \ 796: ${lispsource}startup.elc \ 797: ${lispsource}subr.elc \ 798: ${lispsource}term/tty-colors.elc \ 799: ${lispsource}font-core.elc \ 800: ${lispsource}emacs-lisp/syntax.elc \ 801: ${lispsource}font-lock.elc \ 802: ${lispsource}jit-lock.elc \ 803: ${lispsource}textmodes/fill.elc \ 804: ${lispsource}textmodes/page.elc \ 805: ${lispsource}textmodes/paragraphs.elc \ 806: ${lispsource}textmodes/text-mode.elc \ 807: ${lispsource}emacs-lisp/timer.elc \ 808: ${lispsource}jka-cmpr-hook.elc \ 809: ${lispsource}vc-hooks.elc \ 810: ${lispsource}ediff-hook.elc \ 811: TOOLTIP_SUPPORT \ 812: VMS_SUPPORT \ 813: MSDOS_SUPPORT \ 814: WINNT_SUPPORT \ 815: WINDOW_SUPPORT \ 816: ${lispsource}widget.elc \ 817: ${lispsource}window.elc \ 818: ${lispsource}version.el