comparison nt/xemacs.mak @ 278:90d73dddcdc4 r21-0b37

Import from CVS: tag r21-0b37
author cvs
date Mon, 13 Aug 2007 10:31:29 +0200
parents 6330739388db
children 7df0dd720c89
comparison
equal deleted inserted replaced
277:cfdf3ff11843 278:90d73dddcdc4
65 !endif 65 !endif
66 66
67 # 67 #
68 # Conf error checks 68 # Conf error checks
69 # 69 #
70 CONFIG_ERROR=0
70 !if !$(HAVE_MSW) && !$(HAVE_X) 71 !if !$(HAVE_MSW) && !$(HAVE_X)
71 !error Please specify at least one HAVE_MSW=1 and/or HAVE_X=1 72 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1
73 CONFIG_ERROR=1
72 !endif 74 !endif
73 !if $(HAVE_X) && !defined(X11_DIR) 75 !if $(HAVE_X) && !defined(X11_DIR)
74 !error Please specify root directory for your X11 installation: X11_DIR=path 76 !message Please specify root directory for your X11 installation: X11_DIR=path
77 CONFIG_ERROR=1
78 !endif
79 !if $(HAVE_X) && defined(X11_DIR) && !exist("$(X11_DIR)\LIB\X11.LIB")
80 !message Specified X11 directory does not contain "$(X11_DIR)\LIB\X11.LIB"
81 CONFIG_ERROR=1
75 !endif 82 !endif
76 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR) 83 !if $(HAVE_MSW) && $(HAVE_XPM) && !defined(XPM_DIR)
77 !error Please specify root directory for your XPM installation: XPM_DIR=path 84 !message Please specify root directory for your XPM installation: XPM_DIR=path
85 CONFIG_ERROR=1
86 !endif
87 !if $(HAVE_MSW) && $(HAVE_XPM) && defined(XPM_DIR) && !exist("$(XPM_DIR)\LIB\XPM.LIB")
88 !message Specified XPM directory does not contain "$(XPM_DIR)\LIB\XPM.LIB"
89 CONFIG_ERROR=1
78 !endif 90 !endif
79 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM) 91 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
80 !error Toolbars require XPM support 92 !error Toolbars require XPM support
93 CONFIG_ERROR=1
94 !endif
95 !if $(CONFIG_ERROR)
96 !error Configuration error(s) found
81 !endif 97 !endif
82 98
83 # 99 #
84 # Handle GUNG_HO 100 # Handle GUNG_HO
85 # 101 #
129 !message Compiling in extra debug checks. XEmacs will be slow! 145 !message Compiling in extra debug checks. XEmacs will be slow!
130 !endif 146 !endif
131 !message ------------------------------------------------ 147 !message ------------------------------------------------
132 !message 148 !message
133 !endif # !defined(CONF_REPORT_ALREADY_PRINTED) 149 !endif # !defined(CONF_REPORT_ALREADY_PRINTED)
150
151 #
152 # Compiler command echo control. Define VERBOSECC=1 to get vebose compilation.
153 #
154 !if !defined(VERBOSECC)
155 VERBOSECC=0
156 !endif
157 !if $(VERBOSECC)
158 CCV=$(CC)
159 !else
160 CCV=@$(CC)
161 !endif
134 162
135 !if $(DEBUG_XEMACS) 163 !if $(DEBUG_XEMACS)
136 OPT=-Od -Zi 164 OPT=-Od -Zi
137 !else 165 !else
138 OPT=-O2 -G5 -Zi 166 OPT=-O2 -G5 -Zi
155 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c 183 MSW_C_DIRED_SRC=$(XEMACS)\src\dired-msw.c
156 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj 184 MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj
157 !endif 185 !endif
158 !if $(HAVE_XPM) 186 !if $(HAVE_XPM)
159 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW 187 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
160 MSW_INCLUDES=$(MSW_INCLUDES) -I$(XPM_DIR) -I$(XPM_DIR)\lib 188 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
161 MSW_LIBS=$(MSW_LIBS) $(XPM_DIR)\lib\Xpm.lib 189 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
162 !endif 190 !endif
163 !if $(HAVE_TOOLBARS) 191 !if $(HAVE_TOOLBARS)
164 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS 192 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
165 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c 193 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
166 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj 194 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
179 207
180 !include "..\version.sh" 208 !include "..\version.sh"
181 209
182 # Generic variables 210 # Generic variables
183 211
184 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib -I"$(MSVCDIR)\include" 212 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib
185 213
186 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ 214 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
187 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ 215 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \
188 -DHAVE_CONFIG_H -D_DEBUG 216 -DHAVE_CONFIG_H -D_DEBUG
189 217
201 $(XEMACS)\src\Emacs.ad.h \ 229 $(XEMACS)\src\Emacs.ad.h \
202 $(XEMACS)\src\paths.h \ 230 $(XEMACS)\src\paths.h \
203 $(XEMACS)\src\puresize-adjust.h 231 $(XEMACS)\src\puresize-adjust.h
204 232
205 $(XEMACS)\src\config.h: config.h 233 $(XEMACS)\src\config.h: config.h
206 !copy config.h $(XEMACS)\src 234 copy config.h $(XEMACS)\src
207 235
208 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h 236 $(XEMACS)\src\Emacs.ad.h: Emacs.ad.h
209 !copy Emacs.ad.h $(XEMACS)\src 237 copy Emacs.ad.h $(XEMACS)\src
210 238
211 $(XEMACS)\src\paths.h: paths.h 239 $(XEMACS)\src\paths.h: paths.h
212 !copy paths.h $(XEMACS)\src 240 copy paths.h $(XEMACS)\src
213 241
214 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h 242 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h
215 !copy puresize-adjust.h $(XEMACS)\src 243 copy puresize-adjust.h $(XEMACS)\src
216 244
217 #------------------------------------------------------------------------------ 245 #------------------------------------------------------------------------------
218 246
219 # LASTFILE Library 247 # LASTFILE Library
220 248
226 254
227 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS) 255 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS)
228 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS) 256 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS)
229 257
230 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c 258 $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c
231 $(CC) $(LASTFILE_FLAGS) $** 259 $(CCV) $(LASTFILE_FLAGS) $**
232 260
233 #------------------------------------------------------------------------------ 261 #------------------------------------------------------------------------------
234 262
235 !if $(HAVE_X) 263 !if $(HAVE_X)
236 264
253 281
254 $(LWLIB): $(LWLIB_OBJS) 282 $(LWLIB): $(LWLIB_OBJS)
255 link.exe -lib -nologo $(DEBUG_FLAGS) -out:$@ $(LWLIB_OBJS) 283 link.exe -lib -nologo $(DEBUG_FLAGS) -out:$@ $(LWLIB_OBJS)
256 284
257 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c 285 $(OUTDIR)\lwlib-config.obj: $(LWLIB_SRC)\lwlib-config.c
258 $(CC) $(LWLIB_FLAGS) $** 286 $(CCV) $(LWLIB_FLAGS) $**
259 287
260 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c 288 $(OUTDIR)\lwlib-utils.obj: $(LWLIB_SRC)\lwlib-utils.c
261 $(CC) $(LWLIB_FLAGS) $** 289 $(CCV) $(LWLIB_FLAGS) $**
262 290
263 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c 291 $(OUTDIR)\lwlib-Xaw.obj: $(LWLIB_SRC)\lwlib-Xaw.c
264 $(CC) $(LWLIB_FLAGS) $** 292 $(CCV) $(LWLIB_FLAGS) $**
265 293
266 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c 294 $(OUTDIR)\lwlib-Xlw.obj: $(LWLIB_SRC)\lwlib-Xlw.c
267 $(CC) $(LWLIB_FLAGS) $** 295 $(CCV) $(LWLIB_FLAGS) $**
268 296
269 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c 297 $(OUTDIR)\lwlib.obj: $(LWLIB_SRC)\lwlib.c
270 $(CC) $(LWLIB_FLAGS) $** 298 $(CCV) $(LWLIB_FLAGS) $**
271 299
272 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c 300 $(OUTDIR)\xlwmenu.obj: $(LWLIB_SRC)\xlwmenu.c
273 $(CC) $(LWLIB_FLAGS) $** 301 $(CCV) $(LWLIB_FLAGS) $**
274 302
275 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c 303 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c
276 $(CC) $(LWLIB_FLAGS) $** 304 $(CCV) $(LWLIB_FLAGS) $**
277 305
278 !endif 306 !endif
279 #------------------------------------------------------------------------------ 307 #------------------------------------------------------------------------------
280 308
281 # lib-src programs 309 # lib-src programs
444 472
445 $(MAKE_DOCFILE): $(OUTDIR)\make-docfile.obj 473 $(MAKE_DOCFILE): $(OUTDIR)\make-docfile.obj
446 link.exe -out:$@ $(LIB_SRC_LFLAGS) $** $(LIB_SRC_LIBS) 474 link.exe -out:$@ $(LIB_SRC_LFLAGS) $** $(LIB_SRC_LIBS)
447 475
448 $(OUTDIR)\make-docfile.obj: $(LIB_SRC)\make-docfile.c 476 $(OUTDIR)\make-docfile.obj: $(LIB_SRC)\make-docfile.c
449 $(CC) -nologo $(LIB_SRC_FLAGS) -c $** -Fo$@ 477 $(CCV) -nologo $(LIB_SRC_FLAGS) -c $** -Fo$@
450 478
451 RUNEMACS=$(XEMACS)\src\runemacs.exe 479 RUNEMACS=$(XEMACS)\src\runemacs.exe
452 480
453 $(RUNEMACS): $(OUTDIR)\runemacs.obj 481 $(RUNEMACS): $(OUTDIR)\runemacs.obj
454 link.exe -nologo -out:$@ -subsystem:windows -entry:WinMainCRTStartup \ 482 link.exe -nologo -out:$@ -subsystem:windows -entry:WinMainCRTStartup \
455 -pdb:none -release -incremental:no $** \ 483 -pdb:none -release -incremental:no $** \
456 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ 484 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
457 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib libc.lib 485 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib libc.lib
458 486
459 $(OUTDIR)\runemacs.obj: $(XEMACS)\nt\runemacs.c 487 $(OUTDIR)\runemacs.obj: $(XEMACS)\nt\runemacs.c
460 $(CC) -nologo -ML $(WARN_CPP_FLAGS) $(OPT) -c \ 488 $(CCV) -nologo -ML $(WARN_CPP_FLAGS) $(OPT) -c \
461 -D_DEBUG -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN \ 489 -D_DEBUG -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN \
462 -D_X86_ -Demacs -DHAVE_CONFIG_H \ 490 -D_X86_ -Demacs -DHAVE_CONFIG_H \
463 $** -Fo$@ 491 $** -Fo$@
464 492
465 SUPPORT_PROGS=$(MAKE_DOCFILE) $(RUNEMACS) 493 SUPPORT_PROGS=$(MAKE_DOCFILE) $(RUNEMACS)
646 .SUFFIXES: 674 .SUFFIXES:
647 .SUFFIXES: .c 675 .SUFFIXES: .c
648 676
649 # nmake rule 677 # nmake rule
650 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj: 678 {$(TEMACS_SRC)}.c{$(OUTDIR)}.obj:
651 $(CC) $(TEMACS_FLAGS) $< -Fo$@ -Fr$*.sbr 679 $(CCV) $(TEMACS_FLAGS) $< -Fo$@ -Fr$*.sbr
652 680
653 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c 681 $(OUTDIR)\TopLevelEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
654 $(CC) $(TEMACS_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@ 682 $(CCV) $(TEMACS_FLAGS) -DDEFINE_TOP_LEVEL_EMACS_SHELL $** -Fo$@
655 683
656 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c 684 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
657 $(CC) $(TEMACS_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@ 685 $(CCV) $(TEMACS_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
658 686
659 $(OUTDIR)\pure.obj: $(TEMACS_SRC)\pure.c $(TEMACS_SRC)\puresize-adjust.h 687 $(OUTDIR)\pure.obj: $(TEMACS_SRC)\pure.c $(TEMACS_SRC)\puresize-adjust.h
660 688
661 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad 689 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
662 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h" 690 # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
673 rc xemacs.rc 701 rc xemacs.rc
674 702
675 # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless 703 # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless
676 $(TEMACS_BROWSE): $(TEMACS_OBJS) 704 $(TEMACS_BROWSE): $(TEMACS_OBJS)
677 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp 705 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
678 bscmake /nologo -o$@ @bscmake.tmp 706 bscmake -nologo -o$@ @bscmake.tmp
679 @del bscmake.tmp 707 @del bscmake.tmp
680 708
681 #------------------------------------------------------------------------------ 709 #------------------------------------------------------------------------------
682 710
683 # LISP bits 'n bobs 711 # LISP bits 'n bobs
684 712
685 LOADPATH=$(LISP) 713 LOADPATH=$(LISP)
686 714
687 $(DOC): $(LIB_SRC)\make-docfile.exe 715 $(DOC): $(LIB_SRC)\make-docfile.exe
688 -del $(DOC) 716 -del $(DOC)
689 !$(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages 717 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
690 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1) 718 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
691 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2) 719 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
692 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3) 720 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3)
693 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4) 721 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4)
694 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5) 722 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5)
695 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6) 723 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6)
696 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7) 724 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7)
697 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8) 725 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8)
698 !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9) 726 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9)
699 727
700 $(LISP)\Installation.el: Installation.el 728 $(LISP)\Installation.el: Installation.el
701 copy Installation.el $(LISP) 729 copy Installation.el $(LISP)
702 730
703 update-elc: $(LISP)\Installation.el 731 update-elc: $(LISP)\Installation.el
704 set EMACSBOOTSTRAPLOADPATH=$(LISP) 732 set EMACSBOOTSTRAPLOADPATH=$(LISP)
705 !$(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el 733 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\update-elc.el
706 734
707 rebuild: $(TEMACS_DIR)\puresize-adjust.h 735 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE
708 !nmake -nologo -f xemacs.mak dump-xemacs 736 # requirements has changed.
709
710 # This rule dumps xemacs and then checks to see if a rebuild is required due
711 # to changing PURESPACE requirements.
712 dump-xemacs: $(TEMACS) 737 dump-xemacs: $(TEMACS)
713 !echo >rebuild 738 @echo >$(TEMACS_DIR)\SATISFIED
714 cd $(TEMACS_DIR) 739 cd $(TEMACS_DIR)
715 set EMACSBOOTSTRAPLOADPATH=$(LISP) 740 set EMACSBOOTSTRAPLOADPATH=$(LISP)
716 !$(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump 741 -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump
717 cd $(XEMACS)\nt 742 cd $(XEMACS)\nt
718 !nmake -nologo -f xemacs.mak rebuild 743 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
719 744
720 #------------------------------------------------------------------------------ 745 #------------------------------------------------------------------------------
721 746
722 # use this rule to build the complete system 747 # use this rule to build the complete system
723 all: $(LASTFILE) $(LWLIB) $(SUPPORT_PROGS) $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs 748 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(SUPPORT_PROGS) \
724 -del rebuild 749 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs
725 750
726 temacs: $(TEMACS) 751 temacs: $(TEMACS)
727 752
728 # use this rule to install the system 753 # use this rule to install the system
729 install: 754 install:
730 echo Not yet implemented. 755 echo Not yet implemented.
731 756