428
+ − 1 # Makefile for Microsoft NMAKE
+ − 2 # Copyright (C) 1995 Board of Trustees, University of Illinois.
776
+ − 3 # Copyright (C) 1995, 1996, 2000, 2001, 2002 Ben Wing.
428
+ − 4 # Copyright (C) 1995 Sun Microsystems, Inc.
+ − 5 # Copyright (C) 1998 Free Software Foundation, Inc.
+ − 6 #
+ − 7 # This file is part of XEmacs.
+ − 8 #
+ − 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
+ − 12 # later version.
+ − 13 #
+ − 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
+ − 17 # for more details.
+ − 18 #
+ − 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.
+ − 23 #
+ − 24 # Synched up with: Not in FSF.
+ − 25 #
+ − 26
442
+ − 27 default: all
+ − 28
444
+ − 29 # APA: Since there seems to be no way to determine the directory where
+ − 30 # xemacs.mak is located (from within nmake) we just insist on the user
+ − 31 # to invoke nmake in the directory where xemacs.mak is.
+ − 32 !if !exist("$(MAKEDIR)\xemacs.mak")
+ − 33 !error Please run nmake from the directory of this makefile (xemacs\nt).
+ − 34 !endif
+ − 35
+ − 36 XEMACS=$(MAKEDIR)\..
428
+ − 37 LISP=$(XEMACS)\lisp
442
+ − 38 LIB_SRC=$(XEMACS)\lib-src
428
+ − 39 MODULES=$(XEMACS)\modules
+ − 40 NT=$(XEMACS)\nt
+ − 41 OUTDIR=$(NT)\obj
442
+ − 42 SRC=$(XEMACS)\src
+ − 43 LWLIB_SRCDIR=$(XEMACS)\lwlib
+ − 44 MAKEDIRSTRING=$(MAKEDIR:\=\\)
+ − 45 XEMACSDIRSTRING=$(MAKEDIRSTRING:\\nt=)
+ − 46
428
+ − 47
637
+ − 48 # Common operations
+ − 49
+ − 50 # Note that some versions of some commands are deficient.
428
+ − 51
637
+ − 52 # Define the 'del' command to use
+ − 53 # WinME's DEL command can only handle one argument and only has the /P flag.
+ − 54 # So only delete one glob at a time. Override flags in config.inc.
+ − 55 DEL=del
+ − 56
+ − 57 # Define the 'copy' command to use
583
+ − 58 # Suppress confirmation for overwriting files
669
+ − 59 # Use /r (instead of /y), which exists on Windows NT 4 and 5.
771
+ − 60 COPY=xcopy /q /y
+ − 61 COPYDIR=xcopy /q /y /e
583
+ − 62
428
+ − 63 # Program name and version
+ − 64
442
+ − 65 !include "$(XEMACS)\version.sh"
+ − 66
+ − 67 !include "config.inc"
428
+ − 68
+ − 69 !if !defined(INFODOCK)
+ − 70 INFODOCK=0
+ − 71 !endif
+ − 72
+ − 73 !if $(INFODOCK)
+ − 74 INFODOCK_VERSION_STRING=$(infodock_major_version).$(infodock_minor_version).$(infodock_build_version)
+ − 75 PROGRAM_DEFINES=-DINFODOCK \
+ − 76 -DPATH_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
+ − 77 -DPATH_PROGNAME=\"infodock\" \
442
+ − 78 -DEMACS_PROGNAME=\"infodock\" \
+ − 79 -DEMACS_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
428
+ − 80 -DINFODOCK_MAJOR_VERSION=$(infodock_major_version) \
+ − 81 -DINFODOCK_MINOR_VERSION=$(infodock_minor_version) \
+ − 82 -DINFODOCK_BUILD_VERSION=$(infodock_build_version)
+ − 83 !else
496
+ − 84 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)
+ − 85 !if "$(emacs_beta_version)" != ""
488
+ − 86 !if "$(emacs_is_beta)" != ""
496
+ − 87 XEMACS_VERSION_STRING=$(XEMACS_VERSION_STRING)-b$(emacs_beta_version)
428
+ − 88 !else
496
+ − 89 XEMACS_VERSION_STRING=$(XEMACS_VERSION_STRING).$(emacs_beta_version)
+ − 90 !endif
428
+ − 91 !endif
+ − 92 PROGRAM_DEFINES= \
+ − 93 -DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" \
442
+ − 94 -DPATH_PROGNAME=\"xemacs\" \
+ − 95 -DEMACS_VERSION=\"$(XEMACS_VERSION_STRING)\" \
+ − 96 -DEMACS_PROGNAME=\"xemacs\"
428
+ − 97 !endif
+ − 98
+ − 99 #
+ − 100 # Command line options defaults
+ − 101 #
+ − 102 !if !defined(INSTALL_DIR)
+ − 103 ! if $(INFODOCK)
+ − 104 INSTALL_DIR=c:\Program Files\Infodock\Infodock-$(INFODOCK_VERSION_STRING)
+ − 105 ! else
+ − 106 INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
+ − 107 ! endif
+ − 108 !endif
771
+ − 109 !if !defined(MULE)
+ − 110 MULE=0
428
+ − 111 !endif
+ − 112 !if !defined(PACKAGE_PATH)
+ − 113 ! if !defined(PACKAGE_PREFIX)
+ − 114 PACKAGE_PREFIX=c:\Program Files\XEmacs
+ − 115 ! endif
771
+ − 116 ! if $(MULE)
428
+ − 117 PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\mule-packages;$(PACKAGE_PREFIX)\xemacs-packages
+ − 118 ! else
+ − 119 PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\xemacs-packages
+ − 120 ! endif
+ − 121 !endif
+ − 122 PATH_PACKAGEPATH="$(PACKAGE_PATH:\=\\)"
442
+ − 123 !if !defined(HAVE_MS_WINDOWS)
+ − 124 HAVE_MS_WINDOWS=1
428
+ − 125 !endif
442
+ − 126 !if !defined(HAVE_X_WINDOWS)
+ − 127 HAVE_X_WINDOWS=0
428
+ − 128 !endif
+ − 129 !if !defined(HAVE_XPM)
+ − 130 HAVE_XPM=0
+ − 131 !endif
+ − 132 !if !defined(HAVE_PNG)
+ − 133 HAVE_PNG=0
+ − 134 !endif
632
+ − 135 !if !defined(HAVE_ZLIB)
+ − 136 HAVE_ZLIB=$(HAVE_PNG)
+ − 137 !endif
428
+ − 138 !if !defined(HAVE_TIFF)
+ − 139 HAVE_TIFF=0
+ − 140 !endif
+ − 141 !if !defined(HAVE_JPEG)
+ − 142 HAVE_JPEG=0
+ − 143 !endif
+ − 144 !if !defined(HAVE_XFACE)
+ − 145 HAVE_XFACE=0
+ − 146 !endif
+ − 147 !if !defined(HAVE_GIF)
+ − 148 HAVE_GIF=1
+ − 149 !endif
488
+ − 150 !if !defined(HAVE_GTK)
+ − 151 HAVE_GTK=0
+ − 152 !endif
428
+ − 153 !if !defined(HAVE_TOOLBARS)
+ − 154 HAVE_TOOLBARS=$(HAVE_XPM)
+ − 155 !endif
+ − 156 !if !defined(HAVE_DIALOGS)
+ − 157 HAVE_DIALOGS=1
+ − 158 !endif
+ − 159 !if !defined(HAVE_MSW_C_DIRED)
+ − 160 HAVE_MSW_C_DIRED=1
+ − 161 !endif
+ − 162 !if !defined(HAVE_NATIVE_SOUND)
+ − 163 HAVE_NATIVE_SOUND=1
+ − 164 !endif
+ − 165 !if !defined(HAVE_WIDGETS)
+ − 166 HAVE_WIDGETS=1
+ − 167 !endif
+ − 168 !if !defined(DEBUG_XEMACS)
+ − 169 DEBUG_XEMACS=0
+ − 170 !endif
442
+ − 171 !if !defined(QUICK_BUILD)
+ − 172 QUICK_BUILD=0
+ − 173 !endif
428
+ − 174 !if !defined(USE_UNION_TYPE)
+ − 175 USE_UNION_TYPE=0
+ − 176 !endif
438
+ − 177 !if !defined(USE_MINITAR)
632
+ − 178 USE_MINITAR=$(HAVE_ZLIB)
438
+ − 179 !endif
428
+ − 180 !if !defined(USE_MINIMAL_TAGBITS)
+ − 181 USE_MINIMAL_TAGBITS=0
+ − 182 !endif
+ − 183 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
+ − 184 USE_INDEXED_LRECORD_IMPLEMENTATION=0
+ − 185 !endif
438
+ − 186 !if !defined(USE_PORTABLE_DUMPER)
+ − 187 USE_PORTABLE_DUMPER=0
+ − 188 !endif
428
+ − 189 !if !defined(GUNG_HO)
+ − 190 GUNG_HO=0
+ − 191 !endif
+ − 192
440
+ − 193 # A little bit of adhockery. Default to use system malloc and
+ − 194 # DLL version of the C runtime library when using portable
+ − 195 # dumping. These are the optimal settings.
+ − 196 !if !defined(USE_SYSTEM_MALLOC)
+ − 197 USE_SYSTEM_MALLOC=$(USE_PORTABLE_DUMPER)
+ − 198 !endif
+ − 199 !if !defined(USE_CRTDLL)
+ − 200 USE_CRTDLL=$(USE_PORTABLE_DUMPER)
+ − 201 !endif
+ − 202
428
+ − 203 #
+ − 204 # System configuration
+ − 205 #
+ − 206 !if !defined(OS)
+ − 207 OS=Windows_95/98
+ − 208 EMACS_CONFIGURATION=i586-pc-win32
+ − 209 !else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
+ − 210 EMACS_CONFIGURATION=i586-pc-win32
+ − 211 !else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
+ − 212 EMACS_CONFIGURATION=mips-pc-win32
+ − 213 !else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
+ − 214 EMACS_CONFIGURATION=alpha-pc-win32
+ − 215 !else if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
+ − 216 EMACS_CONFIGURATION=ppc-pc-win32
+ − 217 !else
+ − 218 ! error Unknown processor architecture type $(PROCESSOR_ARCHITECTURE)
+ − 219 !endif
+ − 220
+ − 221 #
+ − 222 # Conf error checks
+ − 223 #
+ − 224 CONFIG_ERROR=0
+ − 225 !if $(INFODOCK) && !exist("..\..\Infodock.rules")
+ − 226 !message Cannot build InfoDock without InfoDock sources
+ − 227 CONFIG_ERROR=1
+ − 228 !endif
440
+ − 229 !if !$(USE_PORTABLE_DUMPER) && $(USE_SYSTEM_MALLOC)
+ − 230 !message Cannot use system allocator when dumping old way, use portable dumper.
+ − 231 CONFIG_ERROR=1
+ − 232 !endif
+ − 233 !if !$(USE_PORTABLE_DUMPER) && $(USE_CRTDLL)
+ − 234 !message Cannot use C runtime DLL when dumping old way, use portable dumper.
+ − 235 CONFIG_ERROR=1
+ − 236 !endif
+ − 237 !if !$(USE_SYSTEM_MALLOC) && $(USE_CRTDLL)
+ − 238 !message GNU malloc currently cannot be used with CRT DLL.
+ − 239 !message [[[Developer note: If you want to fix it, read Q112297 first]]] ####
+ − 240 CONFIG_ERROR=1
+ − 241 !endif
442
+ − 242 !if !$(HAVE_MS_WINDOWS) && !$(HAVE_X_WINDOWS)
+ − 243 !message Please specify at least one HAVE_MS_WINDOWS=1 and/or HAVE_X_WINDOWS=1
428
+ − 244 CONFIG_ERROR=1
+ − 245 !endif
442
+ − 246 !if $(HAVE_X_WINDOWS) && !defined(X11_DIR)
428
+ − 247 !message Please specify root directory for your X11 installation: X11_DIR=path
+ − 248 CONFIG_ERROR=1
+ − 249 !endif
442
+ − 250 !if $(HAVE_X_WINDOWS) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
428
+ − 251 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
+ − 252 CONFIG_ERROR=1
+ − 253 !endif
488
+ − 254 !if $(HAVE_MS_WINDOWS) && $(HAVE_GTK) && !defined(GTK_DIR)
+ − 255 !message Please specify root directory for your GTK installation: GTK_DIR=path
+ − 256 CONFIG_ERROR=1
+ − 257 !endif
442
+ − 258 !if $(HAVE_MS_WINDOWS) && $(HAVE_XPM) && !defined(XPM_DIR)
428
+ − 259 !message Please specify root directory for your XPM installation: XPM_DIR=path
+ − 260 CONFIG_ERROR=1
+ − 261 !endif
442
+ − 262 !if $(HAVE_MS_WINDOWS) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
428
+ − 263 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
+ − 264 CONFIG_ERROR=1
+ − 265 !endif
442
+ − 266 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && !defined(PNG_DIR)
428
+ − 267 !message Please specify root directory for your PNG installation: PNG_DIR=path
+ − 268 CONFIG_ERROR=1
+ − 269 !endif
442
+ − 270 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
428
+ − 271 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
+ − 272 CONFIG_ERROR=1
+ − 273 !endif
442
+ − 274 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && !defined(ZLIB_DIR)
428
+ − 275 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
+ − 276 CONFIG_ERROR=1
+ − 277 !endif
442
+ − 278 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
428
+ − 279 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
+ − 280 CONFIG_ERROR=1
+ − 281 !endif
442
+ − 282 !if $(HAVE_MS_WINDOWS) && $(HAVE_TIFF) && !defined(TIFF_DIR)
428
+ − 283 !message Please specify root directory for your TIFF installation: TIFF_DIR=path
+ − 284 CONFIG_ERROR=1
+ − 285 !endif
442
+ − 286 !if $(HAVE_MS_WINDOWS) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
428
+ − 287 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
+ − 288 CONFIG_ERROR=1
+ − 289 !endif
442
+ − 290 !if $(HAVE_MS_WINDOWS) && $(HAVE_JPEG) && !defined(JPEG_DIR)
428
+ − 291 !message Please specify root directory for your JPEG installation: JPEG_DIR=path
+ − 292 CONFIG_ERROR=1
+ − 293 !endif
442
+ − 294 !if $(HAVE_MS_WINDOWS) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
428
+ − 295 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
+ − 296 CONFIG_ERROR=1
+ − 297 !endif
442
+ − 298 !if $(HAVE_MS_WINDOWS) && $(HAVE_XFACE) && !defined(COMPFACE_DIR)
428
+ − 299 !message Please specify root directory for your COMPFACE installation: COMPFACE_DIR=path
+ − 300 CONFIG_ERROR=1
+ − 301 !endif
442
+ − 302 !if $(HAVE_MS_WINDOWS) && $(HAVE_XFACE) && !exist("$(COMPFACE_DIR)\libcompface.lib")
428
+ − 303 !message Specified COMPFACE directory does not contain "$(COMPFACE_DIR)\libcompface.lib"
+ − 304 CONFIG_ERROR=1
+ − 305 !endif
442
+ − 306 !if $(HAVE_MS_WINDOWS) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
428
+ − 307 !message Toolbars require XPM support
+ − 308 CONFIG_ERROR=1
+ − 309 !endif
+ − 310 !if $(CONFIG_ERROR)
+ − 311 !error Configuration error(s) found
+ − 312 !endif
+ − 313
+ − 314 #
+ − 315 # Handle GUNG_HO
+ − 316 #
+ − 317 !if defined(GUNG_HO)
+ − 318 USE_MINIMAL_TAGBITS=$(GUNG_HO)
+ − 319 USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
+ − 320 !endif
+ − 321
+ − 322 #
442
+ − 323 # Whether to use dependency information generated by make-src-depend
+ − 324 #
+ − 325 !if !defined(DEPEND)
+ − 326 DEPEND=0
+ − 327 !endif
780
+ − 328 !if !defined(PERL_NEEDS_MORE_QUOTING)
+ − 329 PERL_NEEDS_MORE_QUOTING=1
+ − 330 !endif
771
+ − 331 !if $(DEPEND) && exist("$(SRC)\depend")
442
+ − 332 ! if [if not exist $(OUTDIR)\nul mkdir "$(OUTDIR)"]
+ − 333 ! endif
462
+ − 334 # #### Yuuuuuuuuuuck!!! Cygwin is too smart for its own good. If we are
+ − 335 # being run from within Cygwin, a Cygwin Perl seems to require twice as
+ − 336 # much backslash quoting. This does not happen, of course, with a non-
+ − 337 # Cygwin Perl, so in that circumstance, you'd be screwed and would have
+ − 338 # to fix this Makefile to not have a special Cygwin case.
780
+ − 339 # ! if defined(_)
+ − 340 # #### 3-17-02 Double yuck! Suddenly, perl is wanting more quoting always.
+ − 341 # #### I have no idea what changed. So I'm just making a variable for
+ − 342 # #### this. --ben
+ − 343 ! if $(PERL_NEEDS_MORE_QUOTING)
462
+ − 344 ! if [perl -p -e "s/^\\x23if defined(.+)/!if defined$$1/; s/^\\x23e/!e/;" \
+ − 345 -e "s/([\\s=^])([\\w\\d\\.\\-^]+\\.[ch^])/$$1$(SRC:\=\\\\)\\\\$$2/g;" \
587
+ − 346 -e "s/^(.+)\\.o:(.+)/$(OUTDIR:\=\\\\)\\\\$$1.obj:$$2 $(NT:\=\\\\)\\\\config.inc/;" \
462
+ − 347 < $(SRC)\depend > $(OUTDIR)\depend.tmp]
+ − 348 ! endif
+ − 349 ! else
+ − 350 ! if [perl -p -e "s/^\x23if defined(.+)/!if defined$$1/; s/^\x23e/!e/;" \
442
+ − 351 -e "s/([\s=^])([\w\d\.\-^]+\.[ch^])/$$1$(SRC:\=\\)\\$$2/g;" \
587
+ − 352 -e "s/^(.+)\.o:(.+)/$(OUTDIR:\=\\)\\$$1.obj:$$2 $(NT:\=\\)\\config.inc/;" \
442
+ − 353 < $(SRC)\depend > $(OUTDIR)\depend.tmp]
462
+ − 354 ! endif
442
+ − 355 ! endif
+ − 356 ! include "$(OUTDIR)\depend.tmp"
+ − 357 !else
+ − 358 ! if [echo WARNING: Compiling without dependency information.]
+ − 359 ! endif
+ − 360 !endif
+ − 361
+ − 362 #
428
+ − 363 # Compiler command echo control. Define VERBOSECC=1 to get verbose compilation.
+ − 364 #
+ − 365 !if !defined(VERBOSECC)
+ − 366 VERBOSECC=0
+ − 367 !endif
+ − 368 !if $(VERBOSECC)
+ − 369 CCV=$(CC)
+ − 370 !else
+ − 371 CCV=@$(CC)
+ − 372 !endif
+ − 373
+ − 374 !if $(DEBUG_XEMACS)
+ − 375 OPT=-Od -Zi
+ − 376 !else
+ − 377 OPT=-O2 -G5
+ − 378 !endif
+ − 379
440
+ − 380 !if $(USE_CRTDLL)
+ − 381 !if $(DEBUG_XEMACS)
+ − 382 C_LIBFLAG=-MDd
+ − 383 LIBC_LIB=msvcrtd.lib
+ − 384 !else
+ − 385 C_LIBFLAG=-MD
+ − 386 LIBC_LIB=msvcrt.lib
+ − 387 !endif
+ − 388 !else
+ − 389 C_LIBFLAG=-ML
+ − 390 LIBC_LIB=libc.lib
+ − 391 !endif
+ − 392
+ − 393 CFLAGS=-nologo -W3 $(OPT) $(C_LIBFLAG)
428
+ − 394
442
+ − 395 !if $(HAVE_X_WINDOWS)
428
+ − 396 X_DEFINES=-DHAVE_X_WINDOWS
+ − 397 X_INCLUDES=-I$(X11_DIR)\include
+ − 398 X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib
+ − 399 !endif
+ − 400
442
+ − 401 !if $(HAVE_MS_WINDOWS)
428
+ − 402 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
+ − 403 MSW_INCLUDES=
+ − 404 MSW_LIBS=
+ − 405 !if $(HAVE_MSW_C_DIRED)
+ − 406 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
+ − 407 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
+ − 408 !endif
+ − 409 !if $(HAVE_XPM)
+ − 410 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
+ − 411 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
+ − 412 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
+ − 413 !endif
+ − 414 !if $(HAVE_GIF)
+ − 415 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
+ − 416 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
+ − 417 !endif
+ − 418 !if $(HAVE_PNG)
+ − 419 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
+ − 420 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
+ − 421 MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
+ − 422 !endif
+ − 423 !if $(HAVE_TIFF)
+ − 424 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
+ − 425 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
+ − 426 MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
+ − 427 !endif
+ − 428 !if $(HAVE_JPEG)
+ − 429 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
+ − 430 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
+ − 431 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
+ − 432 !endif
+ − 433 !if $(HAVE_XFACE)
+ − 434 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XFACE
+ − 435 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)"
+ − 436 MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
+ − 437 !endif
771
+ − 438 !if $(HAVE_ZLIB)
+ − 439 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_ZLIB
+ − 440 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(ZLIB_DIR)"
+ − 441 MSW_LIBS=$(MSW_LIBS) "$(ZLIB_DIR)\zlib.lib"
+ − 442 !endif
428
+ − 443 !if $(HAVE_TOOLBARS)
+ − 444 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
+ − 445 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
+ − 446 !endif
+ − 447 !if $(HAVE_WIDGETS)
+ − 448 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS
+ − 449 !endif
632
+ − 450 !if $(HAVE_TOOLBARS) || $(HAVE_WIDGETS)
+ − 451 MSW_LIBS=$(MSW_LIBS) comctl32.lib
+ − 452 !endif
637
+ − 453 !if $(HAVE_DIALOGS)
+ − 454 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
+ − 455 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
+ − 456 !endif
428
+ − 457 !if $(HAVE_NATIVE_SOUND)
+ − 458 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
+ − 459 !endif
+ − 460 !endif
+ − 461
771
+ − 462 !if $(MULE)
428
+ − 463 MULE_DEFINES=-DMULE
+ − 464 !endif
+ − 465
+ − 466 !if $(DEBUG_XEMACS)
+ − 467 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG
+ − 468 DEBUG_FLAGS=-debug:full
+ − 469 !endif
+ − 470
442
+ − 471 !if $(QUICK_BUILD)
+ − 472 QUICK_DEFINES=-DQUICK_BUILD
+ − 473 !endif
+ − 474
428
+ − 475 !if $(USE_MINIMAL_TAGBITS)
+ − 476 TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
+ − 477 !endif
+ − 478 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
+ − 479 LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
+ − 480 !endif
+ − 481 !if $(USE_UNION_TYPE)
440
+ − 482 UNION_DEFINES=-DUSE_UNION_TYPE
+ − 483 !endif
+ − 484
438
+ − 485 !if $(USE_PORTABLE_DUMPER)
+ − 486 DUMPER_DEFINES=-DPDUMP
+ − 487 !endif
+ − 488
440
+ − 489 !if $(USE_SYSTEM_MALLOC)
+ − 490 MALLOC_DEFINES=-DSYSTEM_MALLOC
+ − 491 !else
+ − 492 MALLOC_DEFINES=-DGNU_MALLOC
428
+ − 493 !endif
+ − 494
+ − 495 # Hard-coded paths
+ − 496
+ − 497 !if $(INFODOCK)
+ − 498 PATH_PREFIX=../..
+ − 499 !else
+ − 500 PATH_PREFIX=..
+ − 501 !endif
+ − 502
+ − 503 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
+ − 504
+ − 505 # Generic variables
+ − 506
442
+ − 507 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(NT)\inc -I$(SRC) -I$(LWLIB_SRCDIR)
428
+ − 508
+ − 509 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
440
+ − 510 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
442
+ − 511 $(DUMPER_DEFINES) $(MALLOC_DEFINES) $(QUICK_DEFINES) \
+ − 512 -DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs \
428
+ − 513 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
+ − 514
+ − 515 #------------------------------------------------------------------------------
+ − 516
+ − 517 $(OUTDIR)\nul:
+ − 518 -@mkdir $(OUTDIR)
+ − 519
+ − 520 XEMACS_INCLUDES=\
442
+ − 521 $(SRC)\config.h \
+ − 522 $(SRC)\Emacs.ad.h \
+ − 523 $(SRC)\paths.h
428
+ − 524
632
+ − 525 # #### Copying is cheap, we should just force these
771
+ − 526 $(SRC)\config.h: $(SRC)\config.h.in
+ − 527 # #### ms must have hired monkeys to design their shell commands. if
+ − 528 # #### you use xcopy to copy a file from one name to another, it
+ − 529 # #### PROMPTS you to see if you meant the second as a directory! and
+ − 530 # #### no switch to mean "no of course, you idiots, it's a file!"
+ − 531 @copy $(SRC)\config.h.in $(SRC)\config.h
428
+ − 532
442
+ − 533 $(SRC)\Emacs.ad.h: Emacs.ad.h
583
+ − 534 @$(COPY) Emacs.ad.h $(SRC)
428
+ − 535
442
+ − 536 $(SRC)\paths.h: paths.h
583
+ − 537 @$(COPY) paths.h $(SRC)
428
+ − 538
+ − 539 #------------------------------------------------------------------------------
+ − 540
+ − 541 # lib-src programs
+ − 542
442
+ − 543 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32_NATIVE
428
+ − 544
+ − 545 #
+ − 546 # Creating config.values to be used by config.el
+ − 547 #
+ − 548 CONFIG_VALUES = $(LIB_SRC)\config.values
+ − 549 !if [echo Creating $(CONFIG_VALUES) && echo ;;; Do not edit this file!>$(CONFIG_VALUES)]
+ − 550 !endif
+ − 551 # MAKEDIR has to be made into a string.
+ − 552 #!if [echo blddir>>$(CONFIG_VALUES) && echo $(ESC)"$(MAKEDIR:\=\\)\\..$(ESC)">>$(CONFIG_VALUES)]
+ − 553 !if [echo blddir>>$(CONFIG_VALUES) && echo "$(MAKEDIR:\=\\)\\..">>$(CONFIG_VALUES)]
+ − 554 !endif
+ − 555 !if [echo CC>>$(CONFIG_VALUES) && echo "$(CC:\=\\)">>$(CONFIG_VALUES)]
+ − 556 !endif
+ − 557 !if [echo CFLAGS>>$(CONFIG_VALUES) && echo "$(CFLAGS:\=\\)">>$(CONFIG_VALUES)]
+ − 558 !endif
+ − 559 !if [echo CPP>>$(CONFIG_VALUES) && echo "$(CPP:\=\\)">>$(CONFIG_VALUES)]
+ − 560 !endif
+ − 561 !if [echo CPPFLAGS>>$(CONFIG_VALUES) && echo "$(CPPFLAGS:\=\\)">>$(CONFIG_VALUES)]
+ − 562 !endif
+ − 563 !if [echo LISPDIR>>$(CONFIG_VALUES) && echo "$(MAKEDIR:\=\\)\\$(LISP:\=\\)">>$(CONFIG_VALUES)]
+ − 564 !endif
+ − 565 # PATH_PACKAGEPATH is already a quoted string.
+ − 566 !if [echo PACKAGE_PATH>>$(CONFIG_VALUES) && echo $(PATH_PACKAGEPATH)>>$(CONFIG_VALUES)]
+ − 567 !endif
+ − 568
+ − 569 # Inferred rule
+ − 570 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
430
+ − 571 cd $(LIB_SRC)
442
+ − 572 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** -link -incremental:no setargv.obj
430
+ − 573 cd $(NT)
428
+ − 574
+ − 575 # Individual dependencies
+ − 576 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
+ − 577 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
+ − 578 $(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
430
+ − 579 cd $(LIB_SRC)
428
+ − 580 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no
430
+ − 581 cd $(NT)
438
+ − 582 $(LIB_SRC)/minitar.exe : $(NT)/minitar.mak $(NT)/minitar.c
+ − 583 nmake -nologo -f minitar.mak ZLIB="$(ZLIB_DIR)" NT="$(NT)" LIB_SRC="$(LIB_SRC)"
428
+ − 584
+ − 585 LIB_SRC_TOOLS = \
442
+ − 586 $(LIB_SRC)/etags.exe \
428
+ − 587 $(LIB_SRC)/hexl.exe \
442
+ − 588 $(LIB_SRC)/i.exe \
+ − 589 $(LIB_SRC)/make-docfile.exe \
428
+ − 590 $(LIB_SRC)/mmencode.exe \
442
+ − 591 $(LIB_SRC)/movemail.exe \
428
+ − 592 $(LIB_SRC)/sorted-doc.exe \
442
+ − 593 $(LIB_SRC)/wakeup.exe
438
+ − 594 !if $(USE_MINITAR)
+ − 595 LIB_SRC_TOOLS = \
+ − 596 $(LIB_SRC_TOOLS) \
+ − 597 $(LIB_SRC)/minitar.exe
+ − 598 !endif
442
+ − 599 !if $(USE_PORTABLE_DUMPER)
+ − 600 LIB_SRC_TOOLS = \
+ − 601 $(XEMACS_INCLUDES) \
+ − 602 $(LIB_SRC)/make-dump-id.exe \
+ − 603 $(LIB_SRC_TOOLS)
+ − 604 !endif
438
+ − 605
+ − 606 # Shorthand target
+ − 607 minitar: $(LIB_SRC)/minitar.exe
428
+ − 608
+ − 609 #------------------------------------------------------------------------------
+ − 610
442
+ − 611 # dump-id.c file that contains the dump id
428
+ − 612
442
+ − 613 $(SRC)\dump-id.c : $(LIB_SRC)/make-dump-id.exe
+ − 614 cd $(SRC)
+ − 615 $(LIB_SRC)\make-dump-id.exe
+ − 616 cd $(NT)
428
+ − 617
+ − 618 #------------------------------------------------------------------------------
+ − 619
+ − 620 # LASTFILE Library
+ − 621
440
+ − 622 !if !$(USE_SYSTEM_MALLOC) || !$(USE_PORTABLE_DUMPER)
+ − 623
428
+ − 624 LASTFILE=$(OUTDIR)\lastfile.lib
442
+ − 625 LASTFILE_SRC=$(SRC)
428
+ − 626 LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -Fd$* -c
+ − 627 LASTFILE_OBJS= \
+ − 628 $(OUTDIR)\lastfile.obj
+ − 629
+ − 630 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
+ − 631 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
+ − 632
+ − 633 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
587
+ − 634 $(CCV) $(LASTFILE_FLAGS) $(LASTFILE_SRC)\$(@B).c
428
+ − 635
440
+ − 636 !endif
+ − 637
428
+ − 638 #------------------------------------------------------------------------------
+ − 639
442
+ − 640 !if $(HAVE_X_WINDOWS)
428
+ − 641
+ − 642 # LWLIB Library
+ − 643
+ − 644 LWLIB=$(OUTDIR)\lwlib.lib
+ − 645 LWLIB_FLAGS=$(CFLAGS) $(INCLUDES) $(DEFINES) \
+ − 646 -DNEED_ATHENA -DNEED_LUCID \
+ − 647 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \
+ − 648 -Fo$@ -c
+ − 649 LWLIB_OBJS= \
+ − 650 $(OUTDIR)\lwlib-utils.obj \
+ − 651 $(OUTDIR)\lwlib-Xaw.obj \
+ − 652 $(OUTDIR)\lwlib-Xlw.obj \
+ − 653 $(OUTDIR)\lwlib.obj \
+ − 654 $(OUTDIR)\xlwmenu.obj \
+ − 655 $(OUTDIR)\xlwscrollbar.obj
+ − 656
+ − 657 $(LWLIB): $(LWLIB_OBJS)
+ − 658 link.exe -lib -nologo -out:$@ $(LWLIB_OBJS)
+ − 659
442
+ − 660 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRCDIR)\lwlib-utils.c
587
+ − 661 $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c
428
+ − 662
442
+ − 663 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRCDIR)\lwlib-Xaw.c
587
+ − 664 $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c
428
+ − 665
442
+ − 666 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRCDIR)\lwlib-Xlw.c
587
+ − 667 $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c
428
+ − 668
442
+ − 669 $(OUTDIR)\lwlib.obj: $(LWLIB_SRCDIR)\lwlib.c
587
+ − 670 $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c
428
+ − 671
442
+ − 672 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRCDIR)\xlwmenu.c
587
+ − 673 $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c
428
+ − 674
442
+ − 675 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRCDIR)\xlwscrollbar.c
587
+ − 676 $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c
428
+ − 677
+ − 678 !endif
+ − 679
+ − 680 #------------------------------------------------------------------------------
+ − 681
+ − 682 # TEMACS Executable
+ − 683
+ − 684 # This may not exist
+ − 685 !if "$(emacs_beta_version)" != ""
496
+ − 686 !if "$(emacs_is_beta)" != ""
428
+ − 687 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
496
+ − 688 !else
+ − 689 EMACS_PATCH_LEVEL=-DEMACS_PATCH_LEVEL=$(emacs_beta_version)
+ − 690 !endif
+ − 691 !endif
428
+ − 692
440
+ − 693 !if !$(USE_PORTABLE_DUMPER)
442
+ − 694 TEMACS_ENTRYPOINT=-entry:_start
+ − 695 !else
+ − 696 TEMACS_ENTRYPOINT=-entry:mainCRTStartup
440
+ − 697 !endif
+ − 698
442
+ − 699 TEMACS_DIR=$(SRC)
428
+ − 700 TEMACS=$(TEMACS_DIR)\temacs.exe
+ − 701 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
442
+ − 702 TEMACS_SRC=$(SRC)
428
+ − 703 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
442
+ − 704 oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \
528
+ − 705 shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \
771
+ − 706 mpr.lib uuid.lib imm32.lib $(LIBC_LIB)
428
+ − 707 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
442
+ − 708 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows\
428
+ − 709 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
442
+ − 710 -heap:0x00100000 -nodefaultlib -incremental:no setargv.obj
440
+ − 711 TEMACS_CPP_FLAGS=-c \
428
+ − 712 $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
+ − 713 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
+ − 714 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
+ − 715 $(EMACS_BETA_VERSION) \
632
+ − 716 $(EMACS_PATCH_LEVEL) \
442
+ − 717 -DXEMACS_CODENAME=\"$(xemacs_codename:&=and)\" \
428
+ − 718 -DEMACS_CONFIGURATION=\"$(EMACS_CONFIGURATION)\" \
+ − 719 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\"
+ − 720
442
+ − 721 !if $(HAVE_X_WINDOWS)
428
+ − 722 TEMACS_X_OBJS=\
+ − 723 $(OUTDIR)\balloon-x.obj \
+ − 724 $(OUTDIR)\balloon_help.obj \
+ − 725 $(OUTDIR)\console-x.obj \
+ − 726 $(OUTDIR)\device-x.obj \
+ − 727 $(OUTDIR)\dialog-x.obj \
+ − 728 $(OUTDIR)\EmacsFrame.obj \
+ − 729 $(OUTDIR)\EmacsManager.obj \
+ − 730 $(OUTDIR)\EmacsShell.obj \
+ − 731 $(OUTDIR)\TopLevelEmacsShell.obj\
+ − 732 $(OUTDIR)\TransientEmacsShell.obj\
+ − 733 $(OUTDIR)\event-Xt.obj \
+ − 734 $(OUTDIR)\frame-x.obj \
+ − 735 $(OUTDIR)\glyphs-x.obj \
+ − 736 $(OUTDIR)\gui-x.obj \
+ − 737 $(OUTDIR)\menubar-x.obj \
+ − 738 $(OUTDIR)\objects-x.obj \
+ − 739 $(OUTDIR)\redisplay-x.obj \
+ − 740 $(OUTDIR)\scrollbar-x.obj \
+ − 741 $(OUTDIR)\xgccache.obj \
+ − 742 $(OUTDIR)\xmu.obj \
+ − 743 $(OUTDIR)\select-x.obj
+ − 744 !endif
+ − 745
442
+ − 746 !if $(HAVE_MS_WINDOWS)
428
+ − 747 TEMACS_MSW_OBJS=\
+ − 748 $(OUTDIR)\console-msw.obj \
+ − 749 $(OUTDIR)\device-msw.obj \
+ − 750 $(OUTDIR)\event-msw.obj \
+ − 751 $(OUTDIR)\frame-msw.obj \
+ − 752 $(OUTDIR)\glyphs-msw.obj \
+ − 753 $(OUTDIR)\gui-msw.obj \
+ − 754 $(OUTDIR)\menubar-msw.obj \
+ − 755 $(OUTDIR)\objects-msw.obj \
+ − 756 $(OUTDIR)\redisplay-msw.obj \
+ − 757 $(OUTDIR)\scrollbar-msw.obj \
+ − 758 $(OUTDIR)\select-msw.obj \
+ − 759 $(MSW_C_DIRED_OBJ) \
+ − 760 $(MSW_TOOLBAR_OBJ) \
+ − 761 $(MSW_DIALOG_OBJ) \
+ − 762 $(MSW_GIF_OBJ)
+ − 763 !endif
+ − 764
771
+ − 765 !if $(MULE)
428
+ − 766 TEMACS_MULE_OBJS=\
771
+ − 767 $(OUTDIR)\mule-ccl.obj \
428
+ − 768 $(OUTDIR)\mule-charset.obj \
771
+ − 769 $(OUTDIR)\mule-coding.obj
+ − 770
442
+ − 771 ! if $(HAVE_X_WINDOWS)
428
+ − 772 TEMACS_MULE_OBJS=\
+ − 773 $(TEMACS_MULE_OBJS) $(OUTDIR)\input-method-xlib.obj
+ − 774 ! endif
+ − 775 !endif
+ − 776
+ − 777 !if $(DEBUG_XEMACS)
+ − 778 TEMACS_DEBUG_OBJS=\
440
+ − 779 $(OUTDIR)\debug.obj \
+ − 780 $(OUTDIR)\tests.obj
+ − 781 !endif
+ − 782
+ − 783 !if !$(USE_SYSTEM_MALLOC)
+ − 784 TEMACS_ALLOC_OBJS=\
+ − 785 $(OUTDIR)\free-hook.obj \
+ − 786 $(OUTDIR)\gmalloc.obj \
+ − 787 $(OUTDIR)\ntheap.obj \
+ − 788 $(OUTDIR)\vm-limit.obj
+ − 789 !endif
+ − 790
+ − 791 !if !$(USE_PORTABLE_DUMPER)
+ − 792 TEMACS_DUMP_OBJS=\
+ − 793 $(OUTDIR)\unexnt.obj
442
+ − 794 !else
+ − 795 TEMACS_DUMP_OBJS=\
+ − 796 $(OUTDIR)\dumper.obj
428
+ − 797 !endif
+ − 798
+ − 799 TEMACS_OBJS= \
+ − 800 $(TEMACS_X_OBJS)\
+ − 801 $(TEMACS_MSW_OBJS)\
+ − 802 $(TEMACS_CODING_OBJS)\
+ − 803 $(TEMACS_MULE_OBJS)\
+ − 804 $(TEMACS_DEBUG_OBJS)\
440
+ − 805 $(TEMACS_ALLOC_OBJS)\
+ − 806 $(TEMACS_DUMP_OBJS)\
428
+ − 807 $(OUTDIR)\abbrev.obj \
+ − 808 $(OUTDIR)\alloc.obj \
+ − 809 $(OUTDIR)\blocktype.obj \
+ − 810 $(OUTDIR)\buffer.obj \
+ − 811 $(OUTDIR)\bytecode.obj \
+ − 812 $(OUTDIR)\callint.obj \
+ − 813 $(OUTDIR)\callproc.obj \
+ − 814 $(OUTDIR)\casefiddle.obj \
+ − 815 $(OUTDIR)\casetab.obj \
+ − 816 $(OUTDIR)\chartab.obj \
+ − 817 $(OUTDIR)\cmdloop.obj \
+ − 818 $(OUTDIR)\cmds.obj \
+ − 819 $(OUTDIR)\console-stream.obj \
+ − 820 $(OUTDIR)\console.obj \
+ − 821 $(OUTDIR)\data.obj \
+ − 822 $(OUTDIR)\device.obj \
+ − 823 $(OUTDIR)\dired.obj \
+ − 824 $(OUTDIR)\doc.obj \
+ − 825 $(OUTDIR)\doprnt.obj \
+ − 826 $(OUTDIR)\dragdrop.obj \
+ − 827 $(OUTDIR)\dynarr.obj \
+ − 828 $(OUTDIR)\editfns.obj \
+ − 829 $(OUTDIR)\elhash.obj \
+ − 830 $(OUTDIR)\emacs.obj \
+ − 831 $(OUTDIR)\eval.obj \
+ − 832 $(OUTDIR)\event-stream.obj \
+ − 833 $(OUTDIR)\events.obj \
+ − 834 $(OUTDIR)\extents.obj \
+ − 835 $(OUTDIR)\faces.obj \
+ − 836 $(OUTDIR)\file-coding.obj \
+ − 837 $(OUTDIR)\fileio.obj \
+ − 838 $(OUTDIR)\filemode.obj \
+ − 839 $(OUTDIR)\floatfns.obj \
+ − 840 $(OUTDIR)\fns.obj \
+ − 841 $(OUTDIR)\font-lock.obj \
+ − 842 $(OUTDIR)\frame.obj \
+ − 843 $(OUTDIR)\general.obj \
442
+ − 844 $(OUTDIR)\getloadavg.obj \
428
+ − 845 $(OUTDIR)\glyphs.obj \
+ − 846 $(OUTDIR)\glyphs-eimage.obj \
587
+ − 847 $(OUTDIR)\glyphs-shared.obj \
428
+ − 848 $(OUTDIR)\glyphs-widget.obj \
+ − 849 $(OUTDIR)\gui.obj \
+ − 850 $(OUTDIR)\gutter.obj \
+ − 851 $(OUTDIR)\hash.obj \
+ − 852 $(OUTDIR)\indent.obj \
+ − 853 $(OUTDIR)\imgproc.obj \
+ − 854 $(OUTDIR)\insdel.obj \
+ − 855 $(OUTDIR)\intl.obj \
771
+ − 856 $(OUTDIR)\intl-win32.obj \
+ − 857 $(OUTDIR)\intl-encap-win32.obj \
+ − 858 $(OUTDIR)\intl-auto-encap-win32.obj \
428
+ − 859 $(OUTDIR)\keymap.obj \
+ − 860 $(OUTDIR)\line-number.obj \
+ − 861 $(OUTDIR)\lread.obj \
+ − 862 $(OUTDIR)\lstream.obj \
+ − 863 $(OUTDIR)\macros.obj \
+ − 864 $(OUTDIR)\menubar.obj \
+ − 865 $(OUTDIR)\marker.obj \
+ − 866 $(OUTDIR)\md5.obj \
+ − 867 $(OUTDIR)\minibuf.obj \
+ − 868 $(OUTDIR)\nt.obj \
+ − 869 $(OUTDIR)\ntplay.obj \
+ − 870 $(OUTDIR)\ntproc.obj \
+ − 871 $(OUTDIR)\objects.obj \
+ − 872 $(OUTDIR)\opaque.obj \
+ − 873 $(OUTDIR)\print.obj \
+ − 874 $(OUTDIR)\process.obj \
+ − 875 $(OUTDIR)\process-nt.obj \
+ − 876 $(OUTDIR)\profile.obj \
+ − 877 $(OUTDIR)\rangetab.obj \
+ − 878 $(OUTDIR)\realpath.obj \
+ − 879 $(OUTDIR)\redisplay-output.obj \
+ − 880 $(OUTDIR)\redisplay.obj \
+ − 881 $(OUTDIR)\regex.obj \
+ − 882 $(OUTDIR)\scrollbar.obj \
+ − 883 $(OUTDIR)\search.obj \
+ − 884 $(OUTDIR)\select.obj \
+ − 885 $(OUTDIR)\signal.obj \
+ − 886 $(OUTDIR)\sound.obj \
+ − 887 $(OUTDIR)\specifier.obj \
+ − 888 $(OUTDIR)\strftime.obj \
+ − 889 $(OUTDIR)\symbols.obj \
+ − 890 $(OUTDIR)\syntax.obj \
+ − 891 $(OUTDIR)\sysdep.obj \
771
+ − 892 $(OUTDIR)\text.obj \
428
+ − 893 $(OUTDIR)\tparam.obj \
+ − 894 $(OUTDIR)\undo.obj \
771
+ − 895 $(OUTDIR)\unicode.obj \
428
+ − 896 $(OUTDIR)\widget.obj \
+ − 897 $(OUTDIR)\window.obj \
442
+ − 898 $(OUTDIR)\win32.obj
428
+ − 899
+ − 900 # Rules
+ − 901
+ − 902 .SUFFIXES:
430
+ − 903 .SUFFIXES: .c .obj .texi .info
428
+ − 904
+ − 905 # nmake rule
+ − 906 !if $(DEBUG_XEMACS)
+ − 907 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
+ − 908 $(CCV) $(TEMACS_CPP_FLAGS) $< -Fo$@ -Fr$*.sbr -Fd$(OUTDIR)\temacs.pdb
+ − 909 !else
+ − 910 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
+ − 911 $(CCV) $(TEMACS_CPP_FLAGS) $< -Fo$@
+ − 912 !endif
+ − 913
442
+ − 914 $(OUTDIR)\emacs.obj: $(XEMACS)\version.sh
+ − 915
428
+ − 916 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
587
+ − 917 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $(TEMACS_SRC)\$(@B).c -Fo$@
428
+ − 918
+ − 919 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
587
+ − 920 $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $(TEMACS_SRC)\$(@B).c -Fo$@
428
+ − 921
+ − 922 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
+ − 923 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
+ − 924
+ − 925 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
+ − 926 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
+ − 927
442
+ − 928 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) $(OUTDIR)\xemacs.res
428
+ − 929 !if $(DEBUG_XEMACS)
+ − 930 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
+ − 931 bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp
637
+ − 932 -$(DEL) bscmake.tmp
428
+ − 933 !endif
440
+ − 934 !if $(USE_PORTABLE_DUMPER)
637
+ − 935 @if exist $(SRC)\dump-id.c $(DEL) $(SRC)\dump-id.c
442
+ − 936 # make a new dump id file. There is probably a better way to do this, but this works
637
+ − 937 @if exist $(OUTDIR)\dump-id.obj $(DEL) $(OUTDIR)\dump-id.obj
442
+ − 938 nmake -nologo -f xemacs.mak OUTDIR=$(OUTDIR) $(OUTDIR)\dump-id.obj
428
+ − 939 link.exe @<<
442
+ − 940 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj
428
+ − 941 <<
442
+ − 942 !else
+ − 943 link.exe @<<
+ − 944 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS)
+ − 945 <<
+ − 946 !endif
428
+ − 947
+ − 948 $(OUTDIR)\xemacs.res: xemacs.rc
+ − 949 rc -Fo$@ xemacs.rc
+ − 950
442
+ − 951
+ − 952 PROGNAME=$(SRC)\xemacs.exe
776
+ − 953 BATCH = -no-packages -batch
+ − 954 BATCH_PACKAGES = -vanilla -batch
+ − 955 TEMACS_BATCH = "$(LIB_SRC)\i" "$(TEMACS)" $(BATCH)
+ − 956 XEMACS_BATCH = "$(LIB_SRC)\i" "$(PROGNAME)" $(BATCH)
+ − 957 XEMACS_BATCH_PACKAGES = "$(LIB_SRC)\i" "$(PROGNAME)" $(BATCH_PACKAGES)
+ − 958
442
+ − 959
428
+ − 960 # Section handling automated tests starts here
+ − 961
+ − 962 blddir=$(MAKEDIR:\=\\)\\..
442
+ − 963 temacs_loadup=$(TEMACS_BATCH) -l $(LISP)/loadup.el
428
+ − 964 dump_temacs = $(temacs_loadup) dump
+ − 965 run_temacs = $(temacs_loadup) run-temacs
+ − 966 ## We have automated tests!!
+ − 967 testdir=../tests/automated
776
+ − 968 batch_test_emacs=$(BATCH) -l $(testdir)/test-harness.el -f batch-test-emacs $(testdir)
428
+ − 969
+ − 970 # .PHONY: check check-temacs
+ − 971
+ − 972 check:
442
+ − 973 cd $(SRC)
428
+ − 974 $(PROGNAME) $(batch_test_emacs)
+ − 975
+ − 976 check-temacs:
442
+ − 977 cd $(SRC)
428
+ − 978 set EMACSBOOTSTRAPLOADPATH=$(LISP)
+ − 979 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
+ − 980 $(run_temacs) $(batch_test_emacs)
+ − 981
+ − 982 # Section handling automated tests ends here
+ − 983
442
+ − 984 # Section handling tags starts here
+ − 985
+ − 986 tagslisp=lisp
+ − 987
+ − 988 tags:
+ − 989 @echo If you don't have a copy of etags around, then do 'make lib-src' first.
+ − 990 @echo To make use of the tags file, put the following in your .emacs:
+ − 991 @echo (setq tag-table-alist
+ − 992 @echo '(("$(XEMACSDIRSTRING)\\" . "$(XEMACSDIRSTRING)\\")))
+ − 993 cd $(XEMACS)
637
+ − 994 -$(DEL) TAGS
442
+ − 995 set PATH=lib-src;%PATH%
771
+ − 996 # we need to double ^, but only in one place, because (according to the
+ − 997 # nmake manual), a ^ is used to quote certain special characters such as
+ − 998 # backslash, but is treated literally within double quotes -- and notice
+ − 999 # carefully the occurrences of double quotes in the first line below!
442
+ − 1000 etags -a -r "/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*\"\([^^\"]+\)\"/\2/" src\*.c src\*.h lwlib\*.c lwlib\*.h lib-src\*.c lib-src\*.h
771
+ − 1001 etags -a -l none -r "/^(def\(var\|un\|alias\|const\|macro\|subst\|struct\|face\|group\|custom\|ine-\(function\|compiler-macro\|[a-z-]+alias\)\)[ ]+'?\([^ ]+\)/\3/" $(tagslisp)\*.el $(tagslisp)\mule\*.el
442
+ − 1002
+ − 1003 # Section handling tags ends here
+ − 1004
428
+ − 1005 # Section handling info starts here
430
+ − 1006
+ − 1007 !if !defined(MAKEINFO)
776
+ − 1008 MAKEINFO=$(XEMACS_BATCH_PACKAGES) -l texinfmt -f batch-texinfo-format
430
+ − 1009 !endif
428
+ − 1010
+ − 1011 MANDIR = $(XEMACS)\man
+ − 1012 INFODIR = $(XEMACS)\info
+ − 1013 INFO_FILES= \
+ − 1014 $(INFODIR)\cl.info \
+ − 1015 $(INFODIR)\custom.info \
+ − 1016 $(INFODIR)\emodules.info \
+ − 1017 $(INFODIR)\external-widget.info \
+ − 1018 $(INFODIR)\info.info \
+ − 1019 $(INFODIR)\standards.info \
+ − 1020 $(INFODIR)\term.info \
+ − 1021 $(INFODIR)\termcap.info \
+ − 1022 $(INFODIR)\texinfo.info \
+ − 1023 $(INFODIR)\widget.info \
+ − 1024 $(INFODIR)\xemacs-faq.info \
+ − 1025 $(INFODIR)\xemacs.info \
+ − 1026 $(INFODIR)\lispref.info \
+ − 1027 $(INFODIR)\new-users-guide.info \
+ − 1028 $(INFODIR)\internals.info
+ − 1029
+ − 1030 {$(MANDIR)}.texi{$(INFODIR)}.info:
430
+ − 1031 cd $(MANDIR)
428
+ − 1032 $(MAKEINFO) $**
+ − 1033
430
+ − 1034 XEMACS_SRCS = \
428
+ − 1035 $(MANDIR)\xemacs\abbrevs.texi \
+ − 1036 $(MANDIR)\xemacs\basic.texi \
+ − 1037 $(MANDIR)\xemacs\buffers.texi \
+ − 1038 $(MANDIR)\xemacs\building.texi \
+ − 1039 $(MANDIR)\xemacs\calendar.texi \
+ − 1040 $(MANDIR)\xemacs\cmdargs.texi \
+ − 1041 $(MANDIR)\xemacs\custom.texi \
+ − 1042 $(MANDIR)\xemacs\display.texi \
+ − 1043 $(MANDIR)\xemacs\entering.texi \
+ − 1044 $(MANDIR)\xemacs\files.texi \
+ − 1045 $(MANDIR)\xemacs\fixit.texi \
430
+ − 1046 $(MANDIR)\xemacs\frame.texi \
428
+ − 1047 $(MANDIR)\xemacs\glossary.texi \
+ − 1048 $(MANDIR)\xemacs\gnu.texi \
+ − 1049 $(MANDIR)\xemacs\help.texi \
+ − 1050 $(MANDIR)\xemacs\indent.texi \
+ − 1051 $(MANDIR)\xemacs\keystrokes.texi \
+ − 1052 $(MANDIR)\xemacs\killing.texi \
+ − 1053 $(MANDIR)\xemacs\m-x.texi \
+ − 1054 $(MANDIR)\xemacs\major.texi \
+ − 1055 $(MANDIR)\xemacs\mark.texi \
+ − 1056 $(MANDIR)\xemacs\menus.texi \
+ − 1057 $(MANDIR)\xemacs\mini.texi \
+ − 1058 $(MANDIR)\xemacs\misc.texi \
+ − 1059 $(MANDIR)\xemacs\mouse.texi \
430
+ − 1060 $(MANDIR)\xemacs\mule.texi \
428
+ − 1061 $(MANDIR)\xemacs\new.texi \
430
+ − 1062 $(MANDIR)\xemacs\packages.texi \
428
+ − 1063 $(MANDIR)\xemacs\picture.texi \
+ − 1064 $(MANDIR)\xemacs\programs.texi \
+ − 1065 $(MANDIR)\xemacs\reading.texi \
+ − 1066 $(MANDIR)\xemacs\regs.texi \
+ − 1067 $(MANDIR)\xemacs\search.texi \
+ − 1068 $(MANDIR)\xemacs\sending.texi \
430
+ − 1069 $(MANDIR)\xemacs\startup.texi \
428
+ − 1070 $(MANDIR)\xemacs\text.texi \
+ − 1071 $(MANDIR)\xemacs\trouble.texi \
+ − 1072 $(MANDIR)\xemacs\undo.texi \
430
+ − 1073 $(MANDIR)\xemacs\windows.texi \
+ − 1074 $(MANDIR)\xemacs\xemacs.texi
428
+ − 1075
430
+ − 1076 LISPREF_SRCS = \
428
+ − 1077 $(MANDIR)\lispref\abbrevs.texi \
+ − 1078 $(MANDIR)\lispref\annotations.texi \
+ − 1079 $(MANDIR)\lispref\back.texi \
+ − 1080 $(MANDIR)\lispref\backups.texi \
+ − 1081 $(MANDIR)\lispref\buffers.texi \
+ − 1082 $(MANDIR)\lispref\building.texi \
+ − 1083 $(MANDIR)\lispref\commands.texi \
+ − 1084 $(MANDIR)\lispref\compile.texi \
+ − 1085 $(MANDIR)\lispref\consoles-devices.texi \
+ − 1086 $(MANDIR)\lispref\control.texi \
430
+ − 1087 $(MANDIR)\lispref\customize.texi \
428
+ − 1088 $(MANDIR)\lispref\databases.texi \
+ − 1089 $(MANDIR)\lispref\debugging.texi \
+ − 1090 $(MANDIR)\lispref\dialog.texi \
+ − 1091 $(MANDIR)\lispref\display.texi \
430
+ − 1092 $(MANDIR)\lispref\dragndrop.texi \
428
+ − 1093 $(MANDIR)\lispref\edebug-inc.texi \
+ − 1094 $(MANDIR)\lispref\edebug.texi \
+ − 1095 $(MANDIR)\lispref\errors.texi \
+ − 1096 $(MANDIR)\lispref\eval.texi \
+ − 1097 $(MANDIR)\lispref\extents.texi \
+ − 1098 $(MANDIR)\lispref\faces.texi \
+ − 1099 $(MANDIR)\lispref\files.texi \
+ − 1100 $(MANDIR)\lispref\frames.texi \
+ − 1101 $(MANDIR)\lispref\functions.texi \
+ − 1102 $(MANDIR)\lispref\glyphs.texi \
+ − 1103 $(MANDIR)\lispref\hash-tables.texi \
+ − 1104 $(MANDIR)\lispref\help.texi \
+ − 1105 $(MANDIR)\lispref\hooks.texi \
430
+ − 1106 $(MANDIR)\lispref\index.texi \
428
+ − 1107 $(MANDIR)\lispref\internationalization.texi \
+ − 1108 $(MANDIR)\lispref\intro.texi \
+ − 1109 $(MANDIR)\lispref\keymaps.texi \
+ − 1110 $(MANDIR)\lispref\ldap.texi \
430
+ − 1111 $(MANDIR)\lispref\lispref.texi \
428
+ − 1112 $(MANDIR)\lispref\lists.texi \
+ − 1113 $(MANDIR)\lispref\loading.texi \
+ − 1114 $(MANDIR)\lispref\locals.texi \
+ − 1115 $(MANDIR)\lispref\macros.texi \
+ − 1116 $(MANDIR)\lispref\maps.texi \
+ − 1117 $(MANDIR)\lispref\markers.texi \
+ − 1118 $(MANDIR)\lispref\menus.texi \
+ − 1119 $(MANDIR)\lispref\minibuf.texi \
+ − 1120 $(MANDIR)\lispref\modes.texi \
+ − 1121 $(MANDIR)\lispref\mouse.texi \
+ − 1122 $(MANDIR)\lispref\mule.texi \
+ − 1123 $(MANDIR)\lispref\numbers.texi \
+ − 1124 $(MANDIR)\lispref\objects.texi \
+ − 1125 $(MANDIR)\lispref\os.texi \
+ − 1126 $(MANDIR)\lispref\positions.texi \
+ − 1127 $(MANDIR)\lispref\processes.texi \
+ − 1128 $(MANDIR)\lispref\range-tables.texi \
+ − 1129 $(MANDIR)\lispref\scrollbars.texi \
+ − 1130 $(MANDIR)\lispref\searching.texi \
+ − 1131 $(MANDIR)\lispref\sequences.texi \
+ − 1132 $(MANDIR)\lispref\specifiers.texi \
+ − 1133 $(MANDIR)\lispref\streams.texi \
+ − 1134 $(MANDIR)\lispref\strings.texi \
+ − 1135 $(MANDIR)\lispref\symbols.texi \
+ − 1136 $(MANDIR)\lispref\syntax.texi \
+ − 1137 $(MANDIR)\lispref\text.texi \
+ − 1138 $(MANDIR)\lispref\tips.texi \
+ − 1139 $(MANDIR)\lispref\toolbar.texi \
+ − 1140 $(MANDIR)\lispref\tooltalk.texi \
+ − 1141 $(MANDIR)\lispref\variables.texi \
+ − 1142 $(MANDIR)\lispref\windows.texi \
430
+ − 1143 $(MANDIR)\lispref\x-windows.texi
+ − 1144
+ − 1145 INTERNALS_SRCS = \
+ − 1146 $(MANDIR)\internals\internals.texi \
+ − 1147 $(MANDIR)\internals\index.texi
+ − 1148
+ − 1149 NEW_USERS_GUIDE_SRCS = \
+ − 1150 $(MANDIR)\new-users-guide\custom1.texi \
+ − 1151 $(MANDIR)\new-users-guide\custom2.texi \
+ − 1152 $(MANDIR)\new-users-guide\edit.texi \
+ − 1153 $(MANDIR)\new-users-guide\enter.texi \
+ − 1154 $(MANDIR)\new-users-guide\files.texi \
+ − 1155 $(MANDIR)\new-users-guide\help.texi \
+ − 1156 $(MANDIR)\new-users-guide\modes.texi \
+ − 1157 $(MANDIR)\new-users-guide\new-users-guide.texi \
+ − 1158 $(MANDIR)\new-users-guide\region.texi \
+ − 1159 $(MANDIR)\new-users-guide\search.texi \
+ − 1160 $(MANDIR)\new-users-guide\xmenu.texi
+ − 1161
+ − 1162 $(INFODIR)\xemacs.info: $(XEMACS_SRCS)
+ − 1163 cd $(MANDIR)\xemacs
+ − 1164 $(MAKEINFO) xemacs.texi
+ − 1165 cd ..
428
+ − 1166
+ − 1167
430
+ − 1168 $(INFODIR)\lispref.info: $(LISPREF_SRCS)
+ − 1169 cd $(MANDIR)\lispref
+ − 1170 $(MAKEINFO) lispref.texi
+ − 1171 cd ..
+ − 1172
+ − 1173 $(INFODIR)\internals.info: $(INTERNALS_SRCS)
+ − 1174 cd $(MANDIR)\internals
+ − 1175 $(MAKEINFO) internals.texi
+ − 1176 cd ..
+ − 1177
+ − 1178 $(INFODIR)\new-users-guide.info: $(NEW_USERS_GUIDE_SRCS)
+ − 1179 cd $(MANDIR)\new-users-guide
+ − 1180 $(MAKEINFO) new-users-guide.texi
+ − 1181 cd ..
428
+ − 1182
430
+ − 1183 info: makeinfo-test $(INFO_FILES)
428
+ − 1184
430
+ − 1185 makeinfo-test:
+ − 1186 @<<makeinfo_test.bat
+ − 1187 @echo off
+ − 1188 if exist "$(MAKEINFO)" goto test_done
776
+ − 1189 @$(XEMACS_BATCH_PACKAGES) -eval "(condition-case nil (require (quote texinfo)) (t (kill-emacs 1)))"
430
+ − 1190 @if not errorlevel 1 goto suggest_makeinfo
442
+ − 1191 @echo XEmacs 'info' cannot be built!
+ − 1192 @echo Install XEmacs package 'texinfo' (see README.packages).
430
+ − 1193 :suggest_makeinfo
+ − 1194 @echo Consider specifying path to makeinfo program: MAKEINFO=path
442
+ − 1195 @echo as this will build info docs faster than XEmacs using 'texinfo'.
430
+ − 1196 @if errorlevel 1 exit 1
+ − 1197 :test_done
+ − 1198 <<NOKEEP
428
+ − 1199
+ − 1200 # Section handling info ends here
+ − 1201
+ − 1202 #------------------------------------------------------------------------------
+ − 1203
+ − 1204 # LISP bits 'n bobs
+ − 1205
+ − 1206 LOADPATH=$(LISP)
+ − 1207
440
+ − 1208 # Rebuild docfile target
771
+ − 1209
+ − 1210 DOC=$(LIB_SRC)\DOC
+ − 1211
440
+ − 1212 docfile ::
637
+ − 1213 if exist $(DOC) $(DEL) $(DOC)
440
+ − 1214 docfile :: $(DOC)
+ − 1215
771
+ − 1216 # This takes 5 seconds on my Pentium 233. If you are running on a
+ − 1217 # much slower machine and are bothered by the time, modify make-docfile.c
+ − 1218 # to contain special code to frob $(OUTDIR)\foo.obj into the right file.
+ − 1219 make-docargs: $(TEMACS_OBJS)
+ − 1220 @echo Creating make-docfile argument file ...
+ − 1221 -$(DEL) make-docfile.out
+ − 1222 @!echo $(SRC)\$(**B).c >> make-docfile.out
+ − 1223 @echo Done.
+ − 1224
+ − 1225 $(DOC): $(LIB_SRC)\make-docfile.exe make-docargs
637
+ − 1226 if exist $(DOC) $(DEL) $(DOC)
440
+ − 1227 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
+ − 1228 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
442
+ − 1229 $(TEMACS_BATCH) -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
771
+ − 1230 $(LIB_SRC)\make-docfile.exe -a $(DOC) @make-docfile.out
428
+ − 1231
+ − 1232 update-elc:
+ − 1233 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
+ − 1234 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
442
+ − 1235 $(TEMACS_BATCH) -l $(TEMACS_DIR)\..\lisp\update-elc.el
+ − 1236
+ − 1237 # This file is touched by update-elc.el when redumping is necessary.
+ − 1238 $(TEMACS_DIR)\NEEDTODUMP :
+ − 1239 @echo >$(TEMACS_DIR)\NEEDTODUMP
428
+ − 1240
+ − 1241 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
+ − 1242 # requirements have changed.
442
+ − 1243
+ − 1244 $(PROGNAME) : $(TEMACS) $(TEMACS_DIR)\NEEDTODUMP
428
+ − 1245 @echo >$(TEMACS_DIR)\SATISFIED
+ − 1246 cd $(TEMACS_DIR)
+ − 1247 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
440
+ − 1248 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
442
+ − 1249 $(TEMACS_BATCH) -l $(TEMACS_DIR)\..\lisp\loadup.el dump
440
+ − 1250 !if $(USE_PORTABLE_DUMPER)
442
+ − 1251 rc -d INCLUDE_DUMP -Fo $(OUTDIR)\xemacs.res $(NT)\xemacs.rc
+ − 1252 # Make the resource section read/write since almost all of it is the dump
+ − 1253 # data which needs to be writable. This avoids having to copy it.
545
+ − 1254 link.exe @<<
+ − 1255 $(TEMACS_LFLAGS) -section:.rsrc,rw -out:xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj
+ − 1256 <<
637
+ − 1257 -$(DEL) $(TEMACS_DIR)\xemacs.dmp
440
+ − 1258 !endif
430
+ − 1259 cd $(NT)
428
+ − 1260 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
+ − 1261 #------------------------------------------------------------------------------
+ − 1262
+ − 1263 # use this rule to build the complete system
442
+ − 1264 all: installation $(OUTDIR)\nul $(LASTFILE) $(LWLIB) \
+ − 1265 $(LIB_SRC_TOOLS) $(TEMACS) update-elc $(DOC) $(PROGNAME) \
528
+ − 1266 update-elc-2 info
428
+ − 1267
438
+ − 1268 temacs: $(LASTFILE) $(TEMACS)
428
+ − 1269
+ − 1270 # use this rule to install the system
+ − 1271 install: all
430
+ − 1272 cd $(NT)
428
+ − 1273 @echo Installing in $(INSTALL_DIR) ...
+ − 1274 @echo PlaceHolder > PlaceHolder
583
+ − 1275 @$(COPY) PROBLEMS "$(INSTALL_DIR)\"
+ − 1276 @$(COPY) PlaceHolder "$(INSTALL_DIR)\lock\"
637
+ − 1277 -$(DEL) "$(INSTALL_DIR)\lock\PlaceHolder"
583
+ − 1278 @$(COPY) $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
+ − 1279 @$(COPY) $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
+ − 1280 @$(COPY) $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
+ − 1281 @$(COPY) $(SRC)\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
+ − 1282 @$(COPYDIR) $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
+ − 1283 @$(COPYDIR) $(XEMACS)\info "$(INSTALL_DIR)\info\"
+ − 1284 @$(COPYDIR) $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
428
+ − 1285 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
583
+ − 1286 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\site-packages\"
637
+ − 1287 -$(DEL) "$(PACKAGE_PREFIX)\site-packages\PlaceHolder"
583
+ − 1288 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\"
637
+ − 1289 -$(DEL) "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder"
583
+ − 1290 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\"
637
+ − 1291 -$(DEL) "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder"
+ − 1292 -$(DEL) PlaceHolder
428
+ − 1293
442
+ − 1294 mostlyclean:
637
+ − 1295 -$(DEL) $(XEMACS)\Installation
+ − 1296 -$(DEL) $(OUTDIR)\*.lib
+ − 1297 -$(DEL) $(OUTDIR)\*.obj
+ − 1298 -$(DEL) $(OUTDIR)\*.pdb
+ − 1299 -$(DEL) $(OUTDIR)\*.res
+ − 1300 -$(DEL) $(OUTDIR)\*.sbr
+ − 1301 -$(DEL) $(SRC)\*.exe
+ − 1302 -$(DEL) $(SRC)\*.map
+ − 1303 -$(DEL) $(SRC)\*.bsc
+ − 1304 -$(DEL) $(SRC)\*.pdb
+ − 1305 -$(DEL) $(LIB_SRC)\*.exe
+ − 1306 -$(DEL) $(LIB_SRC)\*.obj
+ − 1307 -$(DEL) $(LIB_SRC)\*.pdb
+ − 1308 -$(DEL) $(LIB_SRC)\*.res
442
+ − 1309
+ − 1310 clean: mostlyclean versionclean
637
+ − 1311 -$(DEL) $(XEMACS)\TAGS
442
+ − 1312
+ − 1313 nicenclean: clean
637
+ − 1314 -$(DEL) $(NT)\*.bak
+ − 1315 -$(DEL) $(NT)\*.orig
+ − 1316 -$(DEL) $(NT)\*.rej
+ − 1317 -$(DEL) $(NT)\*.tmp
+ − 1318 -$(DEL) $(LIB_SRC)\*.bak
+ − 1319 -$(DEL) $(LIB_SRC)\*.orig
+ − 1320 -$(DEL) $(LIB_SRC)\*.rej
+ − 1321 -$(DEL) $(LIB_SRC)\*.tmp
+ − 1322 -$(DEL) $(SRC)\*.bak
+ − 1323 -$(DEL) $(SRC)\*.orig
+ − 1324 -$(DEL) $(SRC)\*.rej
+ − 1325 -$(DEL) $(SRC)\*.tmp
+ − 1326 -$(DEL) $(LISP)\*.bak
+ − 1327 -$(DEL) $(LISP)\*.orig
+ − 1328 -$(DEL) $(LISP)\*.rej
+ − 1329 -$(DEL) $(LISP)\*.tmp
+ − 1330
+ − 1331 # Convenience target.
+ − 1332 # Reproducing the configuration is just a matter of copying, and if
+ − 1333 # we use the same directory for Cygwin builds these must go. We don't
+ − 1334 # want to use distclean.
+ − 1335 configclean:
+ − 1336 -$(DEL) $(SRC)\config.h
+ − 1337 -$(DEL) $(SRC)\paths.h
+ − 1338 -$(DEL) $(SRC)\Emacs.ad.h
442
+ − 1339
+ − 1340 ## This is used in making a distribution.
+ − 1341 ## Do not use it on development directories!
637
+ − 1342 distclean: nicenclean configclean
+ − 1343 -$(DEL) $(LIB_SRC)\$(CONFIG_VALUES)
+ − 1344 -$(DEL) $(INFODIR)\*.info*
+ − 1345 -$(DEL) $(LISP)\*.elc
+ − 1346 -$(DEL) $(LISP)\mule\*.elc
+ − 1347 -$(DEL) $(LISP)\term\*.elc
442
+ − 1348
+ − 1349 realclean: distclean
+ − 1350
+ − 1351 versionclean:
637
+ − 1352 -$(DEL) $(SRC)\xemacs.exe
+ − 1353 -$(DEL) $(LIB_SRC)\DOC
442
+ − 1354
+ − 1355 #not sure about those wildcards. DOS wildcards are stupid compared to Unix,
+ − 1356 #and could end up deleting *everything* instead of just backup files or
637
+ − 1357 #whatever. So just leave it at "realclean"
+ − 1358 extraclean: realclean
+ − 1359 # -$(DEL) *~
+ − 1360 # -$(DEL) *.*~
+ − 1361 # -$(DEL) #*
+ − 1362 # -$(DEL) m\*~
+ − 1363 # -$(DEL) m\#*
+ − 1364 # -$(DEL) s\*~
+ − 1365 # -$(DEL) s\#*
428
+ − 1366
+ − 1367 depend:
442
+ − 1368 cd $(SRC)
432
+ − 1369 perl ./make-src-depend > depend.tmp
+ − 1370 perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')"
428
+ − 1371
771
+ − 1372 unicode-encapsulate:
+ − 1373 cd $(SRC)
+ − 1374 perl ../lib-src/make-mswin-unicode.pl --c-output intl-auto-encap-win32.c --h-output intl-auto-encap-win32.h intl-encap-win32.c
+ − 1375
442
+ − 1376 $(XEMACS)\Installation:: installation
440
+ − 1377
442
+ − 1378 installation::
558
+ − 1379 @echo OS version:>$(XEMACS)\Installation
+ − 1380 @ver >> $(XEMACS)\Installation
+ − 1381 @type >> $(XEMACS)\Installation <<
428
+ − 1382 !if defined(OS)
+ − 1383 OS: $(OS)
+ − 1384 !endif
+ − 1385
+ − 1386 XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for `$(EMACS_CONFIGURATION)'.
+ − 1387
+ − 1388 Building XEmacs in \"$(MAKEDIR:\=\\)\".
+ − 1389 !if defined(CCV)
+ − 1390 Using compiler \"$(CC) $(CFLAGS)\".
+ − 1391 !endif
+ − 1392 Installing XEmacs in \"$(INSTALL_DIR:\=\\)\".
+ − 1393 Package path is $(PATH_PACKAGEPATH:"=\").
+ − 1394 !if $(INFODOCK)
+ − 1395 Building InfoDock.
+ − 1396 !endif
442
+ − 1397 !if $(HAVE_MS_WINDOWS)
428
+ − 1398 Compiling in support for Microsoft Windows native GUI.
+ − 1399 !endif
442
+ − 1400 !if $(HAVE_X_WINDOWS)
428
+ − 1401 Compiling in support for X-Windows.
+ − 1402 !endif
771
+ − 1403 !if $(MULE)
+ − 1404 Compiling in international (MULE) support.
428
+ − 1405 !endif
488
+ − 1406 !if $(HAVE_GTK)
+ − 1407 --------------------------------------------------------------------
523
+ − 1408 WARNING: You specified HAVE_GTK=1, but we are compiling WITHOUT GTK support.
+ − 1409 WARNING: gtk-xemacs is not currently supported on MSWindows (mingw or msvc).
+ − 1410 WARNING: Yes, we know that gtk has been ported to native MSWindows, but
+ − 1411 WARNING: XEmacs is not yet ready to use that port.
488
+ − 1412 --------------------------------------------------------------------
+ − 1413 !endif
428
+ − 1414 !if $(HAVE_XPM)
+ − 1415 Compiling in support for XPM images.
+ − 1416 !else
+ − 1417 --------------------------------------------------------------------
+ − 1418 WARNING: Compiling without XPM support.
+ − 1419 WARNING: You should strongly consider installing XPM.
+ − 1420 WARNING: Otherwise toolbars and other graphics will look suboptimal.
+ − 1421 WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)
+ − 1422 --------------------------------------------------------------------
+ − 1423 !endif
+ − 1424 !if $(HAVE_GIF)
+ − 1425 Compiling in support for GIF images.
+ − 1426 !endif
+ − 1427 !if $(HAVE_PNG)
+ − 1428 Compiling in support for PNG images.
+ − 1429 !else
+ − 1430 --------------------------------------------------------------------
+ − 1431 WARNING: Compiling without PNG image support.
+ − 1432 WARNING: You should strongly consider installing the PNG libraries.
+ − 1433 WARNING: Otherwise certain images and glyphs may not display.
+ − 1434 WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux
+ − 1435 --------------------------------------------------------------------
+ − 1436 !endif
+ − 1437 !if $(HAVE_TIFF)
+ − 1438 Compiling in support for TIFF images.
+ − 1439 !endif
+ − 1440 !if $(HAVE_JPEG)
+ − 1441 Compiling in support for JPEG images.
+ − 1442 !endif
+ − 1443 !if $(HAVE_XFACE)
+ − 1444 Compiling in support for X-Face message headers.
+ − 1445 !endif
771
+ − 1446 !if $(HAVE_ZLIB)
+ − 1447 Compiling in support for GZIP compression/decompression.
+ − 1448 !endif
428
+ − 1449 !if $(HAVE_TOOLBARS)
+ − 1450 Compiling in support for toolbars.
+ − 1451 !endif
+ − 1452 !if $(HAVE_DIALOGS)
+ − 1453 Compiling in support for dialogs.
+ − 1454 !endif
+ − 1455 !if $(HAVE_WIDGETS)
+ − 1456 Compiling in support for widgets.
+ − 1457 !endif
+ − 1458 !if $(HAVE_NATIVE_SOUND)
+ − 1459 Compiling in support for native sounds.
+ − 1460 !endif
+ − 1461 !if $(HAVE_MSW_C_DIRED)
+ − 1462 Compiling in fast dired implementation.
+ − 1463 !else
+ − 1464 --------------------------------------------------------------------
+ − 1465 WARNING: Define HAVE_MSW_C_DIRED to be non-zero if you want XEmacs
+ − 1466 WARNING: to use C primitives to significantly speed up dired, at the
+ − 1467 WARNING: expense of an additional ~4KB of code.
+ − 1468 --------------------------------------------------------------------
+ − 1469 !endif
+ − 1470 !if $(USE_MINIMAL_TAGBITS)
+ − 1471 Using minimal tagbits.
+ − 1472 !endif
+ − 1473 !if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
+ − 1474 Using indexed lrecord implementation.
+ − 1475 !endif
+ − 1476 !if $(USE_UNION_TYPE)
+ − 1477 Using union type for Lisp object storage.
+ − 1478 !endif
438
+ − 1479 !if $(USE_PORTABLE_DUMPER)
+ − 1480 Using portable dumper.
+ − 1481 !endif
440
+ − 1482 !if $(USE_SYSTEM_MALLOC)
+ − 1483 Using system malloc.
+ − 1484 !endif
+ − 1485 !if $(USE_CRTDLL)
+ − 1486 Using DLL version of C runtime library
+ − 1487 !endif
428
+ − 1488 !if $(DEBUG_XEMACS)
+ − 1489 Compiling in extra debug checks. XEmacs will be slow!
+ − 1490 !endif
442
+ − 1491 !if $(QUICK_BUILD)
+ − 1492 Disabling non-essential build actions. Use with care!
+ − 1493 !endif
428
+ − 1494 <<NOKEEP
+ − 1495 @echo --------------------------------------------------------------------
+ − 1496 @type $(XEMACS)\Installation
+ − 1497 @echo --------------------------------------------------------------------
+ − 1498
442
+ − 1499 # Update out-of-date .elcs, other than needed for dumping.
+ − 1500 update-elc-2:
+ − 1501 $(XEMACS_BATCH) -l update-elc-2.el -f batch-update-elc-2 $(LISP)
+ − 1502
428
+ − 1503 # DO NOT DELETE THIS LINE -- make depend depends on it.
+ − 1504