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.
29 MODULES=$(XEMACS)\modules
32 # Program name and version
34 !include "..\version.sh"
36 !if !defined(INFODOCK)
41 INFODOCK_VERSION_STRING=$(infodock_major_version).$(infodock_minor_version).$(infodock_build_version)
42 PROGRAM_DEFINES=-DINFODOCK \
43 -DPATH_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
44 -DPATH_PROGNAME=\"infodock\" \
45 -DINFODOCK_MAJOR_VERSION=$(infodock_major_version) \
46 -DINFODOCK_MINOR_VERSION=$(infodock_minor_version) \
47 -DINFODOCK_BUILD_VERSION=$(infodock_build_version)
49 !if "$(emacs_beta_version)" != ""
50 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)-b$(emacs_beta_version)
52 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)
55 -DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" \
56 -DPATH_PROGNAME=\"xemacs\"
60 # Command line options defaults
62 !if !defined(INSTALL_DIR)
64 INSTALL_DIR=c:\Program Files\Infodock\Infodock-$(INFODOCK_VERSION_STRING)
66 INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
69 !if !defined(PACKAGE_PATH)
70 ! if !defined(PACKAGE_PREFIX)
71 PACKAGE_PREFIX=c:\Program Files\XEmacs
73 PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\mule-packages;$(PACKAGE_PREFIX)\xemacs-packages
75 PATH_PACKAGEPATH="$(PACKAGE_PATH:\=\\)"
76 !if !defined(HAVE_MSW)
82 !if !defined(HAVE_MULE)
85 !if !defined(HAVE_XPM)
88 !if !defined(HAVE_PNG)
91 !if !defined(HAVE_TIFF)
94 !if !defined(HAVE_JPEG)
97 !if !defined(HAVE_XFACE)
100 !if !defined(HAVE_GIF)
103 !if !defined(HAVE_TOOLBARS)
104 HAVE_TOOLBARS=$(HAVE_XPM)
106 !if !defined(HAVE_DIALOGS)
109 !if !defined(HAVE_MSW_C_DIRED)
112 !if !defined(HAVE_NATIVE_SOUND)
115 !if !defined(DEBUG_XEMACS)
118 !if !defined(USE_UNION_TYPE)
121 !if !defined(USE_MINIMAL_TAGBITS)
122 USE_MINIMAL_TAGBITS=0
124 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
125 USE_INDEXED_LRECORD_IMPLEMENTATION=0
129 # System configuration
131 !if !defined(PROCESSOR_ARCHITECTURE) && "$(OS)" != "Windows_NT"
132 EMACS_CONFIGURATION=i586-pc-win32
133 !else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
134 EMACS_CONFIGURATION=i586-pc-win32
135 !else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
136 EMACS_CONFIGURATION=mips-pc-win32
137 !else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
138 EMACS_CONFIGURATION=alpha-pc-win32
139 !else if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
140 EMACS_CONFIGURATION=ppc-pc-win32
142 ! error Unknown processor architecture type $(PROCESSOR_ARCHITECTURE)
149 !if $(INFODOCK) && !exist("..\..\Infodock.rules")
150 !message Cannot build InfoDock without InfoDock sources
153 !if !$(HAVE_MSW) && !$(HAVE_X)
154 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1
157 !if $(HAVE_X) && !defined(X11_DIR)
158 !message Please specify root directory for your X11 installation: X11_DIR=path
161 !if $(HAVE_X) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
162 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
165 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR)
166 !message Please specify root directory for your XPM installation: XPM_DIR=path
169 !if $(HAVE_MSW) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
170 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
173 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(PNG_DIR)
174 !message Please specify root directory for your PNG installation: PNG_DIR=path
177 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
178 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
181 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(ZLIB_DIR)
182 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
185 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
186 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
189 !if $(HAVE_MSW) && $(HAVE_TIFF) && !defined(TIFF_DIR)
190 !message Please specify root directory for your TIFF installation: TIFF_DIR=path
193 !if $(HAVE_MSW) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
194 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
197 !if $(HAVE_MSW) && $(HAVE_JPEG) && !defined(JPEG_DIR)
198 !message Please specify root directory for your JPEG installation: JPEG_DIR=path
201 !if $(HAVE_MSW) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
202 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
205 !if $(HAVE_MSW) && $(HAVE_XFACE) && !defined(COMPFACE_DIR)
206 !message Please specify root directory for your COMPFACE installation: COMPFACE_DIR=path
209 !if $(HAVE_MSW) && $(HAVE_XFACE) && !exist("$(COMPFACE_DIR)\libcompface.lib")
210 !message Specified COMPFACE directory does not contain "$(COMPFACE_DIR)\libcompface.lib"
213 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
214 !error Toolbars require XPM support
218 !error Configuration error(s) found
225 USE_MINIMAL_TAGBITS=$(GUNG_HO)
226 USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
230 # Small configuration report
232 !if !defined(CONF_REPORT_ALREADY_PRINTED)
233 !if [set CONF_REPORT_ALREADY_PRINTED=1]
235 !message ------------------------------------------------
236 !message XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) configured for "$(EMACS_CONFIGURATION)".
238 !message Installation directory is "$(INSTALL_DIR)".
239 !message Package path is "$(PACKAGE_PATH)".
242 !message Building InfoDock.
245 !message Compiling in support for native GUI.
248 !message Compiling in support for X-Windows.
251 !message Compiling in MULE.
254 !message Compiling in support for XPM images.
257 !message Compiling in support for GIF images.
260 !message Compiling in support for PNG images.
263 !message Compiling in support for TIFF images.
266 !message Compiling in support for JPEG images.
269 !message Compiling in support for X-Face message headers.
272 !message Compiling in support for toolbars.
275 !message Compiling in support for dialogs.
277 !if $(HAVE_NATIVE_SOUND)
278 !message Compiling in support for native sounds.
280 !if $(HAVE_MSW_C_DIRED)
281 # Define HAVE_MSW_C_DIRED to be non-zero if you want XEmacs to use C
282 # primitives to significantly speed up dired, at the expense of an
283 # additional ~4KB of code.
284 !message Compiling in fast dired implementation.
286 !if $(USE_MINIMAL_TAGBITS)
287 !message Using minimal tagbits.
289 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
290 !message Using indexed lrecord implementation.
292 !if $(USE_UNION_TYPE)
293 !message Using union type for Lisp object storage.
296 !message Compiling in extra debug checks. XEmacs will be slow!
298 !message ------------------------------------------------
300 !endif # !defined(CONF_REPORT_ALREADY_PRINTED)
303 # Compiler command echo control. Define VERBOSECC=1 to get vebose compilation.
305 !if !defined(VERBOSECC)
320 CFLAGS=-nologo -W3 $(OPT)
323 X_DEFINES=-DHAVE_X_WINDOWS
324 X_INCLUDES=-I$(X11_DIR)\include
325 X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib
329 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
332 !if $(HAVE_MSW_C_DIRED)
333 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
334 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c
335 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
338 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
339 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
340 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
343 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
344 MSW_GIF_SRC=$(XEMACS)\src\dgif_lib.c $(XEMACS)\src\gif_io.c
345 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
348 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
349 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
350 MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
353 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
354 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
355 MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
358 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
359 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
360 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
363 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XFACE
364 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)"
365 MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
368 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
369 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
370 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
371 MSW_LIBS=$(MSW_LIBS) comctl32.lib
374 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
375 MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c
376 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
378 !if $(HAVE_NATIVE_SOUND)
379 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
388 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG
389 DEBUG_FLAGS= -debugtype:both -debug:full
392 !if $(USE_MINIMAL_TAGBITS)
393 TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
395 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
396 LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
398 !if $(USE_UNION_TYPE)
399 UNION_DEFINES=-DUSE_UNION_TYPE
410 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
414 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib
416 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
417 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
418 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
419 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
424 # Creating simplified versions of Installation and Installation.el
426 # Some values cannot be written on the same line with
427 # their key, since they cannot be put inside an echo command.
428 # Macro substitution (:"=\", :\=\\) can be performed on values in order
429 # to create a legal string in LISP for Installation.el.
431 !if [echo OS: $(OS)>Installation] ||\
432 [echo XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for ^`$(EMACS_CONFIGURATION)^'.>>Installation] ||\
433 [echo Where should the build process find the source code?>>Installation] ||\
434 [echo $(MAKEDIR:\=\\)>>Installation]
436 # Compiler Information
438 [echo What compiler should XEmacs be built with?>>Installation] &&\
439 [echo $(CC) $(CFLAGS)>>Installation]
441 # Window System Information
442 !if [echo What window system should XEmacs use?>>Installation]
444 !if (defined (HAVE_X) && $(HAVE_X) == 1)
445 !if [echo X11>>Installation]
448 !if (defined (HAVE_MSW) && $(HAVE_MSW) == 1)
449 !if [echo MS Windows>>Installation]
452 !if (!defined (HAVE_MSW) && !defined (HAVE_X))
453 !if [echo Please specify at least one HAVE_MSW^=1 and^/or HAVE_X^=1>>Installation]
456 # Creation of Installation.el
457 !if [type Installation] ||\
458 [echo (setq Installation-string ^">Installation.el] ||\
459 [type Installation >>Installation.el] ||\
460 [echo ^")>>Installation.el]
464 #------------------------------------------------------------------------------
466 default: $(OUTDIR)\nul all
472 $(XEMACS)\src\config.h \
473 $(XEMACS)\src\Emacs.ad.h \
474 $(XEMACS)\src\paths.h \
475 $(XEMACS)\src\puresize-adjust.h
477 $(XEMACS)\src\config.h: config.h
478 copy config.h $(XEMACS)\src
480 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h
481 copy Emacs.ad.h $(XEMACS)\src
483 $(XEMACS)\src\paths.h: paths.h
484 copy paths.h $(XEMACS)\src
486 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h
487 copy puresize-adjust.h $(XEMACS)\src
489 #------------------------------------------------------------------------------
493 LIB_SRC = $(XEMACS)\lib-src
494 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
497 # Creating config.values to be used by config.el
499 CONFIG_VALUES = $(LIB_SRC)\config.values
500 !if [echo Creating $(CONFIG_VALUES) && echo ;;; Do not edit this file!>$(CONFIG_VALUES)]
502 # MAKEDIR has to be made into a string.
503 !if [echo blddir>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\..^">>$(CONFIG_VALUES)]
505 !if [echo CC>>$(CONFIG_VALUES) && echo ^"$(CC:\=\\)^">>$(CONFIG_VALUES)]
507 !if [echo CFLAGS>>$(CONFIG_VALUES) && echo ^"$(CFLAGS:\=\\)^">>$(CONFIG_VALUES)]
509 !if [echo CPP>>$(CONFIG_VALUES) && echo ^"$(CPP:\=\\)^">>$(CONFIG_VALUES)]
511 !if [echo CPPFLAGS>>$(CONFIG_VALUES) && echo ^"$(CPPFLAGS:\=\\)^">>$(CONFIG_VALUES)]
513 !if [echo LISPDIR>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\$(LISP:\=\\)^">>$(CONFIG_VALUES)]
515 # PATH_PACKAGEPATH is already a quoted string.
516 !if [echo PACKAGE_PATH>>$(CONFIG_VALUES) && echo $(PATH_PACKAGEPATH)>>$(CONFIG_VALUES)]
520 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
522 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $**
525 # Individual dependencies
526 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
527 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
528 $(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
530 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib
534 $(LIB_SRC)/make-docfile.exe \
535 $(LIB_SRC)/hexl.exe \
536 $(LIB_SRC)/movemail.exe \
537 $(LIB_SRC)/mmencode.exe \
538 $(LIB_SRC)/sorted-doc.exe \
539 $(LIB_SRC)/wakeup.exe \
542 #------------------------------------------------------------------------------
546 RUNEMACS = $(XEMACS)\src\runxemacs.exe
548 $(RUNEMACS): $(LIB_SRC)\run.c $(LIB_SRC)\run.res
549 $(CCV) -I$(LIB_SRC) -O2 -Fe$@ $** kernel32.lib user32.lib
551 $(LIB_SRC)\run.res: $(LIB_SRC)\run.rc
552 rc -I$(LIB_SRC) -FO$(LIB_SRC)\run.res $(LIB_SRC)\run.rc
554 #------------------------------------------------------------------------------
558 LASTFILE=$(OUTDIR)\lastfile.lib
559 LASTFILE_SRC=$(XEMACS)\src
560 LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -c
562 $(OUTDIR)\lastfile.obj
564 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
565 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
567 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
568 $(CCV) $(LASTFILE_FLAGS) $**
570 #------------------------------------------------------------------------------
576 LWLIB=$(OUTDIR)\lwlib.lib
577 LWLIB_SRC=$(XEMACS)\lwlib
578 LWLIB_FLAGS=$(CFLAGS) $(INCLUDES) $(DEFINES) \
579 -DNEED_ATHENA -DNEED_LUCID \
580 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \
583 $(OUTDIR)\lwlib-config.obj \
584 $(OUTDIR)\lwlib-utils.obj \
585 $(OUTDIR)\lwlib-Xaw.obj \
586 $(OUTDIR)\lwlib-Xlw.obj \
587 $(OUTDIR)\lwlib.obj \
588 $(OUTDIR)\xlwmenu.obj \
589 $(OUTDIR)\xlwscrollbar.obj
591 $(LWLIB): $(LWLIB_OBJS)
592 link.exe -lib -nologo $(DEBUG_FLAGS) -out:$@ $(LWLIB_OBJS)
594 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c
595 $(CCV) $(LWLIB_FLAGS) $**
597 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c
598 $(CCV) $(LWLIB_FLAGS) $**
600 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c
601 $(CCV) $(LWLIB_FLAGS) $**
603 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c
604 $(CCV) $(LWLIB_FLAGS) $**
606 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c
607 $(CCV) $(LWLIB_FLAGS) $**
609 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c
610 $(CCV) $(LWLIB_FLAGS) $**
612 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c
613 $(CCV) $(LWLIB_FLAGS) $**
616 #------------------------------------------------------------------------------
620 $(XEMACS)\src\abbrev.c \
621 $(XEMACS)\src\alloc.c \
622 $(XEMACS)\src\alloca.c \
623 $(XEMACS)\src\blocktype.c \
624 $(XEMACS)\src\buffer.c \
625 $(XEMACS)\src\bytecode.c \
626 $(XEMACS)\src\callint.c \
627 $(XEMACS)\src\callproc.c \
628 $(XEMACS)\src\casefiddle.c \
629 $(XEMACS)\src\casetab.c \
630 $(XEMACS)\src\chartab.c \
631 $(XEMACS)\src\cmdloop.c \
632 $(XEMACS)\src\cmds.c \
633 $(XEMACS)\src\console-stream.c \
634 $(XEMACS)\src\console.c \
635 $(XEMACS)\src\data.c \
636 $(XEMACS)\src\device.c
638 $(XEMACS)\src\dired.c \
639 $(XEMACS)\src\doc.c \
640 $(XEMACS)\src\doprnt.c \
641 $(XEMACS)\src\dragdrop.c \
642 $(XEMACS)\src\dynarr.c \
643 $(XEMACS)\src\editfns.c \
644 $(XEMACS)\src\elhash.c \
645 $(XEMACS)\src\emacs.c \
646 $(XEMACS)\src\eval.c \
647 $(XEMACS)\src\event-stream.c \
648 $(XEMACS)\src\events.c \
649 $(XEMACS)\src\extents.c \
650 $(XEMACS)\src\faces.c \
651 $(XEMACS)\src\file-coding.c \
652 $(XEMACS)\src\fileio.c \
653 $(XEMACS)\src\filemode.c \
654 $(XEMACS)\src\floatfns.c \
657 $(XEMACS)\src\font-lock.c \
658 $(XEMACS)\src\frame.c \
659 $(XEMACS)\src\free-hook.c \
660 $(XEMACS)\src\general.c \
661 $(XEMACS)\src\glyphs.c \
662 $(XEMACS)\src\glyphs-eimage.c \
663 $(XEMACS)\src\glyphs-widget.c \
664 $(XEMACS)\src\gmalloc.c \
665 $(XEMACS)\src\gui.c \
666 $(XEMACS)\src\hash.c \
667 $(XEMACS)\src\imgproc.c \
668 $(XEMACS)\src\indent.c \
669 $(XEMACS)\src\insdel.c \
670 $(XEMACS)\src\intl.c \
671 $(XEMACS)\src\keymap.c \
672 $(XEMACS)\src\line-number.c \
673 $(XEMACS)\src\lread.c \
674 $(XEMACS)\src\lstream.c \
675 $(XEMACS)\src\macros.c \
676 $(XEMACS)\src\marker.c
678 $(XEMACS)\src\md5.c \
679 $(XEMACS)\src\menubar.c \
680 $(XEMACS)\src\minibuf.c \
682 $(XEMACS)\src\ntheap.c \
683 $(XEMACS)\src\ntplay.c \
684 $(XEMACS)\src\ntproc.c \
685 $(XEMACS)\src\objects.c \
686 $(XEMACS)\src\opaque.c \
687 $(XEMACS)\src\print.c \
688 $(XEMACS)\src\process.c \
689 $(XEMACS)\src\process-nt.c \
690 $(XEMACS)\src\profile.c \
691 $(XEMACS)\src\rangetab.c \
692 $(XEMACS)\src\realpath.c \
693 $(XEMACS)\src\redisplay-output.c \
694 $(XEMACS)\src\redisplay.c \
695 $(XEMACS)\src\regex.c \
696 $(XEMACS)\src\scrollbar.c \
697 $(XEMACS)\src\search.c \
698 $(XEMACS)\src\signal.c \
699 $(XEMACS)\src\sound.c
701 $(XEMACS)\src\specifier.c \
702 $(XEMACS)\src\strftime.c \
703 $(XEMACS)\src\symbols.c \
704 $(XEMACS)\src\syntax.c \
705 $(XEMACS)\src\sysdep.c \
706 $(XEMACS)\src\termcap.c \
707 $(XEMACS)\src\tparam.c \
708 $(XEMACS)\src\undo.c \
709 $(XEMACS)\src\unexnt.c \
710 $(XEMACS)\src\vm-limit.c \
711 $(XEMACS)\src\window.c \
712 $(XEMACS)\src\widget.c
716 $(XEMACS)\src\balloon_help.c \
717 $(XEMACS)\src\console-x.c \
718 $(XEMACS)\src\device-x.c \
719 $(XEMACS)\src\dialog-x.c \
720 $(XEMACS)\src\EmacsFrame.c \
721 $(XEMACS)\src\EmacsManager.c \
722 $(XEMACS)\src\EmacsShell-sub.c\
723 $(XEMACS)\src\EmacsShell.c \
724 $(XEMACS)\src\event-Xt.c \
725 $(XEMACS)\src\frame-x.c \
726 $(XEMACS)\src\glyphs-x.c \
727 $(XEMACS)\src\gui-x.c \
728 $(XEMACS)\src\menubar.c \
729 $(XEMACS)\src\menubar-x.c \
730 $(XEMACS)\src\objects-x.c \
731 $(XEMACS)\src\redisplay-x.c \
732 $(XEMACS)\src\scrollbar-x.c \
733 $(XEMACS)\src\balloon-x.c \
734 $(XEMACS)\src\xgccache.c \
735 $(XEMACS)\src\xmu.c \
736 $(XEMACS)\src\xselect.c
741 $(XEMACS)\src\console-msw.c \
742 $(XEMACS)\src\device-msw.c \
743 $(XEMACS)\src\event-msw.c \
744 $(XEMACS)\src\frame-msw.c \
745 $(XEMACS)\src\glyphs-msw.c \
746 $(XEMACS)\src\gui-msw.c \
747 $(XEMACS)\src\menubar-msw.c \
748 $(XEMACS)\src\objects-msw.c \
749 $(XEMACS)\src\redisplay-msw.c \
750 $(XEMACS)\src\scrollbar-msw.c \
751 $(XEMACS)\src\select-msw.c \
760 $(XEMACS)\src\mule.c \
761 $(XEMACS)\src\mule-charset.c \
762 $(XEMACS)\src\mule-ccl.c \
763 $(XEMACS)\src\mule-coding.c
765 DOC_SRC8=$(DOC_SRC8) $(XEMACS)\src\input-method-xlib.c
771 $(XEMACS)\src\debug.c
774 #------------------------------------------------------------------------------
779 !if "$(emacs_beta_version)" != ""
780 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
783 TEMACS_DIR=$(XEMACS)\src
784 TEMACS=$(TEMACS_DIR)\temacs.exe
785 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
786 TEMACS_SRC=$(XEMACS)\src
787 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
788 kernel32.lib user32.lib gdi32.lib advapi32.lib \
789 shell32.lib wsock32.lib winmm.lib libc.lib
790 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
791 -stack:0x800000 -entry:_start -subsystem:console\
792 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
793 -heap:0x00100000 -out:$@
794 TEMACS_CPP_FLAGS=-ML -c $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
795 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
796 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
797 $(EMACS_BETA_VERSION) \
798 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \
799 -DEMACS_CONFIGURATION=\"$(EMACS_CONFIGURATION)\" \
800 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\"
804 $(OUTDIR)\balloon-x.obj \
805 $(OUTDIR)\balloon_help.obj \
806 $(OUTDIR)\console-x.obj \
807 $(OUTDIR)\device-x.obj \
808 $(OUTDIR)\dialog-x.obj \
809 $(OUTDIR)\EmacsFrame.obj \
810 $(OUTDIR)\EmacsManager.obj \
811 $(OUTDIR)\EmacsShell.obj \
812 $(OUTDIR)\TopLevelEmacsShell.obj\
813 $(OUTDIR)\TransientEmacsShell.obj\
814 $(OUTDIR)\event-Xt.obj \
815 $(OUTDIR)\frame-x.obj \
816 $(OUTDIR)\glyphs-x.obj \
817 $(OUTDIR)\gui-x.obj \
818 $(OUTDIR)\menubar-x.obj \
819 $(OUTDIR)\objects-x.obj \
820 $(OUTDIR)\redisplay-x.obj \
821 $(OUTDIR)\scrollbar-x.obj \
822 $(OUTDIR)\xgccache.obj \
824 $(OUTDIR)\xselect.obj
829 $(OUTDIR)\console-msw.obj \
830 $(OUTDIR)\device-msw.obj \
831 $(OUTDIR)\event-msw.obj \
832 $(OUTDIR)\frame-msw.obj \
833 $(OUTDIR)\glyphs-msw.obj \
834 $(OUTDIR)\gui-msw.obj \
835 $(OUTDIR)\menubar-msw.obj \
836 $(OUTDIR)\objects-msw.obj \
837 $(OUTDIR)\redisplay-msw.obj \
838 $(OUTDIR)\scrollbar-msw.obj \
839 $(OUTDIR)\select-msw.obj \
849 $(OUTDIR)\mule-charset.obj \
850 $(OUTDIR)\mule-ccl.obj \
851 $(OUTDIR)\mule-coding.obj
854 $(TEMACS_MULE_OBJS) $(OUTDIR)\input-method-xlib.obj
866 $(TEMACS_CODING_OBJS)\
868 $(TEMACS_DEBUG_OBJS)\
869 $(OUTDIR)\abbrev.obj \
870 $(OUTDIR)\alloc.obj \
871 $(OUTDIR)\alloca.obj \
872 $(OUTDIR)\blocktype.obj \
873 $(OUTDIR)\buffer.obj \
874 $(OUTDIR)\bytecode.obj \
875 $(OUTDIR)\callint.obj \
876 $(OUTDIR)\callproc.obj \
877 $(OUTDIR)\casefiddle.obj \
878 $(OUTDIR)\casetab.obj \
879 $(OUTDIR)\chartab.obj \
880 $(OUTDIR)\cmdloop.obj \
882 $(OUTDIR)\console-stream.obj \
883 $(OUTDIR)\console.obj \
885 $(OUTDIR)\device.obj \
886 $(OUTDIR)\dired.obj \
888 $(OUTDIR)\doprnt.obj \
889 $(OUTDIR)\dragdrop.obj \
890 $(OUTDIR)\dynarr.obj \
891 $(OUTDIR)\editfns.obj \
892 $(OUTDIR)\elhash.obj \
893 $(OUTDIR)\emacs.obj \
895 $(OUTDIR)\event-stream.obj \
896 $(OUTDIR)\events.obj \
897 $(OUTDIR)\extents.obj \
898 $(OUTDIR)\faces.obj \
899 $(OUTDIR)\file-coding.obj \
900 $(OUTDIR)\fileio.obj \
901 $(OUTDIR)\filemode.obj \
902 $(OUTDIR)\floatfns.obj \
904 $(OUTDIR)\font-lock.obj \
905 $(OUTDIR)\frame.obj \
906 $(OUTDIR)\free-hook.obj \
907 $(OUTDIR)\general.obj \
908 $(OUTDIR)\glyphs.obj \
909 $(OUTDIR)\glyphs-eimage.obj \
910 $(OUTDIR)\glyphs-widget.obj \
911 $(OUTDIR)\gmalloc.obj \
914 $(OUTDIR)\indent.obj \
915 $(OUTDIR)\imgproc.obj \
916 $(OUTDIR)\insdel.obj \
918 $(OUTDIR)\keymap.obj \
919 $(OUTDIR)\line-number.obj \
920 $(OUTDIR)\lread.obj \
921 $(OUTDIR)\lstream.obj \
922 $(OUTDIR)\macros.obj \
923 $(OUTDIR)\menubar.obj \
924 $(OUTDIR)\marker.obj \
926 $(OUTDIR)\minibuf.obj \
928 $(OUTDIR)\ntheap.obj \
929 $(OUTDIR)\ntplay.obj \
930 $(OUTDIR)\ntproc.obj \
931 $(OUTDIR)\objects.obj \
932 $(OUTDIR)\opaque.obj \
933 $(OUTDIR)\print.obj \
934 $(OUTDIR)\process.obj \
935 $(OUTDIR)\process-nt.obj \
936 $(OUTDIR)\profile.obj \
937 $(OUTDIR)\rangetab.obj \
938 $(OUTDIR)\realpath.obj \
939 $(OUTDIR)\redisplay-output.obj \
940 $(OUTDIR)\redisplay.obj \
941 $(OUTDIR)\regex.obj \
942 $(OUTDIR)\scrollbar.obj \
943 $(OUTDIR)\search.obj \
944 $(OUTDIR)\signal.obj \
945 $(OUTDIR)\sound.obj \
946 $(OUTDIR)\specifier.obj \
947 $(OUTDIR)\strftime.obj \
948 $(OUTDIR)\symbols.obj \
949 $(OUTDIR)\syntax.obj \
950 $(OUTDIR)\sysdep.obj \
951 $(OUTDIR)\tparam.obj \
953 $(OUTDIR)\unexnt.obj \
954 $(OUTDIR)\vm-limit.obj \
955 $(OUTDIR)\widget.obj \
956 $(OUTDIR)\window.obj \
965 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
966 $(CCV) $(TEMACS_CPP_FLAGS) $< -Fo$@ -Fr$*.sbr
968 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
969 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@
971 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
972 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
974 $(OUTDIR)\alloc.obj: $(TEMACS_SRC)\alloc.c $(TEMACS_SRC)\puresize-adjust.h
976 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
977 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
979 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
980 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
982 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS)
984 $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS)
987 $(NT)\xemacs.res: xemacs.rc
990 # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless
991 $(TEMACS_BROWSE): $(TEMACS_OBJS)
992 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
993 bscmake -nologo -o$@ @bscmake.tmp
996 #------------------------------------------------------------------------------
1002 $(DOC): $(LIB_SRC)\make-docfile.exe
1004 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
1005 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
1006 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
1007 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3)
1008 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4)
1009 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5)
1010 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6)
1011 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7)
1012 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8)
1013 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9)
1015 $(LISP)\Installation.el: Installation.el
1016 copy Installation.el $(LISP)
1018 update-elc: $(LISP)\Installation.el
1019 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1020 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
1021 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el
1023 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
1024 # requirements has changed.
1025 dump-xemacs: $(TEMACS)
1026 @echo >$(TEMACS_DIR)\SATISFIED
1028 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1029 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
1031 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
1033 #------------------------------------------------------------------------------
1035 # use this rule to build the complete system
1036 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \
1037 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs
1041 # use this rule to install the system
1043 @echo Installing in $(INSTALL_DIR) ...
1044 @echo PlaceHolder > PlaceHolder
1045 @xcopy /q PROBLEMS "$(INSTALL_DIR)\"
1046 @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\"
1047 @del "$(INSTALL_DIR)\lock\PlaceHolder"
1048 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
1049 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1050 @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1051 @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1052 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1053 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
1054 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
1055 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
1056 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
1057 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\site-packages\"
1058 @del "$(PACKAGE_PREFIX)\site-packages\PlaceHolder"
1059 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\"
1060 @del "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder"
1061 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\"
1062 @del "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder"
1075 cd $(XEMACS)\$(TEMACS_DIR)
1076 del puresize-adjust.h
1093 del $(CONFIG_VALUES)
1095 -del /s /q *.bak *.elc *.orig *.rej
1098 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
1100 # DO NOT DELETE THIS LINE -- make depend depends on it.