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_GIF)
100 !if !defined(HAVE_TOOLBARS)
101 HAVE_TOOLBARS=$(HAVE_XPM)
103 !if !defined(HAVE_DIALOGS)
106 !if !defined(HAVE_MSW_C_DIRED)
109 !if !defined(HAVE_NATIVE_SOUND)
112 !if !defined(DEBUG_XEMACS)
115 !if !defined(USE_UNION_TYPE)
118 !if !defined(USE_MINIMAL_TAGBITS)
119 USE_MINIMAL_TAGBITS=0
121 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
122 USE_INDEXED_LRECORD_IMPLEMENTATION=0
126 # System configuration
128 !if !defined(PROCESSOR_ARCHITECTURE) && "$(OS)" != "Windows_NT"
129 EMACS_CONFIGURATION=i586-pc-win32
130 !else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
131 EMACS_CONFIGURATION=i586-pc-win32
132 !else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
133 EMACS_CONFIGURATION=mips-pc-win32
134 !else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
135 EMACS_CONFIGURATION=alpha-pc-win32
136 !else if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
137 EMACS_CONFIGURATION=ppc-pc-win32
139 ! error Unknown processor architecture type $(PROCESSOR_ARCHITECTURE)
146 !if $(INFODOCK) && !exist("..\..\Infodock.rules")
147 !message Cannot build InfoDock without InfoDock sources
150 !if !$(HAVE_MSW) && !$(HAVE_X)
151 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1
154 !if $(HAVE_X) && !defined(X11_DIR)
155 !message Please specify root directory for your X11 installation: X11_DIR=path
158 !if $(HAVE_X) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
159 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
162 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR)
163 !message Please specify root directory for your XPM installation: XPM_DIR=path
166 !if $(HAVE_MSW) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
167 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
170 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(PNG_DIR)
171 !message Please specify root directory for your PNG installation: PNG_DIR=path
174 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
175 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
178 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(ZLIB_DIR)
179 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
182 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
183 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
186 !if $(HAVE_MSW) && $(HAVE_TIFF) && !defined(TIFF_DIR)
187 !message Please specify root directory for your TIFF installation: TIFF_DIR=path
190 !if $(HAVE_MSW) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
191 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
194 !if $(HAVE_MSW) && $(HAVE_JPEG) && !defined(JPEG_DIR)
195 !message Please specify root directory for your JPEG installation: JPEG_DIR=path
198 !if $(HAVE_MSW) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
199 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
202 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
203 !error Toolbars require XPM support
207 !error Configuration error(s) found
214 USE_MINIMAL_TAGBITS=$(GUNG_HO)
215 USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
219 # Small configuration report
221 !if !defined(CONF_REPORT_ALREADY_PRINTED)
222 !if [set CONF_REPORT_ALREADY_PRINTED=1]
224 !message ------------------------------------------------
225 !message XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) configured for "$(EMACS_CONFIGURATION)".
227 !message Installation directory is "$(INSTALL_DIR)".
228 !message Package path is "$(PACKAGE_PATH)".
231 !message Building InfoDock.
234 !message Compiling in support for native GUI.
237 !message Compiling in support for X-Windows.
240 !message Compiling in MULE.
243 !message Compiling in support for XPM images.
246 !message Compiling in support for GIF images.
249 !message Compiling in support for PNG images.
252 !message Compiling in support for TIFF images.
255 !message Compiling in support for JPEG images.
258 !message Compiling in support for toolbars.
261 !message Compiling in support for dialogs.
263 !if $(HAVE_NATIVE_SOUND)
264 !message Compiling in support for native sounds.
266 !if $(HAVE_MSW_C_DIRED)
267 # Define HAVE_MSW_C_DIRED to be non-zero if you want XEmacs to use C
268 # primitives to significantly speed up dired, at the expense of an
269 # additional ~4KB of code.
270 !message Compiling in fast dired implementation.
272 !if $(USE_MINIMAL_TAGBITS)
273 !message Using minimal tagbits.
275 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
276 !message Using indexed lrecord implementation.
278 !if $(USE_UNION_TYPE)
279 !message Using union type for Lisp object storage.
282 !message Compiling in extra debug checks. XEmacs will be slow!
284 !message ------------------------------------------------
286 !endif # !defined(CONF_REPORT_ALREADY_PRINTED)
289 # Compiler command echo control. Define VERBOSECC=1 to get vebose compilation.
291 !if !defined(VERBOSECC)
306 CFLAGS=-nologo -W3 $(OPT)
309 X_DEFINES=-DHAVE_X_WINDOWS
310 X_INCLUDES=-I$(X11_DIR)\include
311 X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib
315 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
318 !if $(HAVE_MSW_C_DIRED)
319 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
320 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c
321 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
324 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
325 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
326 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
329 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
330 MSW_GIF_SRC=$(XEMACS)\src\dgif_lib.c $(XEMACS)\src\gif_io.c
331 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
334 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
335 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
336 MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
339 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
340 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
341 MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
344 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
345 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
346 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
349 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
350 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
351 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
352 MSW_LIBS=$(MSW_LIBS) comctl32.lib
355 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
356 MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c
357 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
359 !if $(HAVE_NATIVE_SOUND)
360 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
369 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG
370 DEBUG_FLAGS= -debugtype:both -debug:full
373 !if $(USE_MINIMAL_TAGBITS)
374 TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
376 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
377 LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
379 !if $(USE_UNION_TYPE)
380 UNION_DEFINES=-DUSE_UNION_TYPE
391 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
395 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib
397 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
398 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
399 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
400 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
405 # Creating simplified versions of Installation and Installation.el
407 # Some values cannot be written on the same line with
408 # their key, since they cannot be put inside an echo command.
409 # Macro substitution (:"=\", :\=\\) can be performed on values in order
410 # to create a legal string in LISP for Installation.el.
412 !if [echo OS: $(OS)>Installation] ||\
413 [echo XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for ^`$(EMACS_CONFIGURATION)^'.>>Installation] ||\
414 [echo Where should the build process find the source code?>>Installation] ||\
415 [echo $(MAKEDIR:\=\\)>>Installation]
417 # Compiler Information
419 [echo What compiler should XEmacs be built with?>>Installation] &&\
420 [echo $(CC) $(CFLAGS)>>Installation]
422 # Window System Information
423 !if [echo What window system should XEmacs use?>>Installation]
425 !if (defined (HAVE_X) && $(HAVE_X) == 1)
426 !if [echo X11>>Installation]
429 !if (defined (HAVE_MSW) && $(HAVE_MSW) == 1)
430 !if [echo MS Windows>>Installation]
433 !if (!defined (HAVE_MSW) && !defined (HAVE_X))
434 !if [echo Please specify at least one HAVE_MSW^=1 and^/or HAVE_X^=1>>Installation]
437 # Creation of Installation.el
438 !if [type Installation] ||\
439 [echo (setq Installation-string ^">Installation.el] ||\
440 [type Installation >>Installation.el] ||\
441 [echo ^")>>Installation.el]
445 #------------------------------------------------------------------------------
447 default: $(OUTDIR)\nul all
453 $(XEMACS)\src\config.h \
454 $(XEMACS)\src\Emacs.ad.h \
455 $(XEMACS)\src\paths.h \
456 $(XEMACS)\src\puresize-adjust.h
458 $(XEMACS)\src\config.h: config.h
459 copy config.h $(XEMACS)\src
461 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h
462 copy Emacs.ad.h $(XEMACS)\src
464 $(XEMACS)\src\paths.h: paths.h
465 copy paths.h $(XEMACS)\src
467 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h
468 copy puresize-adjust.h $(XEMACS)\src
470 #------------------------------------------------------------------------------
474 LIB_SRC = $(XEMACS)\lib-src
475 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
478 # Creating config.values to be used by config.el
480 CONFIG_VALUES = $(LIB_SRC)\config.values
481 !if [echo Creating $(CONFIG_VALUES) && echo ;;; Do not edit this file!>$(CONFIG_VALUES)]
483 # MAKEDIR has to be made into a string.
484 !if [echo blddir>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\..^">>$(CONFIG_VALUES)]
486 !if [echo CC>>$(CONFIG_VALUES) && echo ^"$(CC:\=\\)^">>$(CONFIG_VALUES)]
488 !if [echo CFLAGS>>$(CONFIG_VALUES) && echo ^"$(CFLAGS:\=\\)^">>$(CONFIG_VALUES)]
490 !if [echo CPP>>$(CONFIG_VALUES) && echo ^"$(CPP:\=\\)^">>$(CONFIG_VALUES)]
492 !if [echo CPPFLAGS>>$(CONFIG_VALUES) && echo ^"$(CPPFLAGS:\=\\)^">>$(CONFIG_VALUES)]
494 !if [echo LISPDIR>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\$(LISP:\=\\)^">>$(CONFIG_VALUES)]
496 # PATH_PACKAGEPATH is already a quoted string.
497 !if [echo PACKAGE_PATH>>$(CONFIG_VALUES) && echo $(PATH_PACKAGEPATH)>>$(CONFIG_VALUES)]
501 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
503 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $**
506 # Individual dependencies
507 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
508 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
509 $(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
511 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib
515 $(LIB_SRC)/make-docfile.exe \
516 $(LIB_SRC)/hexl.exe \
517 $(LIB_SRC)/movemail.exe \
518 $(LIB_SRC)/mmencode.exe \
519 $(LIB_SRC)/sorted-doc.exe \
520 $(LIB_SRC)/wakeup.exe \
523 #------------------------------------------------------------------------------
527 RUNEMACS = $(XEMACS)\src\runxemacs.exe
529 $(RUNEMACS): $(LIB_SRC)\run.c $(LIB_SRC)\run.res
530 $(CCV) -I$(LIB_SRC) -O2 -Fe$@ $** kernel32.lib user32.lib
532 $(LIB_SRC)\run.res: $(LIB_SRC)\run.rc
533 rc -I$(LIB_SRC) -FO$(LIB_SRC)\run.res $(LIB_SRC)\run.rc
535 #------------------------------------------------------------------------------
539 LASTFILE=$(OUTDIR)\lastfile.lib
540 LASTFILE_SRC=$(XEMACS)\src
541 LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -c
543 $(OUTDIR)\lastfile.obj
545 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
546 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
548 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
549 $(CCV) $(LASTFILE_FLAGS) $**
551 #------------------------------------------------------------------------------
557 LWLIB=$(OUTDIR)\lwlib.lib
558 LWLIB_SRC=$(XEMACS)\lwlib
559 LWLIB_FLAGS=$(CFLAGS) $(INCLUDES) $(DEFINES) \
560 -DNEED_ATHENA -DNEED_LUCID \
561 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \
564 $(OUTDIR)\lwlib-config.obj \
565 $(OUTDIR)\lwlib-utils.obj \
566 $(OUTDIR)\lwlib-Xaw.obj \
567 $(OUTDIR)\lwlib-Xlw.obj \
568 $(OUTDIR)\lwlib.obj \
569 $(OUTDIR)\xlwmenu.obj \
570 $(OUTDIR)\xlwscrollbar.obj
572 $(LWLIB): $(LWLIB_OBJS)
573 link.exe -lib -nologo $(DEBUG_FLAGS) -out:$@ $(LWLIB_OBJS)
575 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c
576 $(CCV) $(LWLIB_FLAGS) $**
578 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c
579 $(CCV) $(LWLIB_FLAGS) $**
581 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c
582 $(CCV) $(LWLIB_FLAGS) $**
584 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c
585 $(CCV) $(LWLIB_FLAGS) $**
587 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c
588 $(CCV) $(LWLIB_FLAGS) $**
590 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c
591 $(CCV) $(LWLIB_FLAGS) $**
593 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c
594 $(CCV) $(LWLIB_FLAGS) $**
597 #------------------------------------------------------------------------------
601 $(XEMACS)\src\abbrev.c \
602 $(XEMACS)\src\alloc.c \
603 $(XEMACS)\src\alloca.c \
604 $(XEMACS)\src\blocktype.c \
605 $(XEMACS)\src\buffer.c \
606 $(XEMACS)\src\bytecode.c \
607 $(XEMACS)\src\callint.c \
608 $(XEMACS)\src\callproc.c \
609 $(XEMACS)\src\casefiddle.c \
610 $(XEMACS)\src\casetab.c \
611 $(XEMACS)\src\chartab.c \
612 $(XEMACS)\src\cmdloop.c \
613 $(XEMACS)\src\cmds.c \
614 $(XEMACS)\src\console-stream.c \
615 $(XEMACS)\src\console.c \
616 $(XEMACS)\src\data.c \
617 $(XEMACS)\src\device.c
619 $(XEMACS)\src\dired.c \
620 $(XEMACS)\src\doc.c \
621 $(XEMACS)\src\doprnt.c \
622 $(XEMACS)\src\dragdrop.c \
623 $(XEMACS)\src\dynarr.c \
624 $(XEMACS)\src\editfns.c \
625 $(XEMACS)\src\elhash.c \
626 $(XEMACS)\src\emacs.c \
627 $(XEMACS)\src\eval.c \
628 $(XEMACS)\src\event-stream.c \
629 $(XEMACS)\src\events.c \
630 $(XEMACS)\src\extents.c \
631 $(XEMACS)\src\faces.c \
632 $(XEMACS)\src\file-coding.c \
633 $(XEMACS)\src\fileio.c \
634 $(XEMACS)\src\filemode.c \
635 $(XEMACS)\src\floatfns.c \
638 $(XEMACS)\src\font-lock.c \
639 $(XEMACS)\src\frame.c \
640 $(XEMACS)\src\free-hook.c \
641 $(XEMACS)\src\general.c \
642 $(XEMACS)\src\glyphs.c \
643 $(XEMACS)\src\glyphs-eimage.c \
644 $(XEMACS)\src\glyphs-widget.c \
645 $(XEMACS)\src\gmalloc.c \
646 $(XEMACS)\src\gui.c \
647 $(XEMACS)\src\hash.c \
648 $(XEMACS)\src\imgproc.c \
649 $(XEMACS)\src\indent.c \
650 $(XEMACS)\src\insdel.c \
651 $(XEMACS)\src\intl.c \
652 $(XEMACS)\src\keymap.c \
653 $(XEMACS)\src\line-number.c \
654 $(XEMACS)\src\lread.c \
655 $(XEMACS)\src\lstream.c \
656 $(XEMACS)\src\macros.c \
657 $(XEMACS)\src\marker.c
659 $(XEMACS)\src\md5.c \
660 $(XEMACS)\src\menubar.c \
661 $(XEMACS)\src\minibuf.c \
663 $(XEMACS)\src\ntheap.c \
664 $(XEMACS)\src\ntplay.c \
665 $(XEMACS)\src\ntproc.c \
666 $(XEMACS)\src\objects.c \
667 $(XEMACS)\src\opaque.c \
668 $(XEMACS)\src\print.c \
669 $(XEMACS)\src\process.c \
670 $(XEMACS)\src\process-nt.c \
671 $(XEMACS)\src\profile.c \
672 $(XEMACS)\src\rangetab.c \
673 $(XEMACS)\src\realpath.c \
674 $(XEMACS)\src\redisplay-output.c \
675 $(XEMACS)\src\redisplay.c \
676 $(XEMACS)\src\regex.c \
677 $(XEMACS)\src\scrollbar.c \
678 $(XEMACS)\src\search.c \
679 $(XEMACS)\src\signal.c \
680 $(XEMACS)\src\sound.c
682 $(XEMACS)\src\specifier.c \
683 $(XEMACS)\src\strftime.c \
684 $(XEMACS)\src\symbols.c \
685 $(XEMACS)\src\syntax.c \
686 $(XEMACS)\src\sysdep.c \
687 $(XEMACS)\src\termcap.c \
688 $(XEMACS)\src\tparam.c \
689 $(XEMACS)\src\undo.c \
690 $(XEMACS)\src\unexnt.c \
691 $(XEMACS)\src\vm-limit.c \
692 $(XEMACS)\src\window.c \
693 $(XEMACS)\src\widget.c
697 $(XEMACS)\src\balloon_help.c \
698 $(XEMACS)\src\console-x.c \
699 $(XEMACS)\src\device-x.c \
700 $(XEMACS)\src\dialog-x.c \
701 $(XEMACS)\src\EmacsFrame.c \
702 $(XEMACS)\src\EmacsManager.c \
703 $(XEMACS)\src\EmacsShell-sub.c\
704 $(XEMACS)\src\EmacsShell.c \
705 $(XEMACS)\src\event-Xt.c \
706 $(XEMACS)\src\frame-x.c \
707 $(XEMACS)\src\glyphs-x.c \
708 $(XEMACS)\src\gui-x.c \
709 $(XEMACS)\src\menubar.c \
710 $(XEMACS)\src\menubar-x.c \
711 $(XEMACS)\src\objects-x.c \
712 $(XEMACS)\src\redisplay-x.c \
713 $(XEMACS)\src\scrollbar-x.c \
714 $(XEMACS)\src\balloon-x.c \
715 $(XEMACS)\src\xgccache.c \
716 $(XEMACS)\src\xmu.c \
717 $(XEMACS)\src\xselect.c
722 $(XEMACS)\src\console-msw.c \
723 $(XEMACS)\src\device-msw.c \
724 $(XEMACS)\src\event-msw.c \
725 $(XEMACS)\src\frame-msw.c \
726 $(XEMACS)\src\glyphs-msw.c \
727 $(XEMACS)\src\gui-msw.c \
728 $(XEMACS)\src\menubar-msw.c \
729 $(XEMACS)\src\objects-msw.c \
730 $(XEMACS)\src\redisplay-msw.c \
731 $(XEMACS)\src\scrollbar-msw.c \
732 $(XEMACS)\src\select-msw.c \
741 $(XEMACS)\src\mule.c \
742 $(XEMACS)\src\mule-charset.c \
743 $(XEMACS)\src\mule-ccl.c \
744 $(XEMACS)\src\mule-coding.c
746 DOC_SRC8=$(DOC_SRC8) $(XEMACS)\src\input-method-xlib.c
752 $(XEMACS)\src\debug.c
755 #------------------------------------------------------------------------------
760 !if "$(emacs_beta_version)" != ""
761 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
764 TEMACS_DIR=$(XEMACS)\src
765 TEMACS=$(TEMACS_DIR)\temacs.exe
766 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
767 TEMACS_SRC=$(XEMACS)\src
768 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
769 kernel32.lib user32.lib gdi32.lib advapi32.lib \
770 shell32.lib wsock32.lib winmm.lib libc.lib
771 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
772 -stack:0x800000 -entry:_start -subsystem:console\
773 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
774 -heap:0x00100000 -out:$@
775 TEMACS_CPP_FLAGS=-ML -c $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
776 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
777 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
778 $(EMACS_BETA_VERSION) \
779 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \
780 -DEMACS_CONFIGURATION=\"$(EMACS_CONFIGURATION)\" \
781 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\"
785 $(OUTDIR)\balloon-x.obj \
786 $(OUTDIR)\balloon_help.obj \
787 $(OUTDIR)\console-x.obj \
788 $(OUTDIR)\device-x.obj \
789 $(OUTDIR)\dialog-x.obj \
790 $(OUTDIR)\EmacsFrame.obj \
791 $(OUTDIR)\EmacsManager.obj \
792 $(OUTDIR)\EmacsShell.obj \
793 $(OUTDIR)\TopLevelEmacsShell.obj\
794 $(OUTDIR)\TransientEmacsShell.obj\
795 $(OUTDIR)\event-Xt.obj \
796 $(OUTDIR)\frame-x.obj \
797 $(OUTDIR)\glyphs-x.obj \
798 $(OUTDIR)\gui-x.obj \
799 $(OUTDIR)\menubar-x.obj \
800 $(OUTDIR)\objects-x.obj \
801 $(OUTDIR)\redisplay-x.obj \
802 $(OUTDIR)\scrollbar-x.obj \
803 $(OUTDIR)\xgccache.obj \
805 $(OUTDIR)\xselect.obj
810 $(OUTDIR)\console-msw.obj \
811 $(OUTDIR)\device-msw.obj \
812 $(OUTDIR)\event-msw.obj \
813 $(OUTDIR)\frame-msw.obj \
814 $(OUTDIR)\glyphs-msw.obj \
815 $(OUTDIR)\gui-msw.obj \
816 $(OUTDIR)\menubar-msw.obj \
817 $(OUTDIR)\objects-msw.obj \
818 $(OUTDIR)\redisplay-msw.obj \
819 $(OUTDIR)\scrollbar-msw.obj \
820 $(OUTDIR)\select-msw.obj \
830 $(OUTDIR)\mule-charset.obj \
831 $(OUTDIR)\mule-ccl.obj \
832 $(OUTDIR)\mule-coding.obj
835 $(TEMACS_MULE_OBJS) $(OUTDIR)\input-method-xlib.obj
847 $(TEMACS_CODING_OBJS)\
849 $(TEMACS_DEBUG_OBJS)\
850 $(OUTDIR)\abbrev.obj \
851 $(OUTDIR)\alloc.obj \
852 $(OUTDIR)\alloca.obj \
853 $(OUTDIR)\blocktype.obj \
854 $(OUTDIR)\buffer.obj \
855 $(OUTDIR)\bytecode.obj \
856 $(OUTDIR)\callint.obj \
857 $(OUTDIR)\callproc.obj \
858 $(OUTDIR)\casefiddle.obj \
859 $(OUTDIR)\casetab.obj \
860 $(OUTDIR)\chartab.obj \
861 $(OUTDIR)\cmdloop.obj \
863 $(OUTDIR)\console-stream.obj \
864 $(OUTDIR)\console.obj \
866 $(OUTDIR)\device.obj \
867 $(OUTDIR)\dired.obj \
869 $(OUTDIR)\doprnt.obj \
870 $(OUTDIR)\dragdrop.obj \
871 $(OUTDIR)\dynarr.obj \
872 $(OUTDIR)\editfns.obj \
873 $(OUTDIR)\elhash.obj \
874 $(OUTDIR)\emacs.obj \
876 $(OUTDIR)\event-stream.obj \
877 $(OUTDIR)\events.obj \
878 $(OUTDIR)\extents.obj \
879 $(OUTDIR)\faces.obj \
880 $(OUTDIR)\file-coding.obj \
881 $(OUTDIR)\fileio.obj \
882 $(OUTDIR)\filemode.obj \
883 $(OUTDIR)\floatfns.obj \
885 $(OUTDIR)\font-lock.obj \
886 $(OUTDIR)\frame.obj \
887 $(OUTDIR)\free-hook.obj \
888 $(OUTDIR)\general.obj \
889 $(OUTDIR)\glyphs.obj \
890 $(OUTDIR)\glyphs-eimage.obj \
891 $(OUTDIR)\glyphs-widget.obj \
892 $(OUTDIR)\gmalloc.obj \
895 $(OUTDIR)\indent.obj \
896 $(OUTDIR)\imgproc.obj \
897 $(OUTDIR)\insdel.obj \
899 $(OUTDIR)\keymap.obj \
900 $(OUTDIR)\line-number.obj \
901 $(OUTDIR)\lread.obj \
902 $(OUTDIR)\lstream.obj \
903 $(OUTDIR)\macros.obj \
904 $(OUTDIR)\menubar.obj \
905 $(OUTDIR)\marker.obj \
907 $(OUTDIR)\minibuf.obj \
909 $(OUTDIR)\ntheap.obj \
910 $(OUTDIR)\ntplay.obj \
911 $(OUTDIR)\ntproc.obj \
912 $(OUTDIR)\objects.obj \
913 $(OUTDIR)\opaque.obj \
914 $(OUTDIR)\print.obj \
915 $(OUTDIR)\process.obj \
916 $(OUTDIR)\process-nt.obj \
917 $(OUTDIR)\profile.obj \
918 $(OUTDIR)\rangetab.obj \
919 $(OUTDIR)\realpath.obj \
920 $(OUTDIR)\redisplay-output.obj \
921 $(OUTDIR)\redisplay.obj \
922 $(OUTDIR)\regex.obj \
923 $(OUTDIR)\scrollbar.obj \
924 $(OUTDIR)\search.obj \
925 $(OUTDIR)\signal.obj \
926 $(OUTDIR)\sound.obj \
927 $(OUTDIR)\specifier.obj \
928 $(OUTDIR)\strftime.obj \
929 $(OUTDIR)\symbols.obj \
930 $(OUTDIR)\syntax.obj \
931 $(OUTDIR)\sysdep.obj \
932 $(OUTDIR)\tparam.obj \
934 $(OUTDIR)\unexnt.obj \
935 $(OUTDIR)\vm-limit.obj \
936 $(OUTDIR)\widget.obj \
937 $(OUTDIR)\window.obj \
946 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
947 $(CCV) $(TEMACS_CPP_FLAGS) $< -Fo$@ -Fr$*.sbr
949 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
950 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@
952 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
953 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
955 $(OUTDIR)\alloc.obj: $(TEMACS_SRC)\alloc.c $(TEMACS_SRC)\puresize-adjust.h
957 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
958 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
960 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
961 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
963 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS)
965 $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS)
968 $(NT)\xemacs.res: xemacs.rc
971 # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless
972 $(TEMACS_BROWSE): $(TEMACS_OBJS)
973 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
974 bscmake -nologo -o$@ @bscmake.tmp
977 #------------------------------------------------------------------------------
983 $(DOC): $(LIB_SRC)\make-docfile.exe
985 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
986 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
987 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
988 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3)
989 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4)
990 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5)
991 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6)
992 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7)
993 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8)
994 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9)
996 $(LISP)\Installation.el: Installation.el
997 copy Installation.el $(LISP)
999 update-elc: $(LISP)\Installation.el
1000 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1001 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
1002 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el
1004 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
1005 # requirements has changed.
1006 dump-xemacs: $(TEMACS)
1007 @echo >$(TEMACS_DIR)\SATISFIED
1009 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1010 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
1012 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
1014 #------------------------------------------------------------------------------
1016 # use this rule to build the complete system
1017 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \
1018 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs
1022 # use this rule to install the system
1024 @echo Installing in $(INSTALL_DIR) ...
1025 @echo PlaceHolder > PlaceHolder
1026 @xcopy /q PROBLEMS "$(INSTALL_DIR)\"
1027 @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\"
1028 @del "$(INSTALL_DIR)\lock\PlaceHolder"
1029 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
1030 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1031 @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1032 @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1033 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1034 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
1035 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
1036 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
1037 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
1038 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\site-packages\"
1039 @del "$(PACKAGE_PREFIX)\site-packages\PlaceHolder"
1040 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\"
1041 @del "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder"
1042 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\"
1043 @del "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder"
1056 cd $(XEMACS)\$(TEMACS_DIR)
1057 del puresize-adjust.h
1074 del $(CONFIG_VALUES)
1076 -del /s /q *.bak *.elc *.orig *.rej
1079 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
1081 # DO NOT DELETE THIS LINE -- make depend depends on it.