1 # Makefile for Microsoft NMAKE
2 # Copyright (C) 1995 Board of Trustees, University of Illinois.
3 # Copyright (C) 1995, 1996 Ben Wing.
4 # Copyright (C) 1995 Sun Microsystems, Inc.
5 # Copyright (C) 1998 Free Software Foundation, Inc.
7 # This file is part of XEmacs.
9 # XEmacs is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by the
11 # Free Software Foundation; either version 2, or (at your option) any
14 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
15 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19 # You should have received a copy of the GNU General Public License
20 # along with XEmacs; see the file COPYING. If not, write to
21 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 # Boston, MA 02111-1307, USA.
24 # Synched up with: Not in FSF.
31 # Program name and version
33 !include "..\version.sh"
35 !if !defined(INFODOCK)
40 INFODOCK_VERSION_STRING=$(infodock_major_version).$(infodock_minor_version).$(infodock_build_version)
41 PROGRAM_DEFINES=-DINFODOCK \
42 -DPATH_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
43 -DPATH_PROGNAME=\"infodock\" \
44 -DINFODOCK_MAJOR_VERSION=$(infodock_major_version) \
45 -DINFODOCK_MINOR_VERSION=$(infodock_minor_version) \
46 -DINFODOCK_BUILD_VERSION=$(infodock_build_version)
48 !if "$(emacs_beta_version)" != ""
49 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)-b$(emacs_beta_version)
51 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)
54 -DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" \
55 -DPATH_PROGNAME=\"xemacs\"
59 # Command line options defaults
61 !if !defined(INSTALL_DIR)
63 INSTALL_DIR=c:\Program Files\Infodock\Infodock-$(INFODOCK_VERSION_STRING)
65 INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
68 !if !defined(PACKAGEPATH)
69 PATH_PACKAGEPATH="c:\\Program Files\\XEmacs\\packages"
71 PATH_PACKAGEPATH="$(PACKAGEPATH)"
73 !if !defined(HAVE_MSW)
79 !if !defined(HAVE_MULE)
82 !if !defined(HAVE_XPM)
85 !if !defined(HAVE_TOOLBARS)
86 HAVE_TOOLBARS=$(HAVE_XPM)
88 !if !defined(HAVE_DIALOGS)
91 !if !defined(HAVE_MSW_C_DIRED)
94 !if !defined(HAVE_NATIVE_SOUND)
97 !if !defined(DEBUG_XEMACS)
100 !if !defined(USE_UNION_TYPE)
103 !if !defined(USE_MINIMAL_TAGBITS)
104 USE_MINIMAL_TAGBITS=0
106 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
107 USE_INDEXED_LRECORD_IMPLEMENTATION=0
111 # System configuration
113 !if !defined(PROCESSOR_ARCHITECTURE) && "$(OS)" != "Windows_NT"
114 EMACS_CONFIGURATION=i386-pc-win32
115 !else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
116 EMACS_CONFIGURATION=i386-pc-win32
117 !else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
118 EMACS_CONFIGURATION=mips-pc-win32
119 !else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
120 EMACS_CONFIGURATION=alpha-pc-win32
121 !else if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
122 EMACS_CONFIGURATION=ppc-pc-win32
124 ! error Unknown processor architecture type $(PROCESSOR_ARCHITECTURE)
131 !if $(INFODOCK) && !exist("..\..\Infodock.rules")
132 !message Cannot build InfoDock without InfoDock sources
135 !if !$(HAVE_MSW) && !$(HAVE_X)
136 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1
139 !if $(HAVE_X) && !defined(X11_DIR)
140 !message Please specify root directory for your X11 installation: X11_DIR=path
143 !if $(HAVE_X) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
144 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
147 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR)
148 !message Please specify root directory for your XPM installation: XPM_DIR=path
151 !if $(HAVE_MSW) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
152 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
155 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
156 !error Toolbars require XPM support
160 !error Configuration error(s) found
167 USE_MINIMAL_TAGBITS=$(GUNG_HO)
168 USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
172 # Small configuration report
174 !if !defined(CONF_REPORT_ALREADY_PRINTED)
175 !if [set CONF_REPORT_ALREADY_PRINTED=1]
177 !message ------------------------------------------------
178 !message Configured for "$(EMACS_CONFIGURATION)".
180 !message Installation directory is "$(INSTALL_DIR)".
181 !message Package path is $(PATH_PACKAGEPATH).
184 !message Building InfoDock.
187 !message Compiling in support for native GUI.
190 !message Compiling in support for X-Windows.
193 !message Compiling in MULE.
196 !message Compiling in support for XPM images.
199 !message Compiling in support for toolbars.
202 !message Compiling in support for dialogs.
204 !if $(HAVE_NATIVE_SOUND)
205 !message Compiling in support for native sounds.
207 !if $(HAVE_MSW_C_DIRED)
208 # Define HAVE_MSW_C_DIRED to be non-zero if you want XEmacs to use C
209 # primitives to significantly speed up dired, at the expense of an
210 # additional ~4KB of code.
211 !message Compiling in fast dired implementation.
213 !if $(USE_MINIMAL_TAGBITS)
214 !message Using minimal tagbits.
216 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
217 !message Using indexed lrecord implementation.
219 !if $(USE_UNION_TYPE)
220 !message Using union type for Lisp object storage.
223 !message Compiling in extra debug checks. XEmacs will be slow!
225 !message ------------------------------------------------
227 !endif # !defined(CONF_REPORT_ALREADY_PRINTED)
230 # Compiler command echo control. Define VERBOSECC=1 to get vebose compilation.
232 !if !defined(VERBOSECC)
250 X_DEFINES=-DHAVE_X_WINDOWS
251 X_INCLUDES=-I$(X11_DIR)\include
252 X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib
256 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
259 !if $(HAVE_MSW_C_DIRED)
260 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
261 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c
262 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
265 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
266 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
267 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
270 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
271 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
272 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
273 MSW_LIBS=$(MSW_LIBS) comctl32.lib
276 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
277 MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c
278 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
280 !if $(HAVE_NATIVE_SOUND)
281 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
290 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG
291 DEBUG_FLAGS= -debugtype:both -debug:full
294 !if $(USE_MINIMAL_TAGBITS)
295 TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
297 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
298 LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
300 !if $(USE_UNION_TYPE)
301 UNION_DEFINES=-DUSE_UNION_TYPE
312 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
316 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib
318 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
319 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
320 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
321 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
325 #------------------------------------------------------------------------------
327 default: $(OUTDIR)\nul all
333 $(XEMACS)\src\config.h \
334 $(XEMACS)\src\Emacs.ad.h \
335 $(XEMACS)\src\paths.h \
336 $(XEMACS)\src\puresize-adjust.h
338 $(XEMACS)\src\config.h: config.h
339 copy config.h $(XEMACS)\src
341 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h
342 copy Emacs.ad.h $(XEMACS)\src
344 $(XEMACS)\src\paths.h: paths.h
345 copy paths.h $(XEMACS)\src
347 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h
348 copy puresize-adjust.h $(XEMACS)\src
350 #------------------------------------------------------------------------------
354 LIB_SRC = $(XEMACS)\lib-src
355 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
358 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
360 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) -O2 -W3 -Fe$@ $**
363 # Individual dependencies
364 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
365 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
369 $(LIB_SRC)/make-docfile.exe \
370 $(LIB_SRC)/hexl.exe \
371 $(LIB_SRC)/movemail.exe \
372 $(LIB_SRC)/mmencode.exe \
373 $(LIB_SRC)/sorted-doc.exe \
374 $(LIB_SRC)/wakeup.exe \
377 #------------------------------------------------------------------------------
381 RUNEMACS = $(XEMACS)\src\runemacs.exe
383 $(RUNEMACS): $(NT)\runemacs.c $(NT)\xemacs.res
384 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc -O2 -W3 -Fe$@ $** kernel32.lib user32.lib
386 #------------------------------------------------------------------------------
390 LASTFILE=$(OUTDIR)\lastfile.lib
391 LASTFILE_SRC=$(XEMACS)\src
392 LASTFILE_FLAGS=$(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) -Fo$@ -c
394 $(OUTDIR)\lastfile.obj
396 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
397 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
399 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
400 $(CCV) $(LASTFILE_FLAGS) $**
402 #------------------------------------------------------------------------------
408 LWLIB=$(OUTDIR)\lwlib.lib
409 LWLIB_SRC=$(XEMACS)\lwlib
410 LWLIB_FLAGS=$(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) \
411 -DNEED_ATHENA -DNEED_LUCID \
412 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \
415 $(OUTDIR)\lwlib-config.obj \
416 $(OUTDIR)\lwlib-utils.obj \
417 $(OUTDIR)\lwlib-Xaw.obj \
418 $(OUTDIR)\lwlib-Xlw.obj \
419 $(OUTDIR)\lwlib.obj \
420 $(OUTDIR)\xlwmenu.obj \
421 $(OUTDIR)\xlwscrollbar.obj
423 $(LWLIB): $(LWLIB_OBJS)
424 link.exe -lib -nologo $(DEBUG_FLAGS) -out:$@ $(LWLIB_OBJS)
426 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c
427 $(CCV) $(LWLIB_FLAGS) $**
429 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c
430 $(CCV) $(LWLIB_FLAGS) $**
432 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c
433 $(CCV) $(LWLIB_FLAGS) $**
435 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c
436 $(CCV) $(LWLIB_FLAGS) $**
438 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c
439 $(CCV) $(LWLIB_FLAGS) $**
441 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c
442 $(CCV) $(LWLIB_FLAGS) $**
444 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c
445 $(CCV) $(LWLIB_FLAGS) $**
448 #------------------------------------------------------------------------------
452 $(XEMACS)\src\abbrev.c \
453 $(XEMACS)\src\alloc.c \
454 $(XEMACS)\src\alloca.c \
455 $(XEMACS)\src\blocktype.c \
456 $(XEMACS)\src\buffer.c \
457 $(XEMACS)\src\bytecode.c \
458 $(XEMACS)\src\callint.c \
459 $(XEMACS)\src\callproc.c \
460 $(XEMACS)\src\casefiddle.c \
461 $(XEMACS)\src\casetab.c \
462 $(XEMACS)\src\chartab.c \
463 $(XEMACS)\src\cmdloop.c \
464 $(XEMACS)\src\cmds.c \
465 $(XEMACS)\src\console-stream.c \
466 $(XEMACS)\src\console.c \
467 $(XEMACS)\src\data.c \
468 $(XEMACS)\src\device.c
470 $(XEMACS)\src\dired.c \
471 $(XEMACS)\src\doc.c \
472 $(XEMACS)\src\doprnt.c \
473 $(XEMACS)\src\dragdrop.c \
474 $(XEMACS)\src\dynarr.c \
475 $(XEMACS)\src\editfns.c \
476 $(XEMACS)\src\elhash.c \
477 $(XEMACS)\src\emacs.c \
478 $(XEMACS)\src\eval.c \
479 $(XEMACS)\src\event-stream.c \
480 $(XEMACS)\src\events.c \
481 $(XEMACS)\src\extents.c \
482 $(XEMACS)\src\faces.c \
483 $(XEMACS)\src\file-coding.c \
484 $(XEMACS)\src\fileio.c \
485 $(XEMACS)\src\filelock.c \
486 $(XEMACS)\src\filemode.c \
487 $(XEMACS)\src\floatfns.c \
490 $(XEMACS)\src\font-lock.c \
491 $(XEMACS)\src\frame.c \
492 $(XEMACS)\src\free-hook.c \
493 $(XEMACS)\src\general.c \
494 $(XEMACS)\src\glyphs.c \
495 $(XEMACS)\src\glyphs-eimage.c \
496 $(XEMACS)\src\gmalloc.c \
497 $(XEMACS)\src\gui.c \
498 $(XEMACS)\src\hash.c \
499 $(XEMACS)\src\imgproc.c \
500 $(XEMACS)\src\indent.c \
501 $(XEMACS)\src\insdel.c \
502 $(XEMACS)\src\intl.c \
503 $(XEMACS)\src\keymap.c \
504 $(XEMACS)\src\line-number.c \
505 $(XEMACS)\src\lread.c \
506 $(XEMACS)\src\lstream.c \
507 $(XEMACS)\src\macros.c \
508 $(XEMACS)\src\marker.c
510 $(XEMACS)\src\md5.c \
511 $(XEMACS)\src\menubar.c \
512 $(XEMACS)\src\minibuf.c \
514 $(XEMACS)\src\ntheap.c \
515 $(XEMACS)\src\ntplay.c \
516 $(XEMACS)\src\ntproc.c \
517 $(XEMACS)\src\objects.c \
518 $(XEMACS)\src\opaque.c \
519 $(XEMACS)\src\print.c \
520 $(XEMACS)\src\process.c \
521 $(XEMACS)\src\process-nt.c \
522 $(XEMACS)\src\profile.c \
523 $(XEMACS)\src\pure.c \
524 $(XEMACS)\src\rangetab.c \
525 $(XEMACS)\src\realpath.c \
526 $(XEMACS)\src\redisplay-output.c \
527 $(XEMACS)\src\redisplay.c \
528 $(XEMACS)\src\regex.c \
529 $(XEMACS)\src\scrollbar.c \
530 $(XEMACS)\src\scrollbar-msw.c \
531 $(XEMACS)\src\search.c \
532 $(XEMACS)\src\signal.c \
533 $(XEMACS)\src\sound.c
535 $(XEMACS)\src\specifier.c \
536 $(XEMACS)\src\strftime.c \
537 $(XEMACS)\src\symbols.c \
538 $(XEMACS)\src\syntax.c \
539 $(XEMACS)\src\sysdep.c \
540 $(XEMACS)\src\termcap.c \
541 $(XEMACS)\src\tparam.c \
542 $(XEMACS)\src\undo.c \
543 $(XEMACS)\src\unexnt.c \
544 $(XEMACS)\src\vm-limit.c \
545 $(XEMACS)\src\window.c \
546 $(XEMACS)\src\widget.c
550 $(XEMACS)\src\balloon_help.c \
551 $(XEMACS)\src\console-x.c \
552 $(XEMACS)\src\device-x.c \
553 $(XEMACS)\src\dialog-x.c \
554 $(XEMACS)\src\EmacsFrame.c \
555 $(XEMACS)\src\EmacsManager.c \
556 $(XEMACS)\src\EmacsShell-sub.c\
557 $(XEMACS)\src\EmacsShell.c \
558 $(XEMACS)\src\event-Xt.c \
559 $(XEMACS)\src\frame-x.c \
560 $(XEMACS)\src\glyphs-x.c \
561 $(XEMACS)\src\gui-x.c \
562 $(XEMACS)\src\menubar.c \
563 $(XEMACS)\src\menubar-x.c \
564 $(XEMACS)\src\objects-x.c \
565 $(XEMACS)\src\redisplay-x.c \
566 $(XEMACS)\src\scrollbar-x.c \
567 $(XEMACS)\src\balloon-x.c \
568 $(XEMACS)\src\xgccache.c \
569 $(XEMACS)\src\xmu.c \
570 $(XEMACS)\src\xselect.c
575 $(XEMACS)\src\console-msw.c \
576 $(XEMACS)\src\device-msw.c \
577 $(XEMACS)\src\event-msw.c \
578 $(XEMACS)\src\frame-msw.c \
579 $(XEMACS)\src\glyphs-msw.c \
580 $(XEMACS)\src\menubar-msw.c \
581 $(XEMACS)\src\objects-msw.c \
582 $(XEMACS)\src\redisplay-msw.c \
583 $(XEMACS)\src\scrollbar-msw.c \
584 $(XEMACS)\src\select-msw.c \
592 $(XEMACS)\src\input-method-xlib.c \
593 $(XEMACS)\src\mule.c \
594 $(XEMACS)\src\mule-charset.c \
595 $(XEMACS)\src\mule-ccl.c \
596 $(XEMACS)\src\mule-coding.c
601 $(XEMACS)\src\debug.c
604 #------------------------------------------------------------------------------
609 !if "$(emacs_beta_version)" != ""
610 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
613 TEMACS_DIR=$(XEMACS)\src
614 TEMACS=$(TEMACS_DIR)\temacs.exe
615 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
616 TEMACS_SRC=$(XEMACS)\src
617 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
618 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib \
619 shell32.lib ole32.lib oleaut32.lib uuid.lib wsock32.lib winmm.lib libc.lib
620 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
621 -stack:0x800000 -entry:_start -subsystem:console\
622 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
623 -heap:0x00100000 -out:$@
624 TEMACS_CPP_FLAGS= $(WARN_CPP_FLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
625 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
626 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
627 $(EMACS_BETA_VERSION) \
628 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \
629 -DEMACS_CONFIGURATION=\"$(EMACS_CONFIGURATION)\" \
630 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\"
632 TEMACS_FLAGS=-ML $(WARN_CPP_FALGS) $(OPT) -c $(TEMACS_CPP_FLAGS)
636 $(OUTDIR)\balloon-x.obj \
637 $(OUTDIR)\balloon_help.obj \
638 $(OUTDIR)\console-x.obj \
639 $(OUTDIR)\device-x.obj \
640 $(OUTDIR)\dialog-x.obj \
641 $(OUTDIR)\EmacsFrame.obj \
642 $(OUTDIR)\EmacsManager.obj \
643 $(OUTDIR)\EmacsShell.obj \
644 $(OUTDIR)\TopLevelEmacsShell.obj\
645 $(OUTDIR)\TransientEmacsShell.obj\
646 $(OUTDIR)\event-Xt.obj \
647 $(OUTDIR)\frame-x.obj \
648 $(OUTDIR)\glyphs-x.obj \
649 $(OUTDIR)\gui-x.obj \
650 $(OUTDIR)\menubar-x.obj \
651 $(OUTDIR)\objects-x.obj \
652 $(OUTDIR)\redisplay-x.obj \
653 $(OUTDIR)\scrollbar-x.obj \
654 $(OUTDIR)\xgccache.obj \
656 $(OUTDIR)\xselect.obj
661 $(OUTDIR)\console-msw.obj \
662 $(OUTDIR)\device-msw.obj \
663 $(OUTDIR)\event-msw.obj \
664 $(OUTDIR)\frame-msw.obj \
665 $(OUTDIR)\glyphs-msw.obj \
666 $(OUTDIR)\menubar-msw.obj \
667 $(OUTDIR)\objects-msw.obj \
668 $(OUTDIR)\redisplay-msw.obj \
669 $(OUTDIR)\scrollbar-msw.obj \
670 $(OUTDIR)\select-msw.obj \
679 $(OUTDIR)\input-method-xlib.obj \
681 $(OUTDIR)\mule-charset.obj \
682 $(OUTDIR)\mule-ccl.obj \
683 $(OUTDIR)\mule-coding.obj
694 $(TEMACS_CODING_OBJS)\
696 $(TEMACS_DEBUG_OBJS)\
697 $(OUTDIR)\abbrev.obj \
698 $(OUTDIR)\alloc.obj \
699 $(OUTDIR)\alloca.obj \
700 $(OUTDIR)\blocktype.obj \
701 $(OUTDIR)\buffer.obj \
702 $(OUTDIR)\bytecode.obj \
703 $(OUTDIR)\callint.obj \
704 $(OUTDIR)\callproc.obj \
705 $(OUTDIR)\casefiddle.obj \
706 $(OUTDIR)\casetab.obj \
707 $(OUTDIR)\chartab.obj \
708 $(OUTDIR)\cmdloop.obj \
710 $(OUTDIR)\console-stream.obj \
711 $(OUTDIR)\console.obj \
713 $(OUTDIR)\device.obj \
714 $(OUTDIR)\dired.obj \
716 $(OUTDIR)\doprnt.obj \
717 $(OUTDIR)\dragdrop.obj \
718 $(OUTDIR)\dynarr.obj \
719 $(OUTDIR)\editfns.obj \
720 $(OUTDIR)\elhash.obj \
721 $(OUTDIR)\emacs.obj \
723 $(OUTDIR)\event-stream.obj \
724 $(OUTDIR)\events.obj \
725 $(OUTDIR)\extents.obj \
726 $(OUTDIR)\faces.obj \
727 $(OUTDIR)\file-coding.obj \
728 $(OUTDIR)\fileio.obj \
729 $(OUTDIR)\filelock.obj \
730 $(OUTDIR)\filemode.obj \
731 $(OUTDIR)\floatfns.obj \
733 $(OUTDIR)\font-lock.obj \
734 $(OUTDIR)\frame.obj \
735 $(OUTDIR)\free-hook.obj \
736 $(OUTDIR)\general.obj \
737 $(OUTDIR)\glyphs.obj \
738 $(OUTDIR)\glyphs-eimage.obj \
739 $(OUTDIR)\gmalloc.obj \
742 $(OUTDIR)\indent.obj \
743 $(OUTDIR)\imgproc.obj \
744 $(OUTDIR)\insdel.obj \
746 $(OUTDIR)\keymap.obj \
747 $(OUTDIR)\line-number.obj \
748 $(OUTDIR)\lread.obj \
749 $(OUTDIR)\lstream.obj \
750 $(OUTDIR)\macros.obj \
751 $(OUTDIR)\menubar.obj \
752 $(OUTDIR)\marker.obj \
754 $(OUTDIR)\minibuf.obj \
756 $(OUTDIR)\ntheap.obj \
757 $(OUTDIR)\ntplay.obj \
758 $(OUTDIR)\ntproc.obj \
759 $(OUTDIR)\objects.obj \
760 $(OUTDIR)\opaque.obj \
761 $(OUTDIR)\print.obj \
762 $(OUTDIR)\process.obj \
763 $(OUTDIR)\process-nt.obj \
764 $(OUTDIR)\profile.obj \
766 $(OUTDIR)\rangetab.obj \
767 $(OUTDIR)\realpath.obj \
768 $(OUTDIR)\redisplay-output.obj \
769 $(OUTDIR)\redisplay.obj \
770 $(OUTDIR)\regex.obj \
771 $(OUTDIR)\scrollbar.obj \
772 $(OUTDIR)\search.obj \
773 $(OUTDIR)\signal.obj \
774 $(OUTDIR)\sound.obj \
775 $(OUTDIR)\specifier.obj \
776 $(OUTDIR)\strftime.obj \
777 $(OUTDIR)\symbols.obj \
778 $(OUTDIR)\syntax.obj \
779 $(OUTDIR)\sysdep.obj \
780 $(OUTDIR)\tparam.obj \
782 $(OUTDIR)\unexnt.obj \
783 $(OUTDIR)\vm-limit.obj \
784 $(OUTDIR)\widget.obj \
785 $(OUTDIR)\window.obj \
794 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
795 $(CCV) $(TEMACS_FLAGS) $< -Fo$@ -Fr$*.sbr
797 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
798 $(CCV) $(TEMACS_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@
800 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
801 $(CCV) $(TEMACS_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
803 $(OUTDIR)\pure.obj: $(TEMACS_SRC)\pure.c $(TEMACS_SRC)\puresize-adjust.h
805 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
806 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
808 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
809 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
811 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS)
813 $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS)
816 $(NT)\xemacs.res: xemacs.rc
819 # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless
820 $(TEMACS_BROWSE): $(TEMACS_OBJS)
821 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
822 bscmake -nologo -o$@ @bscmake.tmp
825 #------------------------------------------------------------------------------
831 $(DOC): $(LIB_SRC)\make-docfile.exe
833 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
834 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
835 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
836 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3)
837 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4)
838 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5)
839 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6)
840 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7)
841 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8)
842 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9)
844 $(LISP)\Installation.el: Installation.el
845 copy Installation.el $(LISP)
847 update-elc: $(LISP)\Installation.el
848 set EMACSBOOTSTRAPLOADPATH=$(LISP)
849 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el
851 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
852 # requirements has changed.
853 dump-xemacs: $(TEMACS)
854 @echo >$(TEMACS_DIR)\SATISFIED
856 set EMACSBOOTSTRAPLOADPATH=$(LISP)
857 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
859 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
861 #------------------------------------------------------------------------------
863 # use this rule to build the complete system
864 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \
865 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs
869 # use this rule to install the system
870 install: all "$(INSTALL_DIR)\nul" "$(INSTALL_DIR)\lock\nul"
871 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
872 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
873 @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
874 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
875 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
876 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
877 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
879 "$(INSTALL_DIR)\nul":
880 -@mkdir "$(INSTALL_DIR)"
882 "$(INSTALL_DIR)\lock\nul": "$(INSTALL_DIR)\nul"
883 -@mkdir "$(INSTALL_DIR)\lock"
895 cd $(XEMACS)\$(TEMACS_DIR)
896 del puresize-adjust.h
914 -del /s /q *.bak *.elc *.orig *.rej
917 mkdepend -f xemacs.mak -p$(OUTDIR)\ -o.obj -w9999 -- $(TEMACS_CPP_FLAGS) -- $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(LASTFILE_SRC)\lastfile.c $(LIB_SRC)\make-docfile.c .\runemacs.c
919 # DO NOT DELETE THIS LINE -- make depend depends on it.