comparison nt/xemacs.mak @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents 74fd4e045ea6
children b8cc9ab3f761
comparison
equal deleted inserted replaced
403:9f011ab08d48 404:2f8bb876ab1d
24 # Synched up with: Not in FSF. 24 # Synched up with: Not in FSF.
25 # 25 #
26 26
27 XEMACS=.. 27 XEMACS=..
28 LISP=$(XEMACS)\lisp 28 LISP=$(XEMACS)\lisp
29 LIB_SRC=$(XEMACS)\lib-src
29 MODULES=$(XEMACS)\modules 30 MODULES=$(XEMACS)\modules
30 NT=$(XEMACS)\nt 31 NT=$(XEMACS)\nt
31 OUTDIR=$(NT)\obj 32 OUTDIR=$(NT)\obj
33 SRC=$(XEMACS)\src
34 MAKEDIRSTRING=$(MAKEDIR:\=\\)
35 XEMACSDIRSTRING=$(MAKEDIRSTRING:\\nt=)
36
32 37
33 # Define a variable for the 'del' command to use 38 # Define a variable for the 'del' command to use
34 DEL=-del 39 DEL=-del
35 40
36 # Program name and version 41 # Program name and version
37 42
38 !include "..\version.sh" 43 !include "..\version.sh"
44
45 !include "config.inc"
39 46
40 !if !defined(INFODOCK) 47 !if !defined(INFODOCK)
41 INFODOCK=0 48 INFODOCK=0
42 !endif 49 !endif
43 50
313 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS 320 MSW_DEFINES=-DHAVE_MS_WINDOWS -DHAVE_SCROLLBARS -DHAVE_MENUBARS
314 MSW_INCLUDES= 321 MSW_INCLUDES=
315 MSW_LIBS= 322 MSW_LIBS=
316 !if $(HAVE_MSW_C_DIRED) 323 !if $(HAVE_MSW_C_DIRED)
317 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED 324 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED
318 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c 325 MSW_C_DIRED_SRC=$(SRC)\dired-msw.c
319 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj 326 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
320 !endif 327 !endif
321 !if $(HAVE_XPM) 328 !if $(HAVE_XPM)
322 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW 329 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
323 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib" 330 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
324 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib" 331 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
325 !endif 332 !endif
326 !if $(HAVE_GIF) 333 !if $(HAVE_GIF)
327 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF 334 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
328 MSW_GIF_SRC=$(XEMACS)\src\dgif_lib.c $(XEMACS)\src\gif_io.c 335 MSW_GIF_SRC=$(SRC)\dgif_lib.c $(SRC)\gif_io.c
329 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj 336 MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
330 !endif 337 !endif
331 !if $(HAVE_PNG) 338 !if $(HAVE_PNG)
332 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG 339 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
333 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)" 340 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
348 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)" 355 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)"
349 MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib" 356 MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
350 !endif 357 !endif
351 !if $(HAVE_TOOLBARS) 358 !if $(HAVE_TOOLBARS)
352 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS 359 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
353 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c 360 MSW_TOOLBAR_SRC=$(SRC)\toolbar.c $(SRC)\toolbar-msw.c
354 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj 361 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
355 MSW_LIBS=$(MSW_LIBS) comctl32.lib 362 MSW_LIBS=$(MSW_LIBS) comctl32.lib
356 !endif 363 !endif
357 !if $(HAVE_DIALOGS) 364 !if $(HAVE_DIALOGS)
358 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS 365 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
359 MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c 366 MSW_DIALOG_SRC=$(SRC)\dialog.c $(SRC)\dialog-msw.c
360 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj 367 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
361 !endif 368 !endif
362 !if $(HAVE_WIDGETS) 369 !if $(HAVE_WIDGETS)
363 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS 370 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS
364 !endif 371 !endif
406 413
407 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\" 414 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
408 415
409 # Generic variables 416 # Generic variables
410 417
411 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib 418 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(NT)\inc -I$(SRC) -I$(XEMACS)\lwlib
412 419
413 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ 420 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
414 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \ 421 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
415 $(DUMPER_DEFINES) $(MALLOC_DEFINES) \ 422 $(DUMPER_DEFINES) $(MALLOC_DEFINES) \
416 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ 423 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
422 429
423 $(OUTDIR)\nul: 430 $(OUTDIR)\nul:
424 -@mkdir $(OUTDIR) 431 -@mkdir $(OUTDIR)
425 432
426 XEMACS_INCLUDES=\ 433 XEMACS_INCLUDES=\
427 $(XEMACS)\src\config.h \ 434 $(SRC)\config.h \
428 $(XEMACS)\src\Emacs.ad.h \ 435 $(SRC)\Emacs.ad.h \
429 $(XEMACS)\src\paths.h 436 $(SRC)\paths.h
430 437
431 $(XEMACS)\src\config.h: config.h 438 $(SRC)\config.h: config.h
432 copy config.h $(XEMACS)\src 439 copy config.h $(SRC)
433 440
434 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h 441 $(SRC)\Emacs.ad.h: Emacs.ad.h
435 copy Emacs.ad.h $(XEMACS)\src 442 copy Emacs.ad.h $(SRC)
436 443
437 $(XEMACS)\src\paths.h: paths.h 444 $(SRC)\paths.h: paths.h
438 copy paths.h $(XEMACS)\src 445 copy paths.h $(SRC)
439 446
440 #------------------------------------------------------------------------------ 447 #------------------------------------------------------------------------------
441 448
442 # lib-src programs 449 # lib-src programs
443 450
444 LIB_SRC = $(XEMACS)\lib-src
445 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT 451 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
446 452
447 # 453 #
448 # Creating config.values to be used by config.el 454 # Creating config.values to be used by config.el
449 # 455 #
469 !endif 475 !endif
470 476
471 # Inferred rule 477 # Inferred rule
472 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe : 478 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
473 cd $(LIB_SRC) 479 cd $(LIB_SRC)
474 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** -link -incremental:no 480 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** -link -incremental:no setargv.obj
475 cd $(NT) 481 cd $(NT)
476 482
477 # Individual dependencies 483 # Individual dependencies
478 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c 484 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c
479 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS) 485 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
495 !if $(USE_MINITAR) 501 !if $(USE_MINITAR)
496 LIB_SRC_TOOLS = \ 502 LIB_SRC_TOOLS = \
497 $(LIB_SRC_TOOLS) \ 503 $(LIB_SRC_TOOLS) \
498 $(LIB_SRC)/minitar.exe 504 $(LIB_SRC)/minitar.exe
499 !endif 505 !endif
506 !if $(USE_PORTABLE_DUMPER)
507 LIB_SRC_TOOLS = \
508 $(XEMACS_INCLUDES) \
509 $(LIB_SRC_TOOLS)
510 !endif
500 511
501 # Shorthand target 512 # Shorthand target
502 minitar: $(LIB_SRC)/minitar.exe 513 minitar: $(LIB_SRC)/minitar.exe
503 514
504 #------------------------------------------------------------------------------ 515 #------------------------------------------------------------------------------
505 516
506 # runxemacs proglet 517 # runxemacs proglet
507 518
508 RUNEMACS = $(XEMACS)\src\runxemacs.exe 519 RUNEMACS = $(SRC)\runxemacs.exe
509 520
510 $(RUNEMACS): $(LIB_SRC)\run.c $(LIB_SRC)\run.res 521 $(RUNEMACS): $(LIB_SRC)\run.c $(LIB_SRC)\run.res
511 $(CCV) -I$(LIB_SRC) $(CFLAGS) -Fe$@ -Fo$(LIB_SRC) -Fd$(LIB_SRC)\ $** kernel32.lib user32.lib -link -incremental:no 522 $(CCV) -I$(LIB_SRC) $(CFLAGS) -Fe$@ -Fo$(LIB_SRC) -Fd$(LIB_SRC)\ $** kernel32.lib user32.lib -link -incremental:no
512 523
513 $(LIB_SRC)\run.res: $(LIB_SRC)\run.rc 524 $(LIB_SRC)\run.res: $(LIB_SRC)\run.rc
518 # LASTFILE Library 529 # LASTFILE Library
519 530
520 !if !$(USE_SYSTEM_MALLOC) || !$(USE_PORTABLE_DUMPER) 531 !if !$(USE_SYSTEM_MALLOC) || !$(USE_PORTABLE_DUMPER)
521 532
522 LASTFILE=$(OUTDIR)\lastfile.lib 533 LASTFILE=$(OUTDIR)\lastfile.lib
523 LASTFILE_SRC=$(XEMACS)\src 534 LASTFILE_SRC=$(SRC)
524 LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -Fd$* -c 535 LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -Fd$* -c
525 LASTFILE_OBJS= \ 536 LASTFILE_OBJS= \
526 $(OUTDIR)\lastfile.obj 537 $(OUTDIR)\lastfile.obj
527 538
528 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS) 539 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
581 !endif 592 !endif
582 #------------------------------------------------------------------------------ 593 #------------------------------------------------------------------------------
583 594
584 DOC=$(LIB_SRC)\DOC 595 DOC=$(LIB_SRC)\DOC
585 DOC_SRC1=\ 596 DOC_SRC1=\
586 $(XEMACS)\src\abbrev.c \ 597 $(SRC)\abbrev.c \
587 $(XEMACS)\src\alloc.c \ 598 $(SRC)\alloc.c \
588 $(XEMACS)\src\alloca.c \ 599 $(SRC)\alloca.c \
589 $(XEMACS)\src\blocktype.c \ 600 $(SRC)\blocktype.c \
590 $(XEMACS)\src\buffer.c \ 601 $(SRC)\buffer.c \
591 $(XEMACS)\src\bytecode.c \ 602 $(SRC)\bytecode.c \
592 $(XEMACS)\src\callint.c \ 603 $(SRC)\callint.c \
593 $(XEMACS)\src\callproc.c \ 604 $(SRC)\callproc.c \
594 $(XEMACS)\src\casefiddle.c \ 605 $(SRC)\casefiddle.c \
595 $(XEMACS)\src\casetab.c \ 606 $(SRC)\casetab.c \
596 $(XEMACS)\src\chartab.c \ 607 $(SRC)\chartab.c \
597 $(XEMACS)\src\cmdloop.c \ 608 $(SRC)\cmdloop.c \
598 $(XEMACS)\src\cmds.c \ 609 $(SRC)\cmds.c \
599 $(XEMACS)\src\console-stream.c \ 610 $(SRC)\console-stream.c \
600 $(XEMACS)\src\console.c \ 611 $(SRC)\console.c \
601 $(XEMACS)\src\data.c \ 612 $(SRC)\data.c \
602 $(XEMACS)\src\device.c 613 $(SRC)\device.c
603 DOC_SRC2=\ 614 DOC_SRC2=\
604 $(XEMACS)\src\dired.c \ 615 $(SRC)\dired.c \
605 $(XEMACS)\src\doc.c \ 616 $(SRC)\doc.c \
606 $(XEMACS)\src\doprnt.c \ 617 $(SRC)\doprnt.c \
607 $(XEMACS)\src\dragdrop.c \ 618 $(SRC)\dragdrop.c \
608 $(XEMACS)\src\dynarr.c \ 619 $(SRC)\dynarr.c \
609 $(XEMACS)\src\editfns.c \ 620 $(SRC)\editfns.c \
610 $(XEMACS)\src\elhash.c \ 621 $(SRC)\elhash.c \
611 $(XEMACS)\src\emacs.c \ 622 $(SRC)\emacs.c \
612 $(XEMACS)\src\eval.c \ 623 $(SRC)\eval.c \
613 $(XEMACS)\src\event-stream.c \ 624 $(SRC)\event-stream.c \
614 $(XEMACS)\src\events.c \ 625 $(SRC)\events.c \
615 $(XEMACS)\src\extents.c \ 626 $(SRC)\extents.c \
616 $(XEMACS)\src\faces.c \ 627 $(SRC)\faces.c \
617 $(XEMACS)\src\file-coding.c \ 628 $(SRC)\file-coding.c \
618 $(XEMACS)\src\fileio.c \ 629 $(SRC)\fileio.c \
619 $(XEMACS)\src\filemode.c \ 630 $(SRC)\filemode.c \
620 $(XEMACS)\src\floatfns.c \ 631 $(SRC)\floatfns.c \
621 $(XEMACS)\src\fns.c 632 $(SRC)\fns.c
622 DOC_SRC3=\ 633 DOC_SRC3=\
623 $(XEMACS)\src\font-lock.c \ 634 $(SRC)\font-lock.c \
624 $(XEMACS)\src\frame.c \ 635 $(SRC)\frame.c \
625 $(XEMACS)\src\general.c \ 636 $(SRC)\general.c \
626 $(XEMACS)\src\glyphs.c \ 637 $(SRC)\glyphs.c \
627 $(XEMACS)\src\glyphs-eimage.c \ 638 $(SRC)\glyphs-eimage.c \
628 $(XEMACS)\src\glyphs-widget.c \ 639 $(SRC)\glyphs-widget.c \
629 $(XEMACS)\src\gui.c \ 640 $(SRC)\gui.c \
630 $(XEMACS)\src\gutter.c \ 641 $(SRC)\gutter.c \
631 $(XEMACS)\src\hash.c \ 642 $(SRC)\hash.c \
632 $(XEMACS)\src\imgproc.c \ 643 $(SRC)\imgproc.c \
633 $(XEMACS)\src\indent.c \ 644 $(SRC)\indent.c \
634 $(XEMACS)\src\insdel.c \ 645 $(SRC)\insdel.c \
635 $(XEMACS)\src\intl.c \ 646 $(SRC)\intl.c \
636 $(XEMACS)\src\keymap.c \ 647 $(SRC)\keymap.c \
637 $(XEMACS)\src\line-number.c \ 648 $(SRC)\line-number.c \
638 $(XEMACS)\src\lread.c \ 649 $(SRC)\lread.c \
639 $(XEMACS)\src\lstream.c \ 650 $(SRC)\lstream.c \
640 $(XEMACS)\src\macros.c \ 651 $(SRC)\macros.c \
641 $(XEMACS)\src\marker.c 652 $(SRC)\marker.c
642 DOC_SRC4=\ 653 DOC_SRC4=\
643 $(XEMACS)\src\md5.c \ 654 $(SRC)\md5.c \
644 $(XEMACS)\src\menubar.c \ 655 $(SRC)\menubar.c \
645 $(XEMACS)\src\minibuf.c \ 656 $(SRC)\minibuf.c \
646 $(XEMACS)\src\nt.c \ 657 $(SRC)\nt.c \
647 $(XEMACS)\src\ntplay.c \ 658 $(SRC)\ntplay.c \
648 $(XEMACS)\src\ntproc.c \ 659 $(SRC)\ntproc.c \
649 $(XEMACS)\src\objects.c \ 660 $(SRC)\objects.c \
650 $(XEMACS)\src\opaque.c \ 661 $(SRC)\opaque.c \
651 $(XEMACS)\src\print.c \ 662 $(SRC)\print.c \
652 $(XEMACS)\src\process.c \ 663 $(SRC)\process.c \
653 $(XEMACS)\src\process-nt.c \ 664 $(SRC)\process-nt.c \
654 $(XEMACS)\src\profile.c \ 665 $(SRC)\profile.c \
655 $(XEMACS)\src\rangetab.c \ 666 $(SRC)\rangetab.c \
656 $(XEMACS)\src\realpath.c \ 667 $(SRC)\realpath.c \
657 $(XEMACS)\src\redisplay-output.c \ 668 $(SRC)\redisplay-output.c \
658 $(XEMACS)\src\redisplay.c \ 669 $(SRC)\redisplay.c \
659 $(XEMACS)\src\regex.c \ 670 $(SRC)\regex.c \
660 $(XEMACS)\src\scrollbar.c \ 671 $(SRC)\scrollbar.c \
661 $(XEMACS)\src\search.c \ 672 $(SRC)\search.c \
662 $(XEMACS)\src\select.c \ 673 $(SRC)\select.c \
663 $(XEMACS)\src\signal.c \ 674 $(SRC)\signal.c \
664 $(XEMACS)\src\sound.c 675 $(SRC)\sound.c
665 DOC_SRC5=\ 676 DOC_SRC5=\
666 $(XEMACS)\src\specifier.c \ 677 $(SRC)\specifier.c \
667 $(XEMACS)\src\strftime.c \ 678 $(SRC)\strftime.c \
668 $(XEMACS)\src\symbols.c \ 679 $(SRC)\symbols.c \
669 $(XEMACS)\src\syntax.c \ 680 $(SRC)\syntax.c \
670 $(XEMACS)\src\sysdep.c \ 681 $(SRC)\sysdep.c \
671 $(XEMACS)\src\termcap.c \ 682 $(SRC)\termcap.c \
672 $(XEMACS)\src\tparam.c \ 683 $(SRC)\tparam.c \
673 $(XEMACS)\src\undo.c \ 684 $(SRC)\undo.c \
674 $(XEMACS)\src\window.c \ 685 $(SRC)\window.c \
675 $(XEMACS)\src\widget.c 686 $(SRC)\widget.c
676 687
677 !if $(HAVE_X) 688 !if $(HAVE_X)
678 DOC_SRC6=\ 689 DOC_SRC6=\
679 $(XEMACS)\src\balloon_help.c \ 690 $(SRC)\balloon_help.c \
680 $(XEMACS)\src\console-x.c \ 691 $(SRC)\console-x.c \
681 $(XEMACS)\src\device-x.c \ 692 $(SRC)\device-x.c \
682 $(XEMACS)\src\dialog-x.c \ 693 $(SRC)\dialog-x.c \
683 $(XEMACS)\src\EmacsFrame.c \ 694 $(SRC)\EmacsFrame.c \
684 $(XEMACS)\src\EmacsManager.c \ 695 $(SRC)\EmacsManager.c \
685 $(XEMACS)\src\EmacsShell-sub.c\ 696 $(SRC)\EmacsShell-sub.c\
686 $(XEMACS)\src\EmacsShell.c \ 697 $(SRC)\EmacsShell.c \
687 $(XEMACS)\src\event-Xt.c \ 698 $(SRC)\event-Xt.c \
688 $(XEMACS)\src\frame-x.c \ 699 $(SRC)\frame-x.c \
689 $(XEMACS)\src\glyphs-x.c \ 700 $(SRC)\glyphs-x.c \
690 $(XEMACS)\src\gui-x.c \ 701 $(SRC)\gui-x.c \
691 $(XEMACS)\src\menubar.c \ 702 $(SRC)\menubar.c \
692 $(XEMACS)\src\menubar-x.c \ 703 $(SRC)\menubar-x.c \
693 $(XEMACS)\src\objects-x.c \ 704 $(SRC)\objects-x.c \
694 $(XEMACS)\src\redisplay-x.c \ 705 $(SRC)\redisplay-x.c \
695 $(XEMACS)\src\scrollbar-x.c \ 706 $(SRC)\scrollbar-x.c \
696 $(XEMACS)\src\balloon-x.c \ 707 $(SRC)\balloon-x.c \
697 $(XEMACS)\src\xgccache.c \ 708 $(SRC)\xgccache.c \
698 $(XEMACS)\src\xmu.c \ 709 $(SRC)\xmu.c \
699 $(XEMACS)\src\select-x.c 710 $(SRC)\select-x.c
700 !endif 711 !endif
701 712
702 !if $(HAVE_MSW) 713 !if $(HAVE_MSW)
703 DOC_SRC7=\ 714 DOC_SRC7=\
704 $(XEMACS)\src\console-msw.c \ 715 $(SRC)\console-msw.c \
705 $(XEMACS)\src\device-msw.c \ 716 $(SRC)\device-msw.c \
706 $(XEMACS)\src\event-msw.c \ 717 $(SRC)\event-msw.c \
707 $(XEMACS)\src\frame-msw.c \ 718 $(SRC)\frame-msw.c \
708 $(XEMACS)\src\glyphs-msw.c \ 719 $(SRC)\glyphs-msw.c \
709 $(XEMACS)\src\gui-msw.c \ 720 $(SRC)\gui-msw.c \
710 $(XEMACS)\src\menubar-msw.c \ 721 $(SRC)\menubar-msw.c \
711 $(XEMACS)\src\objects-msw.c \ 722 $(SRC)\objects-msw.c \
712 $(XEMACS)\src\redisplay-msw.c \ 723 $(SRC)\redisplay-msw.c \
713 $(XEMACS)\src\scrollbar-msw.c \ 724 $(SRC)\scrollbar-msw.c \
714 $(XEMACS)\src\select-msw.c \ 725 $(SRC)\select-msw.c \
715 $(MSW_C_DIRED_SRC) \ 726 $(MSW_C_DIRED_SRC) \
716 $(MSW_TOOLBAR_SRC) \ 727 $(MSW_TOOLBAR_SRC) \
717 $(MSW_DIALOG_SRC) \ 728 $(MSW_DIALOG_SRC) \
718 $(MSW_GIF_SRC) 729 $(MSW_GIF_SRC)
719 !endif 730 !endif
720 731
721 !if $(HAVE_MULE) 732 !if $(HAVE_MULE)
722 DOC_SRC8=\ 733 DOC_SRC8=\
723 $(XEMACS)\src\mule.c \ 734 $(SRC)\mule.c \
724 $(XEMACS)\src\mule-charset.c \ 735 $(SRC)\mule-charset.c \
725 $(XEMACS)\src\mule-ccl.c 736 $(SRC)\mule-ccl.c
726 ! if $(HAVE_X) 737 ! if $(HAVE_X)
727 DOC_SRC8=$(DOC_SRC8) $(XEMACS)\src\input-method-xlib.c 738 DOC_SRC8=$(DOC_SRC8) $(SRC)\input-method-xlib.c
728 ! endif 739 ! endif
729 !endif 740 !endif
730 741
731 !if $(DEBUG_XEMACS) 742 !if $(DEBUG_XEMACS)
732 DOC_SRC9=\ 743 DOC_SRC9=\
733 $(XEMACS)\src\debug.c \ 744 $(SRC)\debug.c \
734 $(XEMACS)\src\tests.c 745 $(SRC)\tests.c
735 !endif 746 !endif
736 747
737 !if !$(USE_SYSTEM_MALLOC) 748 !if !$(USE_SYSTEM_MALLOC)
738 DOC_SRC10=\ 749 DOC_SRC10=\
739 $(XEMACS)\src\free-hook.c \ 750 $(SRC)\free-hook.c \
740 $(XEMACS)\src\gmalloc.c \ 751 $(SRC)\gmalloc.c \
741 $(XEMACS)\src\ntheap.c \ 752 $(SRC)\ntheap.c \
742 $(XEMACS)\src\vm-limit.c 753 $(SRC)\vm-limit.c
743 !endif 754 !endif
744 755
745 !if !$(USE_PORTABLE_DUMPER) 756 !if !$(USE_PORTABLE_DUMPER)
746 DOC_SRC11=\ 757 DOC_SRC11=\
747 $(XEMACS)\src\unexnt.c 758 $(SRC)\unexnt.c
748 !endif 759 !endif
749 760
750 #------------------------------------------------------------------------------ 761 #------------------------------------------------------------------------------
751 762
752 # TEMACS Executable 763 # TEMACS Executable
755 !if "$(emacs_beta_version)" != "" 766 !if "$(emacs_beta_version)" != ""
756 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version) 767 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
757 !ENDIF 768 !ENDIF
758 769
759 !if !$(USE_PORTABLE_DUMPER) 770 !if !$(USE_PORTABLE_DUMPER)
760 TEMACS_ENTRYPOINT=-entry:_start 771 TEMACS_ENTRYPOINT=-entry:_start
761 !endif 772 !else
762 773 TEMACS_ENTRYPOINT=-entry:mainCRTStartup
763 TEMACS_DIR=$(XEMACS)\src 774 !endif
775
776 TEMACS_DIR=$(SRC)
764 TEMACS=$(TEMACS_DIR)\temacs.exe 777 TEMACS=$(TEMACS_DIR)\temacs.exe
765 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc 778 TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc
766 TEMACS_SRC=$(XEMACS)\src 779 TEMACS_SRC=$(SRC)
767 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \ 780 TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \
768 oldnames.lib kernel32.lib user32.lib gdi32.lib advapi32.lib \ 781 oldnames.lib kernel32.lib user32.lib gdi32.lib advapi32.lib \
769 shell32.lib wsock32.lib winmm.lib winspool.lib $(LIBC_LIB) 782 shell32.lib wsock32.lib winmm.lib winspool.lib ole32.lib uuid.lib $(LIBC_LIB)
770 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\ 783 TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\
771 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:console\ 784 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows\
772 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \ 785 -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \
773 -heap:0x00100000 -out:$@ -nodefaultlib 786 -heap:0x00100000 -nodefaultlib -incremental:no
774 TEMACS_CPP_FLAGS=-c \ 787 TEMACS_CPP_FLAGS=-c \
775 $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \ 788 $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \
776 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \ 789 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \
777 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \ 790 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \
778 $(EMACS_BETA_VERSION) \ 791 $(EMACS_BETA_VERSION) \
944 $(OUTDIR)\syntax.obj \ 957 $(OUTDIR)\syntax.obj \
945 $(OUTDIR)\sysdep.obj \ 958 $(OUTDIR)\sysdep.obj \
946 $(OUTDIR)\tparam.obj \ 959 $(OUTDIR)\tparam.obj \
947 $(OUTDIR)\undo.obj \ 960 $(OUTDIR)\undo.obj \
948 $(OUTDIR)\widget.obj \ 961 $(OUTDIR)\widget.obj \
949 $(OUTDIR)\window.obj \ 962 $(OUTDIR)\window.obj
950 $(OUTDIR)\xemacs.res
951 963
952 # Rules 964 # Rules
953 965
954 .SUFFIXES: 966 .SUFFIXES:
955 .SUFFIXES: .c .obj .texi .info 967 .SUFFIXES: .c .obj .texi .info
975 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h" 987 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
976 988
977 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in 989 #$(TEMACS_SRC)\paths.h: $(TEMACS_SRC)\paths.h.in
978 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h" 990 # !"cd $(TEMACS_SRC); cp paths.h.in paths.h"
979 991
980 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) 992 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) $(OUTDIR)\xemacs.res
981 !if $(DEBUG_XEMACS) 993 !if $(DEBUG_XEMACS)
982 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp 994 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
983 bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp 995 bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp
984 @$(DEL) bscmake.tmp 996 @$(DEL) bscmake.tmp
985 !endif 997 !endif
986 !if $(USE_PORTABLE_DUMPER) 998 !if $(USE_PORTABLE_DUMPER)
987 @if exist $(TEMACS_DIR)\xemacs.dmp del $(TEMACS_DIR)\xemacs.dmp 999 @if exist $(TEMACS_DIR)\xemacs.dmp del $(TEMACS_DIR)\xemacs.dmp
988 !endif
989 link.exe @<< 1000 link.exe @<<
990 $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS) 1001 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_LIBS)
991 << 1002 <<
1003 !else
1004 link.exe @<<
1005 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS)
1006 <<
1007 !endif
992 1008
993 $(OUTDIR)\xemacs.res: xemacs.rc 1009 $(OUTDIR)\xemacs.res: xemacs.rc
994 rc -Fo$@ xemacs.rc 1010 rc -Fo$@ xemacs.rc
995 1011
996 # Section handling automated tests starts here 1012 # Section handling automated tests starts here
997 1013
998 SRCDIR=$(MAKEDIR)\..\src 1014 PROGNAME=$(SRC)\xemacs.exe
999 PROGNAME=$(SRCDIR)\xemacs.exe
1000 blddir=$(MAKEDIR:\=\\)\\.. 1015 blddir=$(MAKEDIR:\=\\)\\..
1001 temacs_loadup=$(TEMACS) -batch -l $(SRCDIR)/../lisp/loadup.el 1016 temacs_loadup=$(TEMACS) -batch -l $(LISP)/loadup.el
1002 dump_temacs = $(temacs_loadup) dump 1017 dump_temacs = $(temacs_loadup) dump
1003 run_temacs = $(temacs_loadup) run-temacs 1018 run_temacs = $(temacs_loadup) run-temacs
1004 ## We have automated tests!! 1019 ## We have automated tests!!
1005 testdir=../tests/automated 1020 testdir=../tests/automated
1006 batch_test_emacs=-batch -l $(testdir)/test-harness.el -f batch-test-emacs $(testdir) 1021 batch_test_emacs=-batch -l $(testdir)/test-harness.el -f batch-test-emacs $(testdir)
1007 1022
1008 # .PHONY: check check-temacs 1023 # .PHONY: check check-temacs
1009 1024
1010 check: 1025 check:
1011 cd $(SRCDIR) 1026 cd $(SRC)
1012 $(PROGNAME) $(batch_test_emacs) 1027 $(PROGNAME) $(batch_test_emacs)
1013 1028
1014 check-temacs: 1029 check-temacs:
1015 cd $(SRCDIR) 1030 cd $(SRC)
1016 set EMACSBOOTSTRAPLOADPATH=$(LISP) 1031 set EMACSBOOTSTRAPLOADPATH=$(LISP)
1017 set EMACSBOOTSTRAPMODULEPATH=$(MODULES) 1032 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
1018 $(run_temacs) $(batch_test_emacs) 1033 $(run_temacs) $(batch_test_emacs)
1019 1034
1020 # Section handling automated tests ends here 1035 # Section handling automated tests ends here
1036
1037 # Section handling tags starts here
1038
1039 tagslisp=lisp
1040
1041 tags:
1042 @echo If you don't have a copy of etags around, then do 'make lib-src' first.
1043 @echo To make use of the tags file, put the following in your .emacs:
1044 @echo (setq tag-table-alist
1045 @echo '(("$(XEMACSDIRSTRING)\\" . "$(XEMACSDIRSTRING)\\")))
1046 cd $(XEMACS)
1047 $(DEL) TAGS
1048 set PATH=lib-src;%PATH%
1049 # argh!!! we need two ^^'s to get one ^, but only before a backslash.
1050 # i have no idea why. probably some obscure nmake quoting convention.
1051 etags -a -r "/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*\"\([^^\"]+\)\"/\2/" src\*.c src\*.h lwlib\*.c lwlib\*.h lib-src\*.c lib-src\*.h
1052 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
1053
1054 # Section handling tags ends here
1021 1055
1022 # Section handling info starts here 1056 # Section handling info starts here
1023 1057
1024 !if !defined(MAKEINFO) 1058 !if !defined(MAKEINFO)
1025 MAKEINFO=$(PROGNAME) -vanilla -batch -l texinfmt -f batch-texinfo-format 1059 MAKEINFO=$(PROGNAME) -vanilla -batch -l texinfmt -f batch-texinfo-format
1256 cd $(TEMACS_DIR) 1290 cd $(TEMACS_DIR)
1257 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH) 1291 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1258 set EMACSBOOTSTRAPMODULEPATH=$(MODULES) 1292 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
1259 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump 1293 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
1260 !if $(USE_PORTABLE_DUMPER) 1294 !if $(USE_PORTABLE_DUMPER)
1261 copy temacs.exe xemacs.exe 1295 rc -d INCLUDE_DUMP -Fo $(OUTDIR)\xemacs.res $(NT)\xemacs.rc
1296 link.exe @<<
1297 $(TEMACS_LFLAGS) -out:xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS)
1298 <<
1299 # Make the resource section read/write since almost all of it is the dump
1300 # data which needs to be writable. This avoids having to copy it.
1301 editbin -nologo -section:.rsrc,rw xemacs.exe
1302 del $(TEMACS_DIR)\xemacs.dmp
1262 !endif 1303 !endif
1263 cd $(NT) 1304 cd $(NT)
1264 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@ 1305 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
1265 #------------------------------------------------------------------------------ 1306 #------------------------------------------------------------------------------
1266 1307
1267 # use this rule to build the complete system 1308 # use this rule to build the complete system
1268 all: $(XEMACS)\Installation $(OUTDIR)\nul $(LASTFILE) $(LWLIB) \ 1309 all: installation $(OUTDIR)\nul $(LASTFILE) $(LWLIB) \
1269 $(LIB_SRC_TOOLS) $(RUNEMACS) $(TEMACS) update-elc $(DOC) dump-xemacs \ 1310 $(LIB_SRC_TOOLS) $(RUNEMACS) $(TEMACS) update-elc $(DOC) dump-xemacs \
1270 $(LISP)/auto-autoloads.el $(LISP)/custom-load.el info 1311 $(LISP)/auto-autoloads.el $(LISP)/custom-load.el info
1271 1312
1272 temacs: $(LASTFILE) $(TEMACS) 1313 temacs: $(LASTFILE) $(TEMACS)
1273 1314
1280 @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\" 1321 @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\"
1281 @$(DEL) "$(INSTALL_DIR)\lock\PlaceHolder" 1322 @$(DEL) "$(INSTALL_DIR)\lock\PlaceHolder"
1282 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" 1323 @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
1283 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1324 @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1284 @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1325 @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1285 @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1326 @copy $(SRC)\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1286 !if $(USE_PORTABLE_DUMPER)
1287 @copy $(XEMACS)\src\xemacs.dmp "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1288 !endif
1289 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1327 @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1290 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\" 1328 @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
1291 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\" 1329 @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
1292 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\" 1330 @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
1293 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ... 1331 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
1340 depend: 1378 depend:
1341 cd $(SRCDIR) 1379 cd $(SRCDIR)
1342 perl ./make-src-depend > depend.tmp 1380 perl ./make-src-depend > depend.tmp
1343 perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')" 1381 perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')"
1344 1382
1383 $(XEMACS)\Installation:: installation
1384
1345 installation:: 1385 installation::
1346 @if exist $(XEMACS)\Installation del $(XEMACS)\Installation
1347
1348 installation:: $(XEMACS)\Installation
1349
1350 $(XEMACS)\Installation:
1351 @type > $(XEMACS)\Installation << 1386 @type > $(XEMACS)\Installation <<
1352 !if defined(OS) 1387 !if defined(OS)
1353 OS: $(OS) 1388 OS: $(OS)
1354 !endif 1389 !endif
1355 1390