comparison nt/xemacs.mak @ 2951:b694dfd2f40e

[xemacs-hg @ 2005-09-26 08:13:00 by ben] Compile Windows with gmp, ldap, postgresql, db, etc. README: Major rewrite. Document how to compile various optional libs. config.inc.samp: Update to recent versions of optional libs. Add support for gmp, db, postgresql, ldap. Turn on optimization when not debug. minitar.c: Include config.h. xemacs.mak: Figure out VC++ version and use it to set debug and browser flags appropriately. Add support for building gmp, db, postgresql, ldap. Rewrite handling of optional stuff so it is all added to single variables OPT_* rather than to various FOO_* variables. Pass -I$(SRC) to minitar.c so it compiles. Pass module sources, not objects, to make-docfile. Delete more stuff in `make clean'.
author ben
date Mon, 26 Sep 2005 08:13:00 +0000
parents b5fe6b5627b1
children fe94f59a2773
comparison
equal deleted inserted replaced
2950:6faeb73983bb 2951:b694dfd2f40e
1 # Makefile for Microsoft NMAKE -*- Makefile -*- 1 # Makefile for Microsoft NMAKE -*- Makefile -*-
2 # 2 #
3 # Copyright (C) 1995 Board of Trustees, University of Illinois. 3 # Copyright (C) 1995 Board of Trustees, University of Illinois.
4 # Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2004 Ben Wing. 4 # Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005 Ben Wing.
5 # Copyright (C) 1997, 1998, 2000 Jonathan Harris. 5 # Copyright (C) 1997, 1998, 2000 Jonathan Harris.
6 # Copyright (C) 1995 Sun Microsystems, Inc. 6 # Copyright (C) 1995 Sun Microsystems, Inc.
7 # Copyright (C) 1998 Free Software Foundation, Inc. 7 # Copyright (C) 1998 Free Software Foundation, Inc.
8 # 8 #
9 # This file is part of XEmacs. 9 # This file is part of XEmacs.
93 BLDSRC=$(BLDROOT)\src 93 BLDSRC=$(BLDROOT)\src
94 94
95 # This appears in the dependency file 95 # This appears in the dependency file
96 LWLIB_SRCDIR=$(SRCROOT)\lwlib 96 LWLIB_SRCDIR=$(SRCROOT)\lwlib
97 97
98 ########################### Figure out current version of VC++.
99
100 !if [echo MSC_VER=_MSC_VER > $(OUTDIR)\vcversion.c]
101 !endif
102 !if [cl /nologo /EP $(OUTDIR)\vcversion.c > $(OUTDIR)\vcversion.tmp]
103 !endif
104 !include "$(OUTDIR)\vcversion.tmp"
105
98 ########################### Process the config.inc options. 106 ########################### Process the config.inc options.
99 107
100 !if !defined(INFODOCK) 108 !if !defined(INFODOCK)
101 INFODOCK=0 109 INFODOCK=0
102 !endif 110 !endif
145 !if !defined(HAVE_NATIVE_SOUND) 153 !if !defined(HAVE_NATIVE_SOUND)
146 HAVE_NATIVE_SOUND=1 154 HAVE_NATIVE_SOUND=1
147 !endif 155 !endif
148 !if !defined(HAVE_WIDGETS) 156 !if !defined(HAVE_WIDGETS)
149 HAVE_WIDGETS=1 157 HAVE_WIDGETS=1
158 !endif
159 !if !defined(HAVE_DATABASE)
160 HAVE_DATABASE=0
161 !endif
162 !if !defined(BUILD_DATABASE_SHARED)
163 BUILD_DATABASE_SHARED=0
164 !endif
165 !if !defined(HAVE_POSTGRESQL)
166 HAVE_POSTGRESQL=0
167 !endif
168 !if !defined(HAVE_LDAP)
169 HAVE_LDAP=0
170 !endif
171 !if !defined(HAVE_BIGNUM)
172 HAVE_BIGNUM=0
150 !endif 173 !endif
151 !if !defined(OPTIMIZED_BUILD) 174 !if !defined(OPTIMIZED_BUILD)
152 OPTIMIZED_BUILD=1 175 OPTIMIZED_BUILD=1
153 !endif 176 !endif
154 !if !defined(USE_FASTCALL) 177 !if !defined(USE_FASTCALL)
247 !endif 270 !endif
248 !if $(HAVE_MS_WINDOWS) && $(HAVE_GTK) && !defined(GTK_DIR) 271 !if $(HAVE_MS_WINDOWS) && $(HAVE_GTK) && !defined(GTK_DIR)
249 !message Please specify root directory for your GTK installation: GTK_DIR=path 272 !message Please specify root directory for your GTK installation: GTK_DIR=path
250 CONFIG_ERROR=1 273 CONFIG_ERROR=1
251 !endif 274 !endif
275
252 !if $(HAVE_MS_WINDOWS) && $(HAVE_XPM) && !defined(XPM_DIR) 276 !if $(HAVE_MS_WINDOWS) && $(HAVE_XPM) && !defined(XPM_DIR)
253 !message Please specify root directory for your XPM installation: XPM_DIR=path 277 !message Please specify root directory for your XPM installation: XPM_DIR=path
254 CONFIG_ERROR=1 278 CONFIG_ERROR=1
255 !endif 279 !endif
256 !if $(HAVE_MS_WINDOWS) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib") 280 !if $(HAVE_MS_WINDOWS) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\lib\Xpm.lib")
257 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib" 281 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
258 CONFIG_ERROR=1 282 CONFIG_ERROR=1
259 !endif 283 !endif
284
260 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && !defined(PNG_DIR) 285 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && !defined(PNG_DIR)
261 !message Please specify root directory for your PNG installation: PNG_DIR=path 286 !message Please specify root directory for your PNG installation: PNG_DIR=path
262 CONFIG_ERROR=1 287 CONFIG_ERROR=1
263 !endif 288 !endif
264 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib") 289 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
265 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib" 290 !message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
266 CONFIG_ERROR=1 291 CONFIG_ERROR=1
267 !endif 292 !endif
293
268 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && !defined(ZLIB_DIR) 294 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && !defined(ZLIB_DIR)
269 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path 295 !message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
270 CONFIG_ERROR=1 296 CONFIG_ERROR=1
271 !endif 297 !endif
272 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib") 298 !if $(HAVE_MS_WINDOWS) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
273 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib" 299 !message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
274 CONFIG_ERROR=1 300 CONFIG_ERROR=1
275 !endif 301 !endif
302
276 !if $(HAVE_MS_WINDOWS) && $(HAVE_TIFF) && !defined(TIFF_DIR) 303 !if $(HAVE_MS_WINDOWS) && $(HAVE_TIFF) && !defined(TIFF_DIR)
277 !message Please specify root directory for your TIFF installation: TIFF_DIR=path 304 !message Please specify root directory for your TIFF installation: TIFF_DIR=path
278 CONFIG_ERROR=1 305 CONFIG_ERROR=1
279 !endif 306 !endif
280 !if $(HAVE_MS_WINDOWS) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib") 307 !if $(HAVE_MS_WINDOWS) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
281 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib" 308 !message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
282 CONFIG_ERROR=1 309 CONFIG_ERROR=1
283 !endif 310 !endif
311
284 !if $(HAVE_MS_WINDOWS) && $(HAVE_JPEG) && !defined(JPEG_DIR) 312 !if $(HAVE_MS_WINDOWS) && $(HAVE_JPEG) && !defined(JPEG_DIR)
285 !message Please specify root directory for your JPEG installation: JPEG_DIR=path 313 !message Please specify root directory for your JPEG installation: JPEG_DIR=path
286 CONFIG_ERROR=1 314 CONFIG_ERROR=1
287 !endif 315 !endif
288 !if $(HAVE_MS_WINDOWS) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib") 316 !if $(HAVE_MS_WINDOWS) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
289 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib" 317 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
290 CONFIG_ERROR=1 318 CONFIG_ERROR=1
291 !endif 319 !endif
320
292 !if $(HAVE_MS_WINDOWS) && $(HAVE_XFACE) && !defined(COMPFACE_DIR) 321 !if $(HAVE_MS_WINDOWS) && $(HAVE_XFACE) && !defined(COMPFACE_DIR)
293 !message Please specify root directory for your COMPFACE installation: COMPFACE_DIR=path 322 !message Please specify root directory for your COMPFACE installation: COMPFACE_DIR=path
294 CONFIG_ERROR=1 323 CONFIG_ERROR=1
295 !endif 324 !endif
296 !if $(HAVE_MS_WINDOWS) && $(HAVE_XFACE) && !exist("$(COMPFACE_DIR)\libcompface.lib") 325 !if $(HAVE_MS_WINDOWS) && $(HAVE_XFACE) && !exist("$(COMPFACE_DIR)\libcompface.lib")
297 !message Specified COMPFACE directory does not contain "$(COMPFACE_DIR)\libcompface.lib" 326 !message Specified COMPFACE directory does not contain "$(COMPFACE_DIR)\libcompface.lib"
298 CONFIG_ERROR=1 327 CONFIG_ERROR=1
299 !endif 328 !endif
329
300 !if $(HAVE_MS_WINDOWS) && $(HAVE_TOOLBARS) && !$(HAVE_XPM) 330 !if $(HAVE_MS_WINDOWS) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
301 !message Toolbars require XPM support 331 !message Toolbars require XPM support
332 CONFIG_ERROR=1
333 !endif
334
335 !if $(HAVE_MS_WINDOWS) && $(HAVE_BIGNUM) && !defined(BIGNUM_DIR)
336 !message Please specify root directory for your BIGNUM installation: BIGNUM_DIR=path
337 CONFIG_ERROR=1
338 !endif
339 !if $(HAVE_MS_WINDOWS) && $(HAVE_BIGNUM) && defined(BIGNUM_DIR)
340 !if $(BUILD_BIGNUM_MINGW_SHARED)
341 !if !exist("$(BIGNUM_DIR)\libgmp-3.lib")
342 !message Specified BIGNUM directory does not contain "$(BIGNUM_DIR)\libgmp-3.lib"
343 CONFIG_ERROR=1
344 !endif
345 !else
346 !if $(BUILD_BIGNUM_NATIVE_SHARED)
347 !if !exist("$(BIGNUM_DIR)\gmp-dynamic\gmp.lib")
348 !message Specified BIGNUM directory does not contain "$(BIGNUM_DIR)\gmp-dynamic\gmp.lib"
349 CONFIG_ERROR=1
350 !endif
351 !else
352 !if !exist("$(BIGNUM_DIR)\gmp-static\gmp.lib")
353 !message Specified BIGNUM directory does not contain "$(BIGNUM_DIR)\gmp-static\gmp.lib"
354 CONFIG_ERROR=1
355 !endif
356 !endif
357 !endif
358 !endif
359
360 !if $(HAVE_MS_WINDOWS) && $(HAVE_DATABASE) && !defined(DATABASE_DIR)
361 !message Please specify root directory for your DATABASE installation: DATABASE_DIR=path
362 CONFIG_ERROR=1
363 !endif
364 !if $(HAVE_MS_WINDOWS) && $(HAVE_DATABASE) && defined(DATABASE_DIR)
365 !if $(BUILD_DATABASE_SHARED)
366 !if !exist("$(DATABASE_DIR)\build_win32\Release\libdb43.lib")
367 !message Specified DATABASE directory does not contain "$(DATABASE_DIR)\build_win32\Release\libdb43.lib"
368 CONFIG_ERROR=1
369 !endif
370 !else
371 !if !exist("$(DATABASE_DIR)\build_win32\Release_static\libdb43s.lib")
372 !message Specified DATABASE directory does not contain "$(DATABASE_DIR)\build_win32\Release_static\libdb43s.lib"
373 CONFIG_ERROR=1
374 !endif
375 !endif
376 !endif
377
378 !if $(HAVE_MS_WINDOWS) && $(HAVE_POSTGRESQL) && !defined(POSTGRESQL_DIR)
379 !message Please specify root directory for your POSTGRESQL installation: POSTGRESQL_DIR=path
380 CONFIG_ERROR=1
381 !endif
382 !if $(HAVE_MS_WINDOWS) && $(HAVE_POSTGRESQL) && defined(POSTGRESQL_DIR) && !exist("$(POSTGRESQL_DIR)\src\interfaces\libpq\Release\libpq.lib")
383 !message Specified POSTGRESQL directory does not contain "$(POSTGRESQL_DIR)\src\interfaces\libpq\Release\libpq.lib"
384 CONFIG_ERROR=1
385 !endif
386 !if $(HAVE_MS_WINDOWS) && $(HAVE_LDAP) && !defined(LDAP_DIR)
387 !message Please specify root directory for your LDAP installation: LDAP_DIR=path
388 CONFIG_ERROR=1
389 !endif
390 !if $(HAVE_MS_WINDOWS) && $(HAVE_LDAP) && defined(LDAP_DIR) && !exist("$(LDAP_DIR)\openldap.lib")
391 !message Specified LDAP directory does not contain "$(LDAP_DIR)\openldap.lib"
302 CONFIG_ERROR=1 392 CONFIG_ERROR=1
303 !endif 393 !endif
304 !if $(CONFIG_ERROR) 394 !if $(CONFIG_ERROR)
305 !error Configuration error(s) found 395 !error Configuration error(s) found
306 !endif 396 !endif
384 !endif 474 !endif
385 STACK_TRACE_EYE_CATCHER=$(XEMACS_VERSION_STRING:.=_) 475 STACK_TRACE_EYE_CATCHER=$(XEMACS_VERSION_STRING:.=_)
386 STACK_TRACE_EYE_CATCHER=xemacs_$(STACK_TRACE_EYE_CATCHER:-=_)_$(EMACS_CONFIGURATION:-=_) 476 STACK_TRACE_EYE_CATCHER=xemacs_$(STACK_TRACE_EYE_CATCHER:-=_)_$(EMACS_CONFIGURATION:-=_)
387 PROGRAM_DEFINES=$(PROGRAM_DEFINES) -DSTACK_TRACE_EYE_CATCHER=$(STACK_TRACE_EYE_CATCHER) 477 PROGRAM_DEFINES=$(PROGRAM_DEFINES) -DSTACK_TRACE_EYE_CATCHER=$(STACK_TRACE_EYE_CATCHER)
388 478
389 ########################### Determine includes/defines/object file for 479 ########################### Determine includes/defines/object files/libraries
390 ########################### various options. 480 ########################### for all configuration options given.
481
482 OPT_DEFINES=
483 OPT_INCLUDES=
484 OPT_LIBS=
485 OPT_OBJS=
486 TEMACS_MODULE_OBJS=
487 TEMACS_MODULE_SRCS=
391 488
392 !if $(HAVE_MS_WINDOWS) 489 !if $(HAVE_MS_WINDOWS)
393 MSW_DEFINES=-DHAVE_MS_WINDOWS 490 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_MS_WINDOWS
394 MSW_INCLUDES= 491 OPT_LIBS=$(OPT_LIBS) comctl32.lib
395 MSW_LIBS=comctl32.lib 492 OPT_OBJS=$(OPT_OBJS) \
396
397 !if $(HAVE_XPM)
398 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
399 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
400 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
401 !endif
402 !if $(HAVE_GIF)
403 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
404 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
405 !endif
406 !if $(HAVE_PNG)
407 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
408 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
409 MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
410 !endif
411 !if $(HAVE_TIFF)
412 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
413 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
414 MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
415 !endif
416 !if $(HAVE_JPEG)
417 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
418 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
419 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
420 !endif
421 !if $(HAVE_XFACE)
422 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XFACE
423 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)"
424 MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
425 !endif
426 !if $(HAVE_ZLIB)
427 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_ZLIB
428 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(ZLIB_DIR)"
429 MSW_LIBS=$(MSW_LIBS) "$(ZLIB_DIR)\zlib.lib"
430 !endif
431 !if $(HAVE_MENUBARS)
432 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MENUBARS
433 MSW_MENUBAR_OBJ=$(OUTDIR)\menubar.obj $(OUTDIR)\menubar-msw.obj
434 !endif
435 !if $(HAVE_SCROLLBARS)
436 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_SCROLLBARS
437 MSW_SCROLLBAR_OBJ=$(OUTDIR)\scrollbar.obj $(OUTDIR)\scrollbar-msw.obj
438 !endif
439 !if $(HAVE_TOOLBARS)
440 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
441 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
442 !endif
443 !if $(HAVE_WIDGETS)
444 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS
445 !endif
446 !if $(HAVE_DIALOGS)
447 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
448 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
449 !endif
450 !if $(HAVE_NATIVE_SOUND)
451 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
452 !endif
453
454 TEMACS_MSW_OBJS=\
455 $(OUTDIR)\console-msw.obj \ 493 $(OUTDIR)\console-msw.obj \
456 $(OUTDIR)\device-msw.obj \ 494 $(OUTDIR)\device-msw.obj \
457 $(OUTDIR)\event-msw.obj \ 495 $(OUTDIR)\event-msw.obj \
458 $(OUTDIR)\frame-msw.obj \ 496 $(OUTDIR)\frame-msw.obj \
459 $(OUTDIR)\glyphs-msw.obj \ 497 $(OUTDIR)\glyphs-msw.obj \
460 $(OUTDIR)\gui-msw.obj \ 498 $(OUTDIR)\gui-msw.obj \
461 $(OUTDIR)\objects-msw.obj \ 499 $(OUTDIR)\objects-msw.obj \
462 $(OUTDIR)\redisplay-msw.obj \ 500 $(OUTDIR)\redisplay-msw.obj \
463 $(OUTDIR)\select-msw.obj \ 501 $(OUTDIR)\select-msw.obj \
464 $(OUTDIR)\dired-msw.obj \ 502 $(OUTDIR)\dired-msw.obj
465 $(MSW_MENUBAR_OBJ) \ 503 !if $(HAVE_MENUBARS)
466 $(MSW_SCROLLBAR_OBJ) \ 504 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_MENUBARS
467 $(MSW_TOOLBAR_OBJ) \ 505 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\menubar.obj $(OUTDIR)\menubar-msw.obj
468 $(MSW_DIALOG_OBJ) \ 506 !endif
469 $(MSW_GIF_OBJ) 507 !if $(HAVE_SCROLLBARS)
470 508 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_SCROLLBARS
509 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\scrollbar.obj $(OUTDIR)\scrollbar-msw.obj
510 !endif
511 !if $(HAVE_TOOLBARS)
512 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_TOOLBARS
513 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
514 !endif
515 !if $(HAVE_WIDGETS)
516 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_WIDGETS
517 !endif
518 !if $(HAVE_DIALOGS)
519 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_DIALOGS
520 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
521 !endif
471 # end !if $(HAVE_MS_WINDOWS) 522 # end !if $(HAVE_MS_WINDOWS)
472 !endif 523 !endif
473 524
525 !if $(HAVE_XPM)
526 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_XPM -DFOR_MSW
527 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
528 OPT_LIBS=$(OPT_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
529 !endif
530 !if $(HAVE_GIF)
531 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_GIF
532 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
533 !endif
534 !if $(HAVE_PNG)
535 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_PNG
536 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
537 OPT_LIBS=$(OPT_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
538 !endif
539 !if $(HAVE_TIFF)
540 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_TIFF
541 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(TIFF_DIR)\libtiff"
542 OPT_LIBS=$(OPT_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
543 !endif
544 !if $(HAVE_JPEG)
545 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_JPEG
546 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(JPEG_DIR)"
547 OPT_LIBS=$(OPT_LIBS) "$(JPEG_DIR)\libjpeg.lib"
548 !endif
549 !if $(HAVE_XFACE)
550 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_XFACE
551 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(COMPFACE_DIR)"
552 OPT_LIBS=$(OPT_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
553 !endif
554 !if $(HAVE_ZLIB)
555 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_ZLIB
556 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(ZLIB_DIR)"
557 OPT_LIBS=$(OPT_LIBS) "$(ZLIB_DIR)\zlib.lib"
558 !endif
559 !if $(HAVE_BIGNUM)
560 OPT_DEFINES=$(OPT_DEFINES) -DWITH_NUMBER_TYPES -DWITH_GMP
561 !if $(BUILD_BIGNUM_MINGW_SHARED)
562 OPT_LIBS=$(OPT_LIBS) "$(BIGNUM_DIR)\libgmp-3.lib"
563 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(BIGNUM_DIR)"
564 !else
565 !if $(BUILD_BIGNUM_NATIVE_SHARED)
566 OPT_LIBS=$(OPT_LIBS) "$(BIGNUM_DIR)\gmp-dynamic\gmp.lib"
567 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(BIGNUM_DIR)\gmp-dynamic"
568 !else
569 OPT_LIBS=$(OPT_LIBS) "$(BIGNUM_DIR)\gmp-static\gmp.lib"
570 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(BIGNUM_DIR)\gmp-static"
571 !endif
572 !endif
573 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\number-gmp.obj $(OUTDIR)\number.obj
574 !endif
575 !if $(HAVE_DATABASE)
576 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_DATABASE -DHAVE_BERKELEY_DB -DDB_H_FILE=\"db.h\"
577 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(DATABASE_DIR)\build_win32"
578 !if $(BUILD_DATABASE_SHARED)
579 OPT_LIBS=$(OPT_LIBS) "$(DATABASE_DIR)\build_win32\Release\libdb43.lib"
580 !else
581 OPT_LIBS=$(OPT_LIBS) "$(DATABASE_DIR)\build_win32\Release_static\libdb43s.lib"
582 !endif
583 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\database.obj
584 !endif
585 !if $(HAVE_POSTGRESQL)
586 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_POSTGRESQL -DHAVE_POSTGRESQLV7 -DLIBPQ_FE_H_FILE=\"libpq-fe.h\"
587 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(POSTGRESQL_DIR)\src\include" -I"$(POSTGRESQL_DIR)\src\interfaces\libpq"
588 OPT_LIBS=$(OPT_LIBS) "$(POSTGRESQL_DIR)\src\interfaces\libpq\Release\libpq.lib"
589 TEMACS_MODULE_OBJS=$(TEMACS_MODULE_OBJS) $(OUTDIR)\postgresql.obj
590 TEMACS_MODULE_SRCS=$(TEMACS_MODULE_SRCS) $(SRCROOT)\modules\postgresql\postgresql.c
591 !endif
592 !if $(HAVE_LDAP)
593 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_LDAP -DHAVE_LDAP_SET_OPTION -DHAVE_LDAP_RESULT2ERROR -DHAVE_LDAP_PARSE_RESULT
594 OPT_INCLUDES=$(OPT_INCLUDES) -I"$(LDAP_DIR)"
595 OPT_LIBS=$(OPT_LIBS) "$(LDAP_DIR)\openldap.lib"
596 TEMACS_MODULE_OBJS=$(TEMACS_MODULE_OBJS) $(OUTDIR)\eldap.obj
597 TEMACS_MODULE_SRCS=$(TEMACS_MODULE_SRCS) $(SRCROOT)\modules\ldap\eldap.c
598 !endif
599 !if $(HAVE_NATIVE_SOUND)
600 OPT_DEFINES=$(OPT_DEFINES) -DHAVE_NATIVE_SOUND
601 !endif
602
474 !if $(MULE) 603 !if $(MULE)
475 MULE_DEFINES=-DMULE 604 OPT_DEFINES=$(OPT_DEFINES) -DMULE
476 TEMACS_MULE_OBJS=\ 605 OPT_OBJS=$(OPT_OBJS) \
477 $(OUTDIR)\mule-ccl.obj \ 606 $(OUTDIR)\mule-ccl.obj \
478 $(OUTDIR)\mule-charset.obj \ 607 $(OUTDIR)\mule-charset.obj \
479 $(OUTDIR)\mule-coding.obj 608 $(OUTDIR)\mule-coding.obj
480 !endif 609 !endif
481 610
482 !if $(DEBUG_XEMACS) 611 !if $(DEBUG_XEMACS)
483 TEMACS_DEBUG_OBJS=$(OUTDIR)\debug.obj $(OUTDIR)\tests.obj 612 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\debug.obj $(OUTDIR)\tests.obj
484 !endif 613 !endif
485 614
486 !if $(QUICK_BUILD) 615 !if $(QUICK_BUILD)
487 QUICK_DEFINES=-DQUICK_BUILD 616 OPT_DEFINES=$(OPT_DEFINES) -DQUICK_BUILD
488 !endif 617 !endif
489 618
490 !if $(ERROR_CHECK_ALL) 619 !if $(ERROR_CHECK_ALL)
491 ERROR_CHECK_DEFINES=-DERROR_CHECK_ALL 620 OPT_DEFINES=$(OPT_DEFINES) -DERROR_CHECK_ALL
492 !endif 621 !endif
493 622
494 !if $(USE_UNION_TYPE) 623 !if $(USE_UNION_TYPE)
495 UNION_DEFINES=-DUSE_UNION_TYPE 624 OPT_DEFINES=$(OPT_DEFINES) -DUSE_UNION_TYPE
496 !endif 625 !endif
497 626
498 !if $(USE_PORTABLE_DUMPER) 627 !if $(USE_PORTABLE_DUMPER)
499 DUMPER_DEFINES=-DPDUMP 628 OPT_DEFINES=$(OPT_DEFINES) -DPDUMP
500 TEMACS_DUMP_OBJS=$(OUTDIR)\dumper.obj 629 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\dumper.obj
501 !else 630 !else
502 TEMACS_DUMP_OBJS=$(OUTDIR)\unexnt.obj 631 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\unexnt.obj
503 !endif 632 !endif
504 633
505 !if $(USE_KKCC) 634 !if $(USE_KKCC)
506 KKCC_DEFINES=-DUSE_KKCC 635 OPT_DEFINES=$(OPT_DEFINES) -DUSE_KKCC
507 !endif 636 !endif
508
509 !if $(MC_ALLOC) 637 !if $(MC_ALLOC)
510 MC_ALLOC_DEFINES=-DMC_ALLOC 638 OPT_DEFINES=$(OPT_DEFINES) -DMC_ALLOC
511 TEMACS_MC_ALLOC_OBJS=$(OUTDIR)\mc-alloc.obj 639 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\mc-alloc.obj
512 !endif 640 !endif
513 641
514 !if $(USE_SYSTEM_MALLOC) 642 !if $(USE_SYSTEM_MALLOC)
515 MALLOC_DEFINES=-DSYSTEM_MALLOC 643 OPT_DEFINES=$(OPT_DEFINES) -DSYSTEM_MALLOC
516 !else 644 !else
517 MALLOC_DEFINES=-DGNU_MALLOC 645 OPT_DEFINES=$(OPT_DEFINES) -DGNU_MALLOC
518 TEMACS_ALLOC_OBJS=$(OUTDIR)\free-hook.obj $(OUTDIR)\gmalloc.obj \ 646 OPT_OBJS=$(OPT_OBJS) $(OUTDIR)\free-hook.obj $(OUTDIR)\gmalloc.obj \
519 $(OUTDIR)\ntheap.obj $(OUTDIR)\vm-limit.obj 647 $(OUTDIR)\ntheap.obj $(OUTDIR)\vm-limit.obj
520 !endif 648 !endif
521 649
522 ########################### Process options related to compilation. 650 ########################### Process options related to compilation.
523 651
531 !endif 659 !endif
532 660
533 !if $(DEBUG_XEMACS) 661 !if $(DEBUG_XEMACS)
534 662
535 # ---- Debugging support ---- 663 # ---- Debugging support ----
664 ! if $(MSC_VER) >= 1400
665 # VC 7 sets opt:noref automatically with -debug. VC 8 apparently doesn't
666 # do this, and then complains if you try to use edit-and-continue without
667 # giving it.
668 DEBUG_FLAG_LINK_DEBUG=-debug -opt:noref
669 # This turns on additional run-time checking
670 # For some reason it causes spawning of make-docfile to crash in VC 7
671 DEBUG_FLAG_COMPILE_DEBUG=-RTC1
672 ! else
673 DEBUG_FLAG_LINK_DEBUG=-debug:full
674 DEBUG_FLAG_COMPILE_DEBUG=
675 ! endif
676
536 ! if $(SUPPORT_EDIT_AND_CONTINUE) 677 ! if $(SUPPORT_EDIT_AND_CONTINUE)
537 # support edit-and-continue 678 # support edit-and-continue
538 DEBUG_FLAGS_COMPILE=-ZI 679 DEBUG_FLAGS_COMPILE=$(DEBUG_FLAG_COMPILE_DEBUG) -ZI
539 # WARNING: There is a very good reason for -incremental:no, as it can cause 680 # WARNING: There is a very good reason for -incremental:no, as it can cause
540 # all sorts of weird crashes in or after a pdump load. We must allow 681 # all sorts of weird crashes in or after a pdump load. We must allow
541 # incremental linking for edit-and-continue to work, however. 682 # incremental linking for edit-and-continue to work, however.
542 DEBUG_FLAGS_LINK=-debug:full 683 DEBUG_FLAGS_LINK=$(DEBUG_FLAG_LINK_DEBUG)
543 ! else 684 ! else
544 DEBUG_FLAGS_COMPILE=-Zi 685 DEBUG_FLAGS_COMPILE=$(DEBUG_FLAG_COMPILE_DEBUG) -Zi
545 DEBUG_FLAGS_LINK=-debug:full -incremental:no 686 DEBUG_FLAGS_LINK=$(DEBUG_FLAG_LINK_DEBUG) -incremental:no
546 ! endif 687 ! endif
547 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG 688
689 OPT_DEFINES=$(OPT_DEFINES) -DDEBUG_XEMACS -D_DEBUG
690
691 ! if $(MSC_VER) >= 1300
692 #BROWSERFLAGS=-FR -Fd$(OUTDIR)\temacs.pdb
693 BROWSERFLAGS=-FR$*.sbr -Fd$(OUTDIR)\temacs.pdb
694 ! else
548 #BROWSERFLAGS=-Fr -Fd$(OUTDIR)\temacs.pdb 695 #BROWSERFLAGS=-Fr -Fd$(OUTDIR)\temacs.pdb
549 BROWSERFLAGS=-Fr$*.sbr -Fd$(OUTDIR)\temacs.pdb 696 BROWSERFLAGS=-Fr$*.sbr -Fd$(OUTDIR)\temacs.pdb
697 ! endif
550 698
551 !else 699 !else
552 700
553 # ---- No debugging support ---- 701 # ---- No debugging support ----
554 DEBUG_FLAGS_COMPILE= 702 DEBUG_FLAGS_COMPILE=
555 DEBUG_FLAGS_LINK=-incremental:no 703 DEBUG_FLAGS_LINK=-incremental:no
556 DEBUG_DEFINES=
557 BROWSERFLAGS= 704 BROWSERFLAGS=
558 705
559 !endif 706 !endif
560 707
561 !if $(USE_CRTDLL) 708 !if $(USE_CRTDLL)
570 C_LIBFLAG=-ML 717 C_LIBFLAG=-ML
571 LIBC_LIB=libc.lib 718 LIBC_LIB=libc.lib
572 !endif 719 !endif
573 720
574 !if $(OPTIMIZED_BUILD) 721 !if $(OPTIMIZED_BUILD)
722 !if $(SUPPORT_EDIT_AND_CONTINUE)
723 !error Edit-and-continue is not compatible with optimization.
724 !endif
575 # -G5 means optimize for Pentium. (According to the code-optimization 725 # -G5 means optimize for Pentium. (According to the code-optimization
576 # article, -GB is the same as -G5, and -G6, i.e. optimze for Pentium Pro, 726 # article, -GB is the same as -G5, and -G6, i.e. optimze for Pentium Pro,
577 # gains you little over -G5 for PPro's but causes big slowdowns for 727 # gains you little over -G5 for PPro's but causes big slowdowns for
578 # Pentiums.) -GF means put strings in read-only memory; -Gr means use 728 # Pentiums.) -GF means put strings in read-only memory; -Gr means use
579 # fastcall convention. Another possible addition: -Ob2 -- allows inlining 729 # fastcall convention. Another possible addition: -Ob2 -- allows inlining
608 CPLUSPLUS_COMPILE_FLAGS= 758 CPLUSPLUS_COMPILE_FLAGS=
609 !endif 759 !endif
610 760
611 ########################### Determine generic includes/defines/flags. 761 ########################### Determine generic includes/defines/flags.
612 762
613 INCLUDES=-I$(NT)\inc -I$(SRC) $(MSW_INCLUDES) 763 INCLUDES=-I$(NT)\inc -I$(SRC) $(OPT_INCLUDES)
614 764
615 DEFINES=$(MSW_DEFINES) $(MULE_DEFINES) $(UNION_DEFINES) \ 765 DEFINES=$(OPT_DEFINES) \
616 $(DUMPER_DEFINES) $(KKCC_DEFINES) $(MC_ALLOC_DEFINES) \ 766 -DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs \
617 $(MALLOC_DEFINES) $(QUICK_DEFINES) $(ERROR_CHECK_DEFINES) \
618 $(DEBUG_DEFINES) -DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs \
619 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES) 767 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
620 768
621 CFLAGS_NO_OPT=-nologo -W3 -DSTRICT $(DEBUG_FLAGS_COMPILE) 769 CFLAGS_NO_OPT=-nologo -W3 -DSTRICT $(DEBUG_FLAGS_COMPILE)
622 770
623 CFLAGS_NO_LIB=$(CFLAGS_NO_OPT) $(OPTFLAGS) 771 CFLAGS_NO_LIB=$(CFLAGS_NO_OPT) $(OPTFLAGS)
651 TEMACS_CPP_FLAGS=$(CFLAGS) $(TEMACS_CPP_FLAGS_NO_CFLAGS) 799 TEMACS_CPP_FLAGS=$(CFLAGS) $(TEMACS_CPP_FLAGS_NO_CFLAGS)
652 TEMACS_CPP_CDECL_FLAGS=$(CFLAGS_CDECL) $(TEMACS_CPP_FLAGS_NO_CFLAGS) 800 TEMACS_CPP_CDECL_FLAGS=$(CFLAGS_CDECL) $(TEMACS_CPP_FLAGS_NO_CFLAGS)
653 801
654 ########################### Determine XEmacs object files. 802 ########################### Determine XEmacs object files.
655 803
656 TEMACS_OBJS= \ 804 TEMACS_COMMON_OBJS= \
657 $(TEMACS_MSW_OBJS)\ 805 $(OPT_OBJS)\
658 $(TEMACS_MULE_OBJS)\
659 $(TEMACS_DEBUG_OBJS)\
660 $(TEMACS_ALLOC_OBJS)\
661 $(TEMACS_DUMP_OBJS)\
662 $(TEMACS_MC_ALLOC_OBJS)\
663 $(OUTDIR)\abbrev.obj \ 806 $(OUTDIR)\abbrev.obj \
664 $(OUTDIR)\alloc.obj \ 807 $(OUTDIR)\alloc.obj \
665 $(OUTDIR)\alloca.obj \ 808 $(OUTDIR)\alloca.obj \
666 $(OUTDIR)\blocktype.obj \ 809 $(OUTDIR)\blocktype.obj \
667 $(OUTDIR)\buffer.obj \ 810 $(OUTDIR)\buffer.obj \
751 $(OUTDIR)\unicode.obj \ 894 $(OUTDIR)\unicode.obj \
752 $(OUTDIR)\widget.obj \ 895 $(OUTDIR)\widget.obj \
753 $(OUTDIR)\window.obj \ 896 $(OUTDIR)\window.obj \
754 $(OUTDIR)\win32.obj 897 $(OUTDIR)\win32.obj
755 898
899 TEMACS_OBJS= \
900 $(TEMACS_COMMON_OBJS) \
901 $(TEMACS_MODULE_OBJS)
902
903 TEMACS_DOC_SOURCES= \
904 $(TEMACS_COMMON_OBJS) \
905 $(TEMACS_MODULE_SRCS)
906
756 ######################################################################### 907 #########################################################################
757 ## Implicit rules ## 908 ## Implicit rules ##
758 ######################################################################### 909 #########################################################################
759 910
760 # Rules 911 # Rules
820 $(OUTDIR)\emacs.obj: $(SRCROOT)\version.sh 971 $(OUTDIR)\emacs.obj: $(SRCROOT)\version.sh
821 972
822 $(OUTDIR)\libinterface.obj: $(SRC)\libinterface.c 973 $(OUTDIR)\libinterface.obj: $(SRC)\libinterface.c
823 $(CCV) $(TEMACS_CPP_CDECL_FLAGS) $(SRC)\$(@B).c -Fo$@ $(BROWSERFLAGS) 974 $(CCV) $(TEMACS_CPP_CDECL_FLAGS) $(SRC)\$(@B).c -Fo$@ $(BROWSERFLAGS)
824 975
976 $(OUTDIR)\postgresql.obj: $(SRCROOT)\modules\postgresql\postgresql.c
977 $(CCV) -I$(SRC) $(TEMACS_CPP_FLAGS) $(SRCROOT)\modules\postgresql\postgresql.c -Fo$@ $(BROWSERFLAGS)
978
979 $(OUTDIR)\eldap.obj: $(SRCROOT)\modules\ldap\eldap.c
980 $(CCV) -I$(SRC) $(TEMACS_CPP_FLAGS) $(SRCROOT)\modules\ldap\eldap.c -Fo$@ $(BROWSERFLAGS)
981
825 ###################### Generated source files 982 ###################### Generated source files
826 983
827 $(OUTDIR)\nul: 984 $(OUTDIR)\nul:
828 -@mkdir $(OUTDIR) 985 -@mkdir $(OUTDIR)
829 986
918 1075
919 $(BLDLIB_SRC)/movemail.exe : $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS) 1076 $(BLDLIB_SRC)/movemail.exe : $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
920 1077
921 # Minitar uses zlib so just use cdecl to simplify things 1078 # Minitar uses zlib so just use cdecl to simplify things
922 $(BLDLIB_SRC)/minitar.exe : $(NT)/minitar.c 1079 $(BLDLIB_SRC)/minitar.exe : $(NT)/minitar.c
923 $(CCV) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) $(CFLAGS_CDECL_NO_LIB) -MD $(LINK_DEPENDENCY_ARGS) "$(ZLIB_DIR)\zlib.lib" 1080 $(CCV) -I$(SRC) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) $(CFLAGS_CDECL_NO_LIB) -MD $(LINK_DEPENDENCY_ARGS) "$(ZLIB_DIR)\zlib.lib"
924 1081
925 LIB_SRC_TOOLS = \ 1082 LIB_SRC_TOOLS = \
926 $(BLDLIB_SRC)/etags.exe \ 1083 $(BLDLIB_SRC)/etags.exe \
927 $(BLDLIB_SRC)/hexl.exe \ 1084 $(BLDLIB_SRC)/hexl.exe \
928 $(BLDLIB_SRC)/i.exe \ 1085 $(BLDLIB_SRC)/i.exe \
1032 Compiling in support for dialogs. 1189 Compiling in support for dialogs.
1033 !endif 1190 !endif
1034 !if $(HAVE_WIDGETS) 1191 !if $(HAVE_WIDGETS)
1035 Compiling in support for widgets. 1192 Compiling in support for widgets.
1036 !endif 1193 !endif
1194 !if $(HAVE_BIGNUM)
1195 Compiling in support for arbitrary-precision numbers.
1196 !endif
1197 !if $(HAVE_DATABASE)
1198 !if $(BUILD_DATABASE_SHARED)
1199 Compiling in support for Berkeley Databases (DLL version).
1200 !else
1201 Compiling in support for Berkeley Databases (static-library version).
1202 !endif
1203 !endif
1204 !if $(HAVE_POSTGRESQL)
1205 Compiling in support for PostgreSQL.
1206 !endif
1207 !if $(HAVE_LDAP)
1208 Compiling in support for LDAP.
1209 !endif
1037 !if $(HAVE_NATIVE_SOUND) 1210 !if $(HAVE_NATIVE_SOUND)
1038 Compiling in support for native sounds. 1211 Compiling in support for native sounds.
1039 !endif 1212 !endif
1040 !if $(USE_UNION_TYPE) 1213 !if $(USE_UNION_TYPE)
1041 Using union type for Lisp object storage. 1214 Using union type for Lisp object storage.
1094 !else 1267 !else
1095 TEMACS_ENTRYPOINT=-entry:mainCRTStartup 1268 TEMACS_ENTRYPOINT=-entry:mainCRTStartup
1096 !endif 1269 !endif
1097 1270
1098 TEMACS_BROWSE=$(BLDSRC)\temacs.bsc 1271 TEMACS_BROWSE=$(BLDSRC)\temacs.bsc
1099 TEMACS_LIBS=$(LASTFILE) $(MSW_LIBS) \ 1272 TEMACS_LIBS=$(LASTFILE) $(OPT_LIBS) \
1100 oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \ 1273 oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \
1101 shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \ 1274 shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \
1102 mpr.lib uuid.lib imm32.lib $(LIBC_LIB) 1275 mpr.lib uuid.lib imm32.lib $(LIBC_LIB)
1103 TEMACS_COMMON_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS_LINK) \ 1276 TEMACS_COMMON_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS_LINK) \
1104 -base:0x1000000 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows \ 1277 -base:0x1000000 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows \
1160 !else 1333 !else
1161 TEMACS_DUMP_DEP = $(OUTDIR)\temacs.res 1334 TEMACS_DUMP_DEP = $(OUTDIR)\temacs.res
1162 !endif 1335 !endif
1163 1336
1164 $(RAW_EXE): $(TEMACS_OBJS) $(LASTFILE) $(TEMACS_DUMP_DEP) 1337 $(RAW_EXE): $(TEMACS_OBJS) $(LASTFILE) $(TEMACS_DUMP_DEP)
1338 @echo link $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_DUMP_DEP) $(TEMACS_LIBS)
1165 link.exe @<< 1339 link.exe @<<
1166 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_DUMP_DEP) $(TEMACS_LIBS) 1340 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_DUMP_DEP) $(TEMACS_LIBS)
1167 << 1341 <<
1168 1342
1169 !if $(DEBUG_XEMACS) 1343 !if $(DEBUG_XEMACS)
1186 docfile :: 1360 docfile ::
1187 if exist $(DOC) $(DEL) $(DOC) 1361 if exist $(DOC) $(DEL) $(DOC)
1188 docfile :: $(DOC) 1362 docfile :: $(DOC)
1189 1363
1190 # We need to write the QUICK_BUILD stuff as-is (and not just have no 1364 # We need to write the QUICK_BUILD stuff as-is (and not just have no
1191 # dependencies for DOC) because DOC needs TEMACS_OBJS as dependencies to 1365 # dependencies for DOC) because DOC needs TEMACS_DOC_SOURCES as dependencies to
1192 # get $(**) right. The `touch' is needed because of the way nmake 1366 # get $(**) right. The `touch' is needed because of the way nmake
1193 # calculates dependencies; see comments in src/Makefile.in.in. 1367 # calculates dependencies; see comments in src/Makefile.in.in.
1194 $(DOC): $(BLDLIB_SRC)\make-docfile.exe $(BLDSRC)\NEEDTODUMP $(TEMACS_OBJS) 1368 $(DOC): $(BLDLIB_SRC)\make-docfile.exe $(BLDSRC)\NEEDTODUMP $(TEMACS_DOC_SOURCES)
1195 !if $(QUICK_BUILD) 1369 !if $(QUICK_BUILD)
1196 if not exist $(DOC) $(TEMACS_BATCH) -l $(LISP)\make-docfile.el -- -o $(DOC) -i $(SRCROOT)\site-packages @<< 1370 if not exist $(DOC) $(TEMACS_BATCH) -l $(LISP)\make-docfile.el -- -o $(DOC) -i $(SRCROOT)\site-packages @<<
1197 $(**) 1371 $(**)
1198 << 1372 <<
1199 -touch $(DOC) 1373 -touch $(DOC)
1419 $(MAKEINFO) new-users-guide.texi 1593 $(MAKEINFO) new-users-guide.texi
1420 1594
1421 info: makeinfo-test $(INFO_FILES) 1595 info: makeinfo-test $(INFO_FILES)
1422 1596
1423 ######################################################################### 1597 #########################################################################
1424 ## Testing-related targets ## 1598 ## Testing, TAGS, install, clean, etc. ##
1425 ######################################################################### 1599 #########################################################################
1426 1600
1427 ########################### Automated tests 1601 ########################### Automated tests
1428 1602
1429 testdir = ../tests/automated 1603 testdir = ../tests/automated
1500 mostlyclean: 1674 mostlyclean:
1501 -$(DEL) $(BLDROOT)\Installation 1675 -$(DEL) $(BLDROOT)\Installation
1502 -$(DEL) $(OUTDIR)\*.lib 1676 -$(DEL) $(OUTDIR)\*.lib
1503 -$(DEL) $(OUTDIR)\*.obj 1677 -$(DEL) $(OUTDIR)\*.obj
1504 -$(DEL) $(OUTDIR)\*.pdb 1678 -$(DEL) $(OUTDIR)\*.pdb
1679 -$(DEL) $(OUTDIR)\*.idb
1680 -$(DEL) $(OUTDIR)\*.ilk
1505 -$(DEL) $(OUTDIR)\*.res 1681 -$(DEL) $(OUTDIR)\*.res
1506 -$(DEL) $(OUTDIR)\*.sbr 1682 -$(DEL) $(OUTDIR)\*.sbr
1507 -$(DEL) $(BLDSRC)\*.exe 1683 -$(DEL) $(BLDSRC)\*.exe
1508 -$(DEL) $(BLDSRC)\*.dmp 1684 -$(DEL) $(BLDSRC)\*.dmp
1509 -$(DEL) $(BLDSRC)\*.map 1685 -$(DEL) $(BLDSRC)\*.map
1510 -$(DEL) $(BLDSRC)\*.pdb 1686 -$(DEL) $(BLDSRC)\*.pdb
1687 -$(DEL) $(BLDSRC)\*.idb
1688 -$(DEL) $(BLDSRC)\*.ilk
1511 -$(DEL) $(BLDSRC)\NEEDTODUMP 1689 -$(DEL) $(BLDSRC)\NEEDTODUMP
1512 -$(DEL) $(BLDSRC)\dump-id.c 1690 -$(DEL) $(BLDSRC)\dump-id.c
1513 -$(DEL) $(SRC)\*.bsc 1691 -$(DEL) $(SRC)\*.bsc
1514 -$(DEL) $(BLDLIB_SRC)\*.exe 1692 -$(DEL) $(BLDLIB_SRC)\*.exe
1515 -$(DEL) $(BLDLIB_SRC)\*.obj 1693 -$(DEL) $(BLDLIB_SRC)\*.obj
1516 -$(DEL) $(BLDLIB_SRC)\*.pdb 1694 -$(DEL) $(BLDLIB_SRC)\*.pdb
1695 -$(DEL) $(BLDLIB_SRC)\*.idb
1696 -$(DEL) $(BLDLIB_SRC)\*.ilk
1517 -$(DEL) $(BLDLIB_SRC)\*.res 1697 -$(DEL) $(BLDLIB_SRC)\*.res
1518 1698
1519 versionclean: 1699 versionclean:
1520 -$(DEL) $(BLDSRC)\xemacs.exe 1700 -$(DEL) $(BLDSRC)\xemacs.exe
1521 -$(DEL) $(BLDLIB_SRC)\DOC 1701 -$(DEL) $(BLDLIB_SRC)\DOC