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(PACKAGE_PATH)
69 ! if !defined(PACKAGE_PREFIX)
70 PACKAGE_PREFIX=c:\Program Files\XEmacs
72 PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\mule-packages;$(PACKAGE_PREFIX)\xemacs-packages
74 PATH_PACKAGEPATH="$(PACKAGE_PATH:\=\\)"
75 !if !defined(HAVE_MSW)
81 !if !defined(HAVE_MULE)
84 !if !defined(HAVE_XPM)
87 !if !defined(HAVE_PNG)
90 !if !defined(HAVE_TIFF)
93 !if !defined(HAVE_JPEG)
96 !if !defined(HAVE_GIF)
99 !if !defined(HAVE_TOOLBARS)
100 HAVE_TOOLBARS=$(HAVE_XPM)
102 !if !defined(HAVE_DIALOGS)
105 !if !defined(HAVE_MSW_C_DIRED)
108 !if !defined(HAVE_NATIVE_SOUND)
111 !if !defined(DEBUG_XEMACS)
114 !if !defined(USE_UNION_TYPE)
117 !if !defined(USE_MINIMAL_TAGBITS)
118 USE_MINIMAL_TAGBITS=0
120 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
121 USE_INDEXED_LRECORD_IMPLEMENTATION=0
125 # System configuration
127 !if !defined(PROCESSOR_ARCHITECTURE) && "$(OS)" != "Windows_NT"
128 EMACS_CONFIGURATION=i386-pc-win32
129 !else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
130 EMACS_CONFIGURATION=i386-pc-win32
131 !else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
132 EMACS_CONFIGURATION=mips-pc-win32
133 !else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
134 EMACS_CONFIGURATION=alpha-pc-win32
135 !else if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
136 EMACS_CONFIGURATION=ppc-pc-win32
138 ! error Unknown processor architecture type $(PROCESSOR_ARCHITECTURE)
145 !if $(INFODOCK) && !exist("..\..\Infodock.rules")
146 !message Cannot build InfoDock without InfoDock sources
149 !if !$(HAVE_MSW) && !$(HAVE_X)
150 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1
153 !if $(HAVE_X) && !defined(X11_DIR)
154 !message Please specify root directory for your X11 installation: X11_DIR=path
157 !if $(HAVE_X) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
158 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
161 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR)
162 !message Please specify root directory for your XPM installation: XPM_DIR=path
165 !if $(HAVE_MSW) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
166 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
169 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(PNG_DIR)
170 !message Please specify root directory for your PNG installation: PNG_DIR=path
173 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
174 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
177 !if $(HAVE_MSW) && $(HAVE_PNG) && !defined(ZLIB_DIR)
178 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
181 !if $(HAVE_MSW) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
182 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
185 !if $(HAVE_MSW) && $(HAVE_TIFF) && !defined(TIFF_DIR)
186 !message Please specify root directory for your TIFF installation: TIFF_DIR=path
189 !if $(HAVE_MSW) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
190 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
193 !if $(HAVE_MSW) && $(HAVE_JPEG) && !defined(JPEG_DIR)
194 !message Please specify root directory for your JPEG installation: JPEG_DIR=path
197 !if $(HAVE_MSW) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
198 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
201 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
202 !error Toolbars require XPM support
206 !error Configuration error(s) found
213 USE_MINIMAL_TAGBITS=$(GUNG_HO)
214 USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
218 # Small configuration report
220 !if !defined(CONF_REPORT_ALREADY_PRINTED)
221 !if [set CONF_REPORT_ALREADY_PRINTED=1]
223 !message ------------------------------------------------
224 !message XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) configured for "$(EMACS_CONFIGURATION)".
226 !message Installation directory is "$(INSTALL_DIR)".
227 !message Package path is "$(PACKAGE_PATH)".
230 !message Building InfoDock.
233 !message Compiling in support for native GUI.
236 !message Compiling in support for X-Windows.
239 !message Compiling in MULE.
242 !message Compiling in support for XPM images.
245 !message Compiling in support for GIF images.
248 !message Compiling in support for PNG images.
251 !message Compiling in support for TIFF images.
254 !message Compiling in support for JPEG images.
257 !message Compiling in support for toolbars.
260 !message Compiling in support for dialogs.
262 !if $(HAVE_NATIVE_SOUND)
263 !message Compiling in support for native sounds.
265 !if $(HAVE_MSW_C_DIRED)
266 # Define HAVE_MSW_C_DIRED to be non-zero if you want XEmacs to use C
267 # primitives to significantly speed up dired, at the expense of an
268 # additional ~4KB of code.
269 !message Compiling in fast dired implementation.
271 !if $(USE_MINIMAL_TAGBITS)
272 !message Using minimal tagbits.
274 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
275 !message Using indexed lrecord implementation.
277 !if $(USE_UNION_TYPE)
278 !message Using union type for Lisp object storage.
281 !message Compiling in extra debug checks. XEmacs will be slow!
283 !message ------------------------------------------------
285 !endif # !defined(CONF_REPORT_ALREADY_PRINTED)
288 # Compiler command echo control. Define VERBOSECC=1 to get vebose compilation.
290 !if !defined(VERBOSECC)
308 X_DEFINES=-DHAVE_X_WINDOWS
309 X_INCLUDES=-I$(X11_DIR)\include
310 X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib
314 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
317 !if $(HAVE_MSW_C_DIRED)
318 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
319 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c
320 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
323 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
324 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
325 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
328 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
329 MSW_GIF_SRC=$(XEMACS)\src\dgif_lib.c $(XEMACS)\src\gif_io.c
330 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
333 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
334 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
335 MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
338 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
339 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
340 MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
343 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
344 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
345 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
348 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
349 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
350 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
351 MSW_LIBS=$(MSW_LIBS) comctl32.lib
354 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
355 MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c
356 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
358 !if $(HAVE_NATIVE_SOUND)
359 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
368 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG
369 DEBUG_FLAGS= -debugtype:both -debug:full
372 !if $(USE_MINIMAL_TAGBITS)
373 TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
375 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
376 LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
378 !if $(USE_UNION_TYPE)
379 UNION_DEFINES=-DUSE_UNION_TYPE
390 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
394 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib
396 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
397 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
398 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
399 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
404 # Creating simplified versions of Installation and Installation.el
406 # Some values cannot be written on the same line with
407 # their key, since they cannot be put inside an echo command.
408 # Macro substitution (:"=\", :\=\\) can be performed on values in order
409 # to create a legal string in LISP for Installation.el.
411 !if [echo OS: $(OS)>Installation] ||\
412 [echo XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for ^`$(EMACS_CONFIGURATION)^'.>>Installation] ||\
413 [echo Where should the build process find the source code?>>Installation] ||\
414 [echo $(MAKEDIR:\=\\)>>Installation]
416 # Compiler Information
418 [echo What compiler should XEmacs be built with?>>Installation] &&\
419 [echo $(CCV)>>Installation]
421 # Window System Information
422 !if [echo What window system should XEmacs use?>>Installation]
424 !if (defined (HAVE_X) && $(HAVE_X) == 1)
425 !if [echo X11>>Installation]
428 !if (defined (HAVE_MSW) && $(HAVE_MSW) == 1)
429 !if [echo MS Windows>>Installation]
432 !if (!defined (HAVE_MSW) && !defined (HAVE_X))
433 !if [echo Please specify at least one HAVE_MSW^=1 and^/or HAVE_X^=1>>Installation]
436 # Creation of Installation.el
437 !if [type Installation] ||\
438 [echo (setq Installation-string ^">Installation.el] ||\
439 [type Installation >>Installation.el] ||\
440 [echo ^")>>Installation.el]
444 #------------------------------------------------------------------------------
446 default: $(OUTDIR)\nul all
452 $(XEMACS)\src\config.h \
453 $(XEMACS)\src\Emacs.ad.h \
454 $(XEMACS)\src\paths.h \
455 $(XEMACS)\src\puresize-adjust.h
457 $(XEMACS)\src\config.h: config.h
458 copy config.h $(XEMACS)\src
460 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h
461 copy Emacs.ad.h $(XEMACS)\src
463 $(XEMACS)\src\paths.h: paths.h
464 copy paths.h $(XEMACS)\src
466 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h
467 copy puresize-adjust.h $(XEMACS)\src
469 #------------------------------------------------------------------------------
473 LIB_SRC = $(XEMACS)\lib-src
474 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
477 # Creating config.values to be used by config.el
479 CONFIG_VALUES = $(LIB_SRC)\config.values
480 !if [echo Creating $(CONFIG_VALUES) && echo ;;; Do not edit this file!>$(CONFIG_VALUES)]
482 # MAKEDIR has to be made into a string.
483 !if [echo blddir>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\..^">>$(CONFIG_VALUES)]
485 !if [echo CC>>$(CONFIG_VALUES) && echo ^"$(CC:\=\\)^">>$(CONFIG_VALUES)]
487 !if [echo CFLAGS>>$(CONFIG_VALUES) && echo ^"$(CFLAGS:\=\\)^">>$(CONFIG_VALUES)]
489 !if [echo CPP>>$(CONFIG_VALUES) && echo ^"$(CPP:\=\\)^">>$(CONFIG_VALUES)]
491 !if [echo CPPFLAGS>>$(CONFIG_VALUES) && echo ^"$(CPPFLAGS:\=\\)^">>$(CONFIG_VALUES)]
493 !if [echo LISPDIR>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\$(LISP:\=\\)^">>$(CONFIG_VALUES)]
495 # PATH_PACKAGEPATH is already a quoted string.
496 !if [echo PACKAGE_PATH>>$(CONFIG_VALUES) && echo $(PATH_PACKAGEPATH)>>$(CONFIG_VALUES)]
500 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
502 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) -O2 -W3 -Fe$@ $**
505 # Individual dependencies
506 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
507 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
508 $(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
510 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) -O2 -W3 -Fe$@ $** wsock32.lib
514 $(LIB_SRC)/make-docfile.exe \
515 $(LIB_SRC)/hexl.exe \
516 $(LIB_SRC)/movemail.exe \
517 $(LIB_SRC)/mmencode.exe \
518 $(LIB_SRC)/sorted-doc.exe \
519 $(LIB_SRC)/wakeup.exe \
522 #------------------------------------------------------------------------------
526 RUNEMACS = $(XEMACS)\src\runemacs.exe
528 $(RUNEMACS): $(NT)\runemacs.c $(NT)\xemacs.res
529 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc -O2 -W3 -Fe$@ $** kernel32.lib user32.lib
531 #------------------------------------------------------------------------------
535 LASTFILE=$(OUTDIR)\lastfile.lib
536 LASTFILE_SRC=$(XEMACS)\src
537 LASTFILE_FLAGS=$(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) -Fo$@ -c
539 $(OUTDIR)\lastfile.obj
541 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
542 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
544 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
545 $(CCV) $(LASTFILE_FLAGS) $**
547 #------------------------------------------------------------------------------
553 LWLIB=$(OUTDIR)\lwlib.lib
554 LWLIB_SRC=$(XEMACS)\lwlib
555 LWLIB_FLAGS=$(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) \
556 -DNEED_ATHENA -DNEED_LUCID \
557 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \
560 $(OUTDIR)\lwlib-config.obj \
561 $(OUTDIR)\lwlib-utils.obj \
562 $(OUTDIR)\lwlib-Xaw.obj \
563 $(OUTDIR)\lwlib-Xlw.obj \
564 $(OUTDIR)\lwlib.obj \
565 $(OUTDIR)\xlwmenu.obj \
566 $(OUTDIR)\xlwscrollbar.obj
568 $(LWLIB): $(LWLIB_OBJS)
569 link.exe -lib -nologo $(DEBUG_FLAGS) -out:$@ $(LWLIB_OBJS)
571 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c
572 $(CCV) $(LWLIB_FLAGS) $**
574 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c
575 $(CCV) $(LWLIB_FLAGS) $**
577 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c
578 $(CCV) $(LWLIB_FLAGS) $**
580 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c
581 $(CCV) $(LWLIB_FLAGS) $**
583 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c
584 $(CCV) $(LWLIB_FLAGS) $**
586 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c
587 $(CCV) $(LWLIB_FLAGS) $**
589 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c
590 $(CCV) $(LWLIB_FLAGS) $**
593 #------------------------------------------------------------------------------
597 $(XEMACS)\src\abbrev.c \
598 $(XEMACS)\src\alloc.c \
599 $(XEMACS)\src\alloca.c \
600 $(XEMACS)\src\blocktype.c \
601 $(XEMACS)\src\buffer.c \
602 $(XEMACS)\src\bytecode.c \
603 $(XEMACS)\src\callint.c \
604 $(XEMACS)\src\callproc.c \
605 $(XEMACS)\src\casefiddle.c \
606 $(XEMACS)\src\casetab.c \
607 $(XEMACS)\src\chartab.c \
608 $(XEMACS)\src\cmdloop.c \
609 $(XEMACS)\src\cmds.c \
610 $(XEMACS)\src\console-stream.c \
611 $(XEMACS)\src\console.c \
612 $(XEMACS)\src\data.c \
613 $(XEMACS)\src\device.c
615 $(XEMACS)\src\dired.c \
616 $(XEMACS)\src\doc.c \
617 $(XEMACS)\src\doprnt.c \
618 $(XEMACS)\src\dragdrop.c \
619 $(XEMACS)\src\dynarr.c \
620 $(XEMACS)\src\editfns.c \
621 $(XEMACS)\src\elhash.c \
622 $(XEMACS)\src\emacs.c \
623 $(XEMACS)\src\eval.c \
624 $(XEMACS)\src\event-stream.c \
625 $(XEMACS)\src\events.c \
626 $(XEMACS)\src\extents.c \
627 $(XEMACS)\src\faces.c \
628 $(XEMACS)\src\file-coding.c \
629 $(XEMACS)\src\fileio.c \
630 $(XEMACS)\src\filemode.c \
631 $(XEMACS)\src\floatfns.c \
634 $(XEMACS)\src\font-lock.c \
635 $(XEMACS)\src\frame.c \
636 $(XEMACS)\src\free-hook.c \
637 $(XEMACS)\src\general.c \
638 $(XEMACS)\src\glyphs.c \
639 $(XEMACS)\src\glyphs-eimage.c \
640 $(XEMACS)\src\gmalloc.c \
641 $(XEMACS)\src\gui.c \
642 $(XEMACS)\src\hash.c \
643 $(XEMACS)\src\imgproc.c \
644 $(XEMACS)\src\indent.c \
645 $(XEMACS)\src\insdel.c \
646 $(XEMACS)\src\intl.c \
647 $(XEMACS)\src\keymap.c \
648 $(XEMACS)\src\line-number.c \
649 $(XEMACS)\src\lread.c \
650 $(XEMACS)\src\lstream.c \
651 $(XEMACS)\src\macros.c \
652 $(XEMACS)\src\marker.c
654 $(XEMACS)\src\md5.c \
655 $(XEMACS)\src\menubar.c \
656 $(XEMACS)\src\minibuf.c \
658 $(XEMACS)\src\ntheap.c \
659 $(XEMACS)\src\ntplay.c \
660 $(XEMACS)\src\ntproc.c \
661 $(XEMACS)\src\objects.c \
662 $(XEMACS)\src\opaque.c \
663 $(XEMACS)\src\print.c \
664 $(XEMACS)\src\process.c \
665 $(XEMACS)\src\process-nt.c \
666 $(XEMACS)\src\profile.c \
667 $(XEMACS)\src\rangetab.c \
668 $(XEMACS)\src\realpath.c \
669 $(XEMACS)\src\redisplay-output.c \
670 $(XEMACS)\src\redisplay.c \
671 $(XEMACS)\src\regex.c \
672 $(XEMACS)\src\scrollbar.c \
673 $(XEMACS)\src\scrollbar-msw.c \
674 $(XEMACS)\src\search.c \
675 $(XEMACS)\src\signal.c \
676 $(XEMACS)\src\sound.c
678 $(XEMACS)\src\specifier.c \
679 $(XEMACS)\src\strftime.c \
680 $(XEMACS)\src\symbols.c \
681 $(XEMACS)\src\syntax.c \
682 $(XEMACS)\src\sysdep.c \
683 $(XEMACS)\src\termcap.c \
684 $(XEMACS)\src\tparam.c \
685 $(XEMACS)\src\undo.c \
686 $(XEMACS)\src\unexnt.c \
687 $(XEMACS)\src\vm-limit.c \
688 $(XEMACS)\src\window.c \
689 $(XEMACS)\src\widget.c
693 $(XEMACS)\src\balloon_help.c \
694 $(XEMACS)\src\console-x.c \
695 $(XEMACS)\src\device-x.c \
696 $(XEMACS)\src\dialog-x.c \
697 $(XEMACS)\src\EmacsFrame.c \
698 $(XEMACS)\src\EmacsManager.c \
699 $(XEMACS)\src\EmacsShell-sub.c\
700 $(XEMACS)\src\EmacsShell.c \
701 $(XEMACS)\src\event-Xt.c \
702 $(XEMACS)\src\frame-x.c \
703 $(XEMACS)\src\glyphs-x.c \
704 $(XEMACS)\src\gui-x.c \
705 $(XEMACS)\src\menubar.c \
706 $(XEMACS)\src\menubar-x.c \
707 $(XEMACS)\src\objects-x.c \
708 $(XEMACS)\src\redisplay-x.c \
709 $(XEMACS)\src\scrollbar-x.c \
710 $(XEMACS)\src\balloon-x.c \
711 $(XEMACS)\src\xgccache.c \
712 $(XEMACS)\src\xmu.c \
713 $(XEMACS)\src\xselect.c
718 $(XEMACS)\src\console-msw.c \
719 $(XEMACS)\src\device-msw.c \
720 $(XEMACS)\src\event-msw.c \
721 $(XEMACS)\src\frame-msw.c \
722 $(XEMACS)\src\glyphs-msw.c \
723 $(XEMACS)\src\menubar-msw.c \
724 $(XEMACS)\src\objects-msw.c \
725 $(XEMACS)\src\redisplay-msw.c \
726 $(XEMACS)\src\scrollbar-msw.c \
727 $(XEMACS)\src\select-msw.c \
736 $(XEMACS)\src\input-method-xlib.c \
737 $(XEMACS)\src\mule.c \
738 $(XEMACS)\src\mule-charset.c \
739 $(XEMACS)\src\mule-ccl.c \
740 $(XEMACS)\src\mule-coding.c
745 $(XEMACS)\src\debug.c
748 #------------------------------------------------------------------------------
753 !if "$(emacs_beta_version)" != ""
754 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
757 TEMACS_DIR=$(XEMACS)\src
758 TEMACS=$(TEMACS_DIR)\temacs.exe
759 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
760 TEMACS_SRC=$(XEMACS)\src
761 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
762 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib \
763 shell32.lib ole32.lib oleaut32.lib uuid.lib wsock32.lib winmm.lib libc.lib
764 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
765 -stack:0x800000 -entry:_start -subsystem:console\
766 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
767 -heap:0x00100000 -out:$@
768 TEMACS_CPP_FLAGS= $(WARN_CPP_FLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
769 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
770 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
771 $(EMACS_BETA_VERSION) \
772 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \
773 -DEMACS_CONFIGURATION=\"$(EMACS_CONFIGURATION)\" \
774 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\"
776 TEMACS_FLAGS=-ML $(WARN_CPP_FALGS) $(OPT) -c $(TEMACS_CPP_FLAGS)
780 $(OUTDIR)\balloon-x.obj \
781 $(OUTDIR)\balloon_help.obj \
782 $(OUTDIR)\console-x.obj \
783 $(OUTDIR)\device-x.obj \
784 $(OUTDIR)\dialog-x.obj \
785 $(OUTDIR)\EmacsFrame.obj \
786 $(OUTDIR)\EmacsManager.obj \
787 $(OUTDIR)\EmacsShell.obj \
788 $(OUTDIR)\TopLevelEmacsShell.obj\
789 $(OUTDIR)\TransientEmacsShell.obj\
790 $(OUTDIR)\event-Xt.obj \
791 $(OUTDIR)\frame-x.obj \
792 $(OUTDIR)\glyphs-x.obj \
793 $(OUTDIR)\gui-x.obj \
794 $(OUTDIR)\menubar-x.obj \
795 $(OUTDIR)\objects-x.obj \
796 $(OUTDIR)\redisplay-x.obj \
797 $(OUTDIR)\scrollbar-x.obj \
798 $(OUTDIR)\xgccache.obj \
800 $(OUTDIR)\xselect.obj
805 $(OUTDIR)\console-msw.obj \
806 $(OUTDIR)\device-msw.obj \
807 $(OUTDIR)\event-msw.obj \
808 $(OUTDIR)\frame-msw.obj \
809 $(OUTDIR)\glyphs-msw.obj \
810 $(OUTDIR)\menubar-msw.obj \
811 $(OUTDIR)\objects-msw.obj \
812 $(OUTDIR)\redisplay-msw.obj \
813 $(OUTDIR)\scrollbar-msw.obj \
814 $(OUTDIR)\select-msw.obj \
823 $(OUTDIR)\input-method-xlib.obj \
825 $(OUTDIR)\mule-charset.obj \
826 $(OUTDIR)\mule-ccl.obj \
827 $(OUTDIR)\mule-coding.obj
838 $(TEMACS_CODING_OBJS)\
840 $(TEMACS_DEBUG_OBJS)\
841 $(OUTDIR)\abbrev.obj \
842 $(OUTDIR)\alloc.obj \
843 $(OUTDIR)\alloca.obj \
844 $(OUTDIR)\blocktype.obj \
845 $(OUTDIR)\buffer.obj \
846 $(OUTDIR)\bytecode.obj \
847 $(OUTDIR)\callint.obj \
848 $(OUTDIR)\callproc.obj \
849 $(OUTDIR)\casefiddle.obj \
850 $(OUTDIR)\casetab.obj \
851 $(OUTDIR)\chartab.obj \
852 $(OUTDIR)\cmdloop.obj \
854 $(OUTDIR)\console-stream.obj \
855 $(OUTDIR)\console.obj \
857 $(OUTDIR)\device.obj \
858 $(OUTDIR)\dired.obj \
860 $(OUTDIR)\doprnt.obj \
861 $(OUTDIR)\dragdrop.obj \
862 $(OUTDIR)\dynarr.obj \
863 $(OUTDIR)\editfns.obj \
864 $(OUTDIR)\elhash.obj \
865 $(OUTDIR)\emacs.obj \
867 $(OUTDIR)\event-stream.obj \
868 $(OUTDIR)\events.obj \
869 $(OUTDIR)\extents.obj \
870 $(OUTDIR)\faces.obj \
871 $(OUTDIR)\file-coding.obj \
872 $(OUTDIR)\fileio.obj \
873 $(OUTDIR)\filemode.obj \
874 $(OUTDIR)\floatfns.obj \
876 $(OUTDIR)\font-lock.obj \
877 $(OUTDIR)\frame.obj \
878 $(OUTDIR)\free-hook.obj \
879 $(OUTDIR)\general.obj \
880 $(OUTDIR)\glyphs.obj \
881 $(OUTDIR)\glyphs-eimage.obj \
882 $(OUTDIR)\gmalloc.obj \
885 $(OUTDIR)\indent.obj \
886 $(OUTDIR)\imgproc.obj \
887 $(OUTDIR)\insdel.obj \
889 $(OUTDIR)\keymap.obj \
890 $(OUTDIR)\line-number.obj \
891 $(OUTDIR)\lread.obj \
892 $(OUTDIR)\lstream.obj \
893 $(OUTDIR)\macros.obj \
894 $(OUTDIR)\menubar.obj \
895 $(OUTDIR)\marker.obj \
897 $(OUTDIR)\minibuf.obj \
899 $(OUTDIR)\ntheap.obj \
900 $(OUTDIR)\ntplay.obj \
901 $(OUTDIR)\ntproc.obj \
902 $(OUTDIR)\objects.obj \
903 $(OUTDIR)\opaque.obj \
904 $(OUTDIR)\print.obj \
905 $(OUTDIR)\process.obj \
906 $(OUTDIR)\process-nt.obj \
907 $(OUTDIR)\profile.obj \
908 $(OUTDIR)\rangetab.obj \
909 $(OUTDIR)\realpath.obj \
910 $(OUTDIR)\redisplay-output.obj \
911 $(OUTDIR)\redisplay.obj \
912 $(OUTDIR)\regex.obj \
913 $(OUTDIR)\scrollbar.obj \
914 $(OUTDIR)\search.obj \
915 $(OUTDIR)\signal.obj \
916 $(OUTDIR)\sound.obj \
917 $(OUTDIR)\specifier.obj \
918 $(OUTDIR)\strftime.obj \
919 $(OUTDIR)\symbols.obj \
920 $(OUTDIR)\syntax.obj \
921 $(OUTDIR)\sysdep.obj \
922 $(OUTDIR)\tparam.obj \
924 $(OUTDIR)\unexnt.obj \
925 $(OUTDIR)\vm-limit.obj \
926 $(OUTDIR)\widget.obj \
927 $(OUTDIR)\window.obj \
936 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
937 $(CCV) $(TEMACS_FLAGS) $< -Fo$@ -Fr$*.sbr
939 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
940 $(CCV) $(TEMACS_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@
942 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
943 $(CCV) $(TEMACS_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
945 $(OUTDIR)\alloc.obj: $(TEMACS_SRC)\alloc.c $(TEMACS_SRC)\puresize-adjust.h
947 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
948 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
950 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
951 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
953 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS)
955 $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS)
958 $(NT)\xemacs.res: xemacs.rc
961 # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless
962 $(TEMACS_BROWSE): $(TEMACS_OBJS)
963 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
964 bscmake -nologo -o$@ @bscmake.tmp
967 #------------------------------------------------------------------------------
973 $(DOC): $(LIB_SRC)\make-docfile.exe
975 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
976 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
977 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
978 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3)
979 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4)
980 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5)
981 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6)
982 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7)
983 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8)
984 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9)
986 $(LISP)\Installation.el: Installation.el
987 copy Installation.el $(LISP)
989 update-elc: $(LISP)\Installation.el
990 set EMACSBOOTSTRAPLOADPATH=$(LISP)
991 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el
993 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
994 # requirements has changed.
995 dump-xemacs: $(TEMACS)
996 @echo >$(TEMACS_DIR)\SATISFIED
998 set EMACSBOOTSTRAPLOADPATH=$(LISP)
999 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
1001 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
1003 #------------------------------------------------------------------------------
1005 # use this rule to build the complete system
1006 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \
1007 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs
1011 # use this rule to install the system
1013 @echo Installing in $(INSTALL_DIR) ...
1014 @echo PlaceHolder > PlaceHolder
1015 @xcopy /q PROBLEMS "$(INSTALL_DIR)\"
1016 @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\"
1017 @del "$(INSTALL_DIR)\lock\PlaceHolder"
1018 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
1019 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1020 @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1021 @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1022 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1023 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
1024 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
1025 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
1026 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
1027 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\site-packages\"
1028 @del "$(PACKAGE_PREFIX)\site-packages\PlaceHolder"
1029 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\"
1030 @del "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder"
1031 @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\"
1032 @del "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder"
1045 cd $(XEMACS)\$(TEMACS_DIR)
1046 del puresize-adjust.h
1063 del $(CONFIG_VALUES)
1065 -del /s /q *.bak *.elc *.orig *.rej
1068 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
1070 # DO NOT DELETE THIS LINE -- make depend depends on it.