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