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.
27 # Shell escape character. Used for escaping ', ` and " in commands.
32 MODULES=$(XEMACS)\modules
36 # Program name and version
38 !include "..\version.sh"
40 !if !defined(INFODOCK)
45 INFODOCK_VERSION_STRING=$(infodock_major_version).$(infodock_minor_version).$(infodock_build_version)
46 PROGRAM_DEFINES=-DINFODOCK \
47 -DPATH_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
48 -DPATH_PROGNAME=\"infodock\" \
49 -DINFODOCK_MAJOR_VERSION=$(infodock_major_version) \
50 -DINFODOCK_MINOR_VERSION=$(infodock_minor_version) \
51 -DINFODOCK_BUILD_VERSION=$(infodock_build_version)
53 !if "$(emacs_beta_version)" != ""
54 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)-b$(emacs_beta_version)
56 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)
59 -DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" \
60 -DPATH_PROGNAME=\"xemacs\"
64 # Command line options defaults
66 !if !defined(INSTALL_DIR)
68 INSTALL_DIR=c:\Program Files\Infodock\Infodock-$(INFODOCK_VERSION_STRING)
70 INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
73 !if !defined(HAVE_MULE)
76 !if !defined(PACKAGE_PATH)
77 ! if !defined(PACKAGE_PREFIX)
78 PACKAGE_PREFIX=c:\Program Files\XEmacs
81 PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\mule-packages;$(PACKAGE_PREFIX)\xemacs-packages
83 PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\xemacs-packages
86 PATH_PACKAGEPATH="$(PACKAGE_PATH:\=\\)"
87 !if !defined(HAVE_MSW)
93 !if !defined(HAVE_XPM)
96 !if !defined(HAVE_PNG)
99 !if !defined(HAVE_TIFF)
102 !if !defined(HAVE_JPEG)
105 !if !defined(HAVE_XFACE)
108 !if !defined(HAVE_GIF)
111 !if !defined(HAVE_TOOLBARS)
112 HAVE_TOOLBARS=$(HAVE_XPM)
114 !if !defined(HAVE_DIALOGS)
117 !if !defined(HAVE_MSW_C_DIRED)
120 !if !defined(HAVE_NATIVE_SOUND)
123 !if !defined(DEBUG_XEMACS)
126 !if !defined(USE_UNION_TYPE)
129 !if !defined(USE_MINIMAL_TAGBITS)
130 USE_MINIMAL_TAGBITS=0
132 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
133 USE_INDEXED_LRECORD_IMPLEMENTATION=0
137 # System configuration
141 # command.com doesn't like or need '^' as an escape character
143 EMACS_CONFIGURATION=i586-pc-win32
144 !else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
145 EMACS_CONFIGURATION=i586-pc-win32
146 !else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
147 EMACS_CONFIGURATION=mips-pc-win32
148 !else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
149 EMACS_CONFIGURATION=alpha-pc-win32
150 !else if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
151 EMACS_CONFIGURATION=ppc-pc-win32
153 ! error Unknown processor architecture type $(PROCESSOR_ARCHITECTURE)
160 !if $(INFODOCK) && !exist("..\..\Infodock.rules")
161 !message Cannot build InfoDock without InfoDock sources
164 !if !$(HAVE_MSW) && !$(HAVE_X)
165 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1
168 !if $(HAVE_X) && !defined(X11_DIR)
169 !message Please specify root directory for your X11 installation: X11_DIR=path
172 !if $(HAVE_X) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
173 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
176 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR)
177 !message Please specify root directory for your XPM installation: XPM_DIR=path
180 !if $(HAVE_MSW) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
181 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
184 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(PNG_DIR)
185 !message Please specify root directory for your PNG installation: PNG_DIR=path
188 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
189 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
192 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(ZLIB_DIR)
193 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
196 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
197 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
200 !if $(HAVE_MSW) && $(HAVE_TIFF) && !defined(TIFF_DIR)
201 !message Please specify root directory for your TIFF installation: TIFF_DIR=path
204 !if $(HAVE_MSW) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
205 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
208 !if $(HAVE_MSW) && $(HAVE_JPEG) && !defined(JPEG_DIR)
209 !message Please specify root directory for your JPEG installation: JPEG_DIR=path
212 !if $(HAVE_MSW) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
213 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
216 !if $(HAVE_MSW) && $(HAVE_XFACE) && !defined(COMPFACE_DIR)
217 !message Please specify root directory for your COMPFACE installation: COMPFACE_DIR=path
220 !if $(HAVE_MSW) && $(HAVE_XFACE) && !exist("$(COMPFACE_DIR)\libcompface.lib")
221 !message Specified COMPFACE directory does not contain "$(COMPFACE_DIR)\libcompface.lib"
224 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
225 !message Toolbars require XPM support
229 !error Configuration error(s) found
236 USE_MINIMAL_TAGBITS=$(GUNG_HO)
237 USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
241 # Small configuration report
243 !if !defined(CONF_REPORT_ALREADY_PRINTED)
244 !if [set CONF_REPORT_ALREADY_PRINTED=1]
246 !message ------------------------------------------------
247 !message XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) configured for "$(EMACS_CONFIGURATION)".
249 !message Installation directory is "$(INSTALL_DIR)".
250 !message Package path is "$(PACKAGE_PATH)".
253 !message Building InfoDock.
256 !message Compiling in support for native GUI.
259 !message Compiling in support for X-Windows.
262 !message Compiling in MULE.
265 !message Compiling in support for XPM images.
268 !message Compiling in support for GIF images.
271 !message Compiling in support for PNG images.
274 !message Compiling in support for TIFF images.
277 !message Compiling in support for JPEG images.
280 !message Compiling in support for X-Face message headers.
283 !message Compiling in support for toolbars.
286 !message Compiling in support for dialogs.
288 !if $(HAVE_NATIVE_SOUND)
289 !message Compiling in support for native sounds.
291 !if $(HAVE_MSW_C_DIRED)
292 # Define HAVE_MSW_C_DIRED to be non-zero if you want XEmacs to use C
293 # primitives to significantly speed up dired, at the expense of an
294 # additional ~4KB of code.
295 !message Compiling in fast dired implementation.
297 !if $(USE_MINIMAL_TAGBITS)
298 !message Using minimal tagbits.
300 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
301 !message Using indexed lrecord implementation.
303 !if $(USE_UNION_TYPE)
304 !message Using union type for Lisp object storage.
307 !message Compiling in extra debug checks. XEmacs will be slow!
309 !message ------------------------------------------------
311 !endif # !defined(CONF_REPORT_ALREADY_PRINTED)
314 # Compiler command echo control. Define VERBOSECC=1 to get vebose compilation.
316 !if !defined(VERBOSECC)
331 CFLAGS=-nologo -W3 $(OPT)
334 X_DEFINES=-DHAVE_X_WINDOWS
335 X_INCLUDES=-I$(X11_DIR)\include
336 X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib
340 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
343 !if $(HAVE_MSW_C_DIRED)
344 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
345 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c
346 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
349 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
350 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
351 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
354 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
355 MSW_GIF_SRC=$(XEMACS)\src\dgif_lib.c $(XEMACS)\src\gif_io.c
356 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
359 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
360 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
361 MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
364 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
365 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
366 MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
369 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
370 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
371 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
374 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XFACE
375 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)"
376 MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
379 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
380 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
381 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
382 MSW_LIBS=$(MSW_LIBS) comctl32.lib
385 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
386 MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c
387 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
389 !if $(HAVE_NATIVE_SOUND)
390 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
399 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG
400 DEBUG_FLAGS=-debug:full
403 !if $(USE_MINIMAL_TAGBITS)
404 TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
406 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
407 LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
409 !if $(USE_UNION_TYPE)
410 UNION_DEFINES=-DUSE_UNION_TYPE
421 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
425 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib
427 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
428 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
429 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
430 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
433 # Creating simplified versions of Installation and Installation.el
435 # Some values cannot be written on the same line with
436 # their key, since they cannot be put inside an echo command.
437 # Macro substitution (:"=\", :\=\\) can be performed on values in order
438 # to create a legal string in LISP for Installation.el.
440 !if [echo OS: $(OS)>Installation] ||\
441 [echo XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for $(ESC)`$(EMACS_CONFIGURATION)$(ESC)'.>>Installation] ||\
442 [echo Where should the build process find the source code?>>Installation] ||\
443 [echo $(MAKEDIR:\=\\)>>Installation]
445 # Compiler Information
447 [echo What compiler should XEmacs be built with?>>Installation] &&\
448 [echo $(CC) $(CFLAGS)>>Installation]
450 # Window System Information
451 !if [echo What window system should XEmacs use?>>Installation]
453 !if (defined (HAVE_X) && $(HAVE_X) == 1)
454 !if [echo X11>>Installation]
457 !if (defined (HAVE_MSW) && $(HAVE_MSW) == 1)
458 !if [echo MS Windows>>Installation]
461 # Creation of Installation.el
462 !if [type Installation] ||\
463 [echo (setq Installation-string $(ESC)">Installation.el] ||\
464 [type Installation >>Installation.el] ||\
465 [echo $(ESC)")>>Installation.el]
469 #------------------------------------------------------------------------------
471 default: $(OUTDIR)\nul all
477 $(XEMACS)\src\config.h \
478 $(XEMACS)\src\Emacs.ad.h \
479 $(XEMACS)\src\paths.h \
480 $(XEMACS)\src\puresize-adjust.h
482 $(XEMACS)\src\config.h: config.h
483 copy config.h $(XEMACS)\src
485 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h
486 copy Emacs.ad.h $(XEMACS)\src
488 $(XEMACS)\src\paths.h: paths.h
489 copy paths.h $(XEMACS)\src
491 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h
492 copy puresize-adjust.h $(XEMACS)\src
494 #------------------------------------------------------------------------------
498 LIB_SRC = $(XEMACS)\lib-src
499 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
502 # Creating config.values to be used by config.el
504 CONFIG_VALUES = $(LIB_SRC)\config.values
505 !if [echo Creating $(CONFIG_VALUES) && echo ;;; Do not edit this file!>$(CONFIG_VALUES)]
507 # MAKEDIR has to be made into a string.
508 !if [echo blddir>>$(CONFIG_VALUES) && echo $(ESC)"$(MAKEDIR:\=\\)\\..$(ESC)">>$(CONFIG_VALUES)]
510 !if [echo CC>>$(CONFIG_VALUES) && echo $(ESC)"$(CC:\=\\)$(ESC)">>$(CONFIG_VALUES)]
512 !if [echo CFLAGS>>$(CONFIG_VALUES) && echo $(ESC)"$(CFLAGS:\=\\)$(ESC)">>$(CONFIG_VALUES)]
514 !if [echo CPP>>$(CONFIG_VALUES) && echo $(ESC)"$(CPP:\=\\)$(ESC)">>$(CONFIG_VALUES)]
516 !if [echo CPPFLAGS>>$(CONFIG_VALUES) && echo $(ESC)"$(CPPFLAGS:\=\\)$(ESC)">>$(CONFIG_VALUES)]
518 !if [echo LISPDIR>>$(CONFIG_VALUES) && echo $(ESC)"$(MAKEDIR:\=\\)\\$(LISP:\=\\)$(ESC)">>$(CONFIG_VALUES)]
520 # PATH_PACKAGEPATH is already a quoted string.
521 !if [echo PACKAGE_PATH>>$(CONFIG_VALUES) && echo $(PATH_PACKAGEPATH)>>$(CONFIG_VALUES)]
525 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
527 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** -link -incremental:no
530 # Individual dependencies
531 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
532 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
533 $(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
535 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no
539 $(LIB_SRC)/make-docfile.exe \
540 $(LIB_SRC)/hexl.exe \
541 $(LIB_SRC)/movemail.exe \
542 $(LIB_SRC)/mmencode.exe \
543 $(LIB_SRC)/sorted-doc.exe \
544 $(LIB_SRC)/wakeup.exe \
547 #------------------------------------------------------------------------------
551 RUNEMACS = $(XEMACS)\src\runxemacs.exe
553 $(RUNEMACS): $(LIB_SRC)\run.c $(LIB_SRC)\run.res
554 $(CCV) -I$(LIB_SRC) $(CFLAGS) -Fe$@ -Fo$(LIB_SRC) -Fd$(LIB_SRC)\ $** kernel32.lib user32.lib -link -incremental:no
556 $(LIB_SRC)\run.res: $(LIB_SRC)\run.rc
557 rc -I$(LIB_SRC) -Fo$@ $**
559 #------------------------------------------------------------------------------
563 LASTFILE=$(OUTDIR)\lastfile.lib
564 LASTFILE_SRC=$(XEMACS)\src
565 LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -Fd$* -c
567 $(OUTDIR)\lastfile.obj
569 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
570 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
572 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
573 $(CCV) $(LASTFILE_FLAGS) $**
575 #------------------------------------------------------------------------------
581 LWLIB=$(OUTDIR)\lwlib.lib
582 LWLIB_SRC=$(XEMACS)\lwlib
583 LWLIB_FLAGS=$(CFLAGS) $(INCLUDES) $(DEFINES) \
584 -DNEED_ATHENA -DNEED_LUCID \
585 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \
588 $(OUTDIR)\lwlib-config.obj \
589 $(OUTDIR)\lwlib-utils.obj \
590 $(OUTDIR)\lwlib-Xaw.obj \
591 $(OUTDIR)\lwlib-Xlw.obj \
592 $(OUTDIR)\lwlib.obj \
593 $(OUTDIR)\xlwmenu.obj \
594 $(OUTDIR)\xlwscrollbar.obj
596 $(LWLIB): $(LWLIB_OBJS)
597 link.exe -lib -nologo -out:$@ $(LWLIB_OBJS)
599 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c
600 $(CCV) $(LWLIB_FLAGS) $**
602 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c
603 $(CCV) $(LWLIB_FLAGS) $**
605 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c
606 $(CCV) $(LWLIB_FLAGS) $**
608 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c
609 $(CCV) $(LWLIB_FLAGS) $**
611 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c
612 $(CCV) $(LWLIB_FLAGS) $**
614 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c
615 $(CCV) $(LWLIB_FLAGS) $**
617 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c
618 $(CCV) $(LWLIB_FLAGS) $**
621 #------------------------------------------------------------------------------
625 $(XEMACS)\src\abbrev.c \
626 $(XEMACS)\src\alloc.c \
627 $(XEMACS)\src\alloca.c \
628 $(XEMACS)\src\blocktype.c \
629 $(XEMACS)\src\buffer.c \
630 $(XEMACS)\src\bytecode.c \
631 $(XEMACS)\src\callint.c \
632 $(XEMACS)\src\callproc.c \
633 $(XEMACS)\src\casefiddle.c \
634 $(XEMACS)\src\casetab.c \
635 $(XEMACS)\src\chartab.c \
636 $(XEMACS)\src\cmdloop.c \
637 $(XEMACS)\src\cmds.c \
638 $(XEMACS)\src\console-stream.c \
639 $(XEMACS)\src\console.c \
640 $(XEMACS)\src\data.c \
641 $(XEMACS)\src\device.c
643 $(XEMACS)\src\dired.c \
644 $(XEMACS)\src\doc.c \
645 $(XEMACS)\src\doprnt.c \
646 $(XEMACS)\src\dragdrop.c \
647 $(XEMACS)\src\dynarr.c \
648 $(XEMACS)\src\editfns.c \
649 $(XEMACS)\src\elhash.c \
650 $(XEMACS)\src\emacs.c \
651 $(XEMACS)\src\eval.c \
652 $(XEMACS)\src\event-stream.c \
653 $(XEMACS)\src\events.c \
654 $(XEMACS)\src\extents.c \
655 $(XEMACS)\src\faces.c \
656 $(XEMACS)\src\file-coding.c \
657 $(XEMACS)\src\fileio.c \
658 $(XEMACS)\src\filemode.c \
659 $(XEMACS)\src\floatfns.c \
662 $(XEMACS)\src\font-lock.c \
663 $(XEMACS)\src\frame.c \
664 $(XEMACS)\src\free-hook.c \
665 $(XEMACS)\src\general.c \
666 $(XEMACS)\src\glyphs.c \
667 $(XEMACS)\src\glyphs-eimage.c \
668 $(XEMACS)\src\glyphs-widget.c \
669 $(XEMACS)\src\gmalloc.c \
670 $(XEMACS)\src\gui.c \
671 $(XEMACS)\src\hash.c \
672 $(XEMACS)\src\imgproc.c \
673 $(XEMACS)\src\indent.c \
674 $(XEMACS)\src\insdel.c \
675 $(XEMACS)\src\intl.c \
676 $(XEMACS)\src\keymap.c \
677 $(XEMACS)\src\line-number.c \
678 $(XEMACS)\src\lread.c \
679 $(XEMACS)\src\lstream.c \
680 $(XEMACS)\src\macros.c \
681 $(XEMACS)\src\marker.c
683 $(XEMACS)\src\md5.c \
684 $(XEMACS)\src\menubar.c \
685 $(XEMACS)\src\minibuf.c \
687 $(XEMACS)\src\ntheap.c \
688 $(XEMACS)\src\ntplay.c \
689 $(XEMACS)\src\ntproc.c \
690 $(XEMACS)\src\objects.c \
691 $(XEMACS)\src\opaque.c \
692 $(XEMACS)\src\print.c \
693 $(XEMACS)\src\process.c \
694 $(XEMACS)\src\process-nt.c \
695 $(XEMACS)\src\profile.c \
696 $(XEMACS)\src\rangetab.c \
697 $(XEMACS)\src\realpath.c \
698 $(XEMACS)\src\redisplay-output.c \
699 $(XEMACS)\src\redisplay.c \
700 $(XEMACS)\src\regex.c \
701 $(XEMACS)\src\scrollbar.c \
702 $(XEMACS)\src\search.c \
703 $(XEMACS)\src\signal.c \
704 $(XEMACS)\src\sound.c
706 $(XEMACS)\src\specifier.c \
707 $(XEMACS)\src\strftime.c \
708 $(XEMACS)\src\symbols.c \
709 $(XEMACS)\src\syntax.c \
710 $(XEMACS)\src\sysdep.c \
711 $(XEMACS)\src\termcap.c \
712 $(XEMACS)\src\tparam.c \
713 $(XEMACS)\src\undo.c \
714 $(XEMACS)\src\unexnt.c \
715 $(XEMACS)\src\vm-limit.c \
716 $(XEMACS)\src\window.c \
717 $(XEMACS)\src\widget.c
721 $(XEMACS)\src\balloon_help.c \
722 $(XEMACS)\src\console-x.c \
723 $(XEMACS)\src\device-x.c \
724 $(XEMACS)\src\dialog-x.c \
725 $(XEMACS)\src\EmacsFrame.c \
726 $(XEMACS)\src\EmacsManager.c \
727 $(XEMACS)\src\EmacsShell-sub.c\
728 $(XEMACS)\src\EmacsShell.c \
729 $(XEMACS)\src\event-Xt.c \
730 $(XEMACS)\src\frame-x.c \
731 $(XEMACS)\src\glyphs-x.c \
732 $(XEMACS)\src\gui-x.c \
733 $(XEMACS)\src\menubar.c \
734 $(XEMACS)\src\menubar-x.c \
735 $(XEMACS)\src\objects-x.c \
736 $(XEMACS)\src\redisplay-x.c \
737 $(XEMACS)\src\scrollbar-x.c \
738 $(XEMACS)\src\balloon-x.c \
739 $(XEMACS)\src\xgccache.c \
740 $(XEMACS)\src\xmu.c \
741 $(XEMACS)\src\xselect.c
746 $(XEMACS)\src\console-msw.c \
747 $(XEMACS)\src\device-msw.c \
748 $(XEMACS)\src\event-msw.c \
749 $(XEMACS)\src\frame-msw.c \
750 $(XEMACS)\src\glyphs-msw.c \
751 $(XEMACS)\src\gui-msw.c \
752 $(XEMACS)\src\menubar-msw.c \
753 $(XEMACS)\src\objects-msw.c \
754 $(XEMACS)\src\redisplay-msw.c \
755 $(XEMACS)\src\scrollbar-msw.c \
756 $(XEMACS)\src\select-msw.c \
765 $(XEMACS)\src\mule.c \
766 $(XEMACS)\src\mule-charset.c \
767 $(XEMACS)\src\mule-ccl.c \
768 $(XEMACS)\src\mule-coding.c
770 DOC_SRC8=$(DOC_SRC8) $(XEMACS)\src\input-method-xlib.c
776 $(XEMACS)\src\debug.c
779 #------------------------------------------------------------------------------
784 !if "$(emacs_beta_version)" != ""
785 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
788 TEMACS_DIR=$(XEMACS)\src
789 TEMACS=$(TEMACS_DIR)\temacs.exe
790 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
791 TEMACS_SRC=$(XEMACS)\src
792 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
793 kernel32.lib user32.lib gdi32.lib advapi32.lib \
794 shell32.lib wsock32.lib winmm.lib libc.lib
795 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
796 -stack:0x800000 -entry:_start -subsystem:console\
797 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
798 -heap:0x00100000 -out:$@
799 TEMACS_CPP_FLAGS=-ML -c \
800 $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
801 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
802 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
803 $(EMACS_BETA_VERSION) \
804 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \
805 -DEMACS_CONFIGURATION=\"$(EMACS_CONFIGURATION)\" \
806 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\"
810 $(OUTDIR)\balloon-x.obj \
811 $(OUTDIR)\balloon_help.obj \
812 $(OUTDIR)\console-x.obj \
813 $(OUTDIR)\device-x.obj \
814 $(OUTDIR)\dialog-x.obj \
815 $(OUTDIR)\EmacsFrame.obj \
816 $(OUTDIR)\EmacsManager.obj \
817 $(OUTDIR)\EmacsShell.obj \
818 $(OUTDIR)\TopLevelEmacsShell.obj\
819 $(OUTDIR)\TransientEmacsShell.obj\
820 $(OUTDIR)\event-Xt.obj \
821 $(OUTDIR)\frame-x.obj \
822 $(OUTDIR)\glyphs-x.obj \
823 $(OUTDIR)\gui-x.obj \
824 $(OUTDIR)\menubar-x.obj \
825 $(OUTDIR)\objects-x.obj \
826 $(OUTDIR)\redisplay-x.obj \
827 $(OUTDIR)\scrollbar-x.obj \
828 $(OUTDIR)\xgccache.obj \
830 $(OUTDIR)\xselect.obj
835 $(OUTDIR)\console-msw.obj \
836 $(OUTDIR)\device-msw.obj \
837 $(OUTDIR)\event-msw.obj \
838 $(OUTDIR)\frame-msw.obj \
839 $(OUTDIR)\glyphs-msw.obj \
840 $(OUTDIR)\gui-msw.obj \
841 $(OUTDIR)\menubar-msw.obj \
842 $(OUTDIR)\objects-msw.obj \
843 $(OUTDIR)\redisplay-msw.obj \
844 $(OUTDIR)\scrollbar-msw.obj \
845 $(OUTDIR)\select-msw.obj \
855 $(OUTDIR)\mule-charset.obj \
856 $(OUTDIR)\mule-ccl.obj \
857 $(OUTDIR)\mule-coding.obj
860 $(TEMACS_MULE_OBJS) $(OUTDIR)\input-method-xlib.obj
872 $(TEMACS_CODING_OBJS)\
874 $(TEMACS_DEBUG_OBJS)\
875 $(OUTDIR)\abbrev.obj \
876 $(OUTDIR)\alloc.obj \
877 $(OUTDIR)\alloca.obj \
878 $(OUTDIR)\blocktype.obj \
879 $(OUTDIR)\buffer.obj \
880 $(OUTDIR)\bytecode.obj \
881 $(OUTDIR)\callint.obj \
882 $(OUTDIR)\callproc.obj \
883 $(OUTDIR)\casefiddle.obj \
884 $(OUTDIR)\casetab.obj \
885 $(OUTDIR)\chartab.obj \
886 $(OUTDIR)\cmdloop.obj \
888 $(OUTDIR)\console-stream.obj \
889 $(OUTDIR)\console.obj \
891 $(OUTDIR)\device.obj \
892 $(OUTDIR)\dired.obj \
894 $(OUTDIR)\doprnt.obj \
895 $(OUTDIR)\dragdrop.obj \
896 $(OUTDIR)\dynarr.obj \
897 $(OUTDIR)\editfns.obj \
898 $(OUTDIR)\elhash.obj \
899 $(OUTDIR)\emacs.obj \
901 $(OUTDIR)\event-stream.obj \
902 $(OUTDIR)\events.obj \
903 $(OUTDIR)\extents.obj \
904 $(OUTDIR)\faces.obj \
905 $(OUTDIR)\file-coding.obj \
906 $(OUTDIR)\fileio.obj \
907 $(OUTDIR)\filemode.obj \
908 $(OUTDIR)\floatfns.obj \
910 $(OUTDIR)\font-lock.obj \
911 $(OUTDIR)\frame.obj \
912 $(OUTDIR)\free-hook.obj \
913 $(OUTDIR)\general.obj \
914 $(OUTDIR)\glyphs.obj \
915 $(OUTDIR)\glyphs-eimage.obj \
916 $(OUTDIR)\glyphs-widget.obj \
917 $(OUTDIR)\gmalloc.obj \
920 $(OUTDIR)\indent.obj \
921 $(OUTDIR)\imgproc.obj \
922 $(OUTDIR)\insdel.obj \
924 $(OUTDIR)\keymap.obj \
925 $(OUTDIR)\line-number.obj \
926 $(OUTDIR)\lread.obj \
927 $(OUTDIR)\lstream.obj \
928 $(OUTDIR)\macros.obj \
929 $(OUTDIR)\menubar.obj \
930 $(OUTDIR)\marker.obj \
932 $(OUTDIR)\minibuf.obj \
934 $(OUTDIR)\ntheap.obj \
935 $(OUTDIR)\ntplay.obj \
936 $(OUTDIR)\ntproc.obj \
937 $(OUTDIR)\objects.obj \
938 $(OUTDIR)\opaque.obj \
939 $(OUTDIR)\print.obj \
940 $(OUTDIR)\process.obj \
941 $(OUTDIR)\process-nt.obj \
942 $(OUTDIR)\profile.obj \
943 $(OUTDIR)\rangetab.obj \
944 $(OUTDIR)\realpath.obj \
945 $(OUTDIR)\redisplay-output.obj \
946 $(OUTDIR)\redisplay.obj \
947 $(OUTDIR)\regex.obj \
948 $(OUTDIR)\scrollbar.obj \
949 $(OUTDIR)\search.obj \
950 $(OUTDIR)\signal.obj \
951 $(OUTDIR)\sound.obj \
952 $(OUTDIR)\specifier.obj \
953 $(OUTDIR)\strftime.obj \
954 $(OUTDIR)\symbols.obj \
955 $(OUTDIR)\syntax.obj \
956 $(OUTDIR)\sysdep.obj \
957 $(OUTDIR)\tparam.obj \
959 $(OUTDIR)\unexnt.obj \
960 $(OUTDIR)\vm-limit.obj \
961 $(OUTDIR)\widget.obj \
962 $(OUTDIR)\window.obj \
972 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
973 $(CCV) $(TEMACS_CPP_FLAGS) $< -Fo$@ -Fr$*.sbr -Fd$(OUTDIR)\temacs.pdb
975 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
976 $(CCV) $(TEMACS_CPP_FLAGS) $< -Fo$@
979 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
980 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@
982 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
983 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
985 $(OUTDIR)\alloc.obj: $(TEMACS_SRC)\alloc.c $(TEMACS_SRC)\puresize-adjust.h
987 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
988 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
990 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
991 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
993 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS)
995 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
996 bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp
1000 $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS)
1003 $(OUTDIR)\xemacs.res: xemacs.rc
1006 #------------------------------------------------------------------------------
1012 $(DOC): $(LIB_SRC)\make-docfile.exe
1014 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
1015 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
1016 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
1017 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3)
1018 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4)
1019 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5)
1020 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6)
1021 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7)
1022 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8)
1023 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9)
1025 $(LISP)\Installation.el: Installation.el
1026 copy Installation.el $(LISP)
1028 update-elc: $(LISP)\Installation.el
1029 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1030 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
1031 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el
1033 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
1034 # requirements has changed.
1035 dump-xemacs: $(TEMACS)
1036 @echo >$(TEMACS_DIR)\SATISFIED
1038 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1039 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
1041 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
1043 #------------------------------------------------------------------------------
1045 # use this rule to build the complete system
1046 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \
1047 $(TEMACS) update-elc $(DOC) dump-xemacs
1051 # use this rule to install the system
1053 @echo Installing in $(INSTALL_DIR) ...
1054 @echo PlaceHolder > PlaceHolder
1055 @xcopy /q PROBLEMS "$(INSTALL_DIR)\"
1056 @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\"
1057 @del "$(INSTALL_DIR)\lock\PlaceHolder"
1058 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
1059 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1060 @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1061 @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1062 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1063 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
1064 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
1065 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
1066 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
1067 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\site-packages\"
1068 @del "$(PACKAGE_PREFIX)\site-packages\PlaceHolder"
1069 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\"
1070 @del "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder"
1071 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\"
1072 @del "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder"
1088 cd $(XEMACS)\$(TEMACS_DIR)
1089 del puresize-adjust.h
1109 del $(CONFIG_VALUES)
1111 -del /s /q *.bak *.elc *.orig *.rej
1114 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 $(LIB_SRC)\run.c
1116 # DO NOT DELETE THIS LINE -- make depend depends on it.