Mercurial > hg > xemacs-beta
comparison nt/xemacs.mak @ 288:e11d67e05968 r21-0b42
Import from CVS: tag r21-0b42
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:35:54 +0200 |
parents | 57709be46d1b |
children | 4b85ae5eabfb |
comparison
equal
deleted
inserted
replaced
287:13a0bd77a29d | 288:e11d67e05968 |
---|---|
64 USE_MINIMAL_TAGBITS=0 | 64 USE_MINIMAL_TAGBITS=0 |
65 !endif | 65 !endif |
66 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION) | 66 !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION) |
67 USE_INDEXED_LRECORD_IMPLEMENTATION=0 | 67 USE_INDEXED_LRECORD_IMPLEMENTATION=0 |
68 !endif | 68 !endif |
69 !if !defined(INFODOCK) | |
70 INFODOCK=0 | |
71 !endif | |
69 | 72 |
70 # | 73 # |
71 # Conf error checks | 74 # Conf error checks |
72 # | 75 # |
73 CONFIG_ERROR=0 | 76 CONFIG_ERROR=0 |
77 !if $(INFODOCK) && !exist("..\..\Infodock.rules") | |
78 !message Cannot build InfoDock without InfoDock sources | |
79 CONFIG_ERROR=1 | |
80 !endif | |
74 !if !$(HAVE_MSW) && !$(HAVE_X) | 81 !if !$(HAVE_MSW) && !$(HAVE_X) |
75 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1 | 82 !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1 |
76 CONFIG_ERROR=1 | 83 CONFIG_ERROR=1 |
77 !endif | 84 !endif |
78 !if $(HAVE_X) && !defined(X11_DIR) | 85 !if $(HAVE_X) && !defined(X11_DIR) |
112 # | 119 # |
113 !if !defined(CONF_REPORT_ALREADY_PRINTED) | 120 !if !defined(CONF_REPORT_ALREADY_PRINTED) |
114 !if [set CONF_REPORT_ALREADY_PRINTED=1] | 121 !if [set CONF_REPORT_ALREADY_PRINTED=1] |
115 !endif | 122 !endif |
116 !message ------------------------------------------------ | 123 !message ------------------------------------------------ |
124 !if $(INFODOCK) | |
125 !message Building InfoDock. | |
126 !endif | |
117 !if $(HAVE_MSW) | 127 !if $(HAVE_MSW) |
118 !message Compiling in support for native GUI. | 128 !message Compiling in support for native GUI. |
119 !endif | 129 !endif |
120 !if $(HAVE_X) | 130 !if $(HAVE_X) |
121 !message Compiling in support for X-Windows. | 131 !message Compiling in support for X-Windows. |
159 # | 169 # |
160 !if !defined(VERBOSECC) | 170 !if !defined(VERBOSECC) |
161 VERBOSECC=0 | 171 VERBOSECC=0 |
162 !endif | 172 !endif |
163 !if $(VERBOSECC) | 173 !if $(VERBOSECC) |
164 CCV=$(CC) | 174 CCV=$(CC) -nologo |
165 !else | 175 !else |
166 CCV=@$(CC) | 176 CCV=@$(CC) -nologo |
167 !endif | 177 !endif |
168 | 178 |
169 !if $(DEBUG_XEMACS) | 179 !if $(DEBUG_XEMACS) |
170 OPT=-Od -Zi | 180 OPT=-Od -Zi |
171 !else | 181 !else |
226 UNION_DEFINES=-DUSE_UNION_TYPE | 236 UNION_DEFINES=-DUSE_UNION_TYPE |
227 !endif | 237 !endif |
228 | 238 |
229 !include "..\version.sh" | 239 !include "..\version.sh" |
230 | 240 |
241 # Hard-coded paths | |
242 | |
243 !if $(INFODOCK) | |
244 PATH_PREFIX=../.. | |
245 !else | |
246 PATH_PREFIX=.. | |
247 !endif | |
248 | |
249 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\" | |
250 | |
251 # Program name and version | |
252 | |
253 !if $(INFODOCK) | |
254 INFODOCK_VERSION_STRING=$(infodock_major_version).$(infodock_minor_version).$(infodock_build_version) | |
255 PROGRAM_DEFINES=-DINFODOCK \ | |
256 -DPATH_VERSION=\"$(INFODOCK_VERSION_STRING)\" \ | |
257 -DPATH_PROGNAME=\"infodock\" \ | |
258 -DINFODOCK_MAJOR_VERSION=$(infodock_major_version) \ | |
259 -DINFODOCK_MINOR_VERSION=$(infodock_minor_version) \ | |
260 -DINFODOCK_BUILD_VERSION=$(infodock_build_version) | |
261 !else | |
231 !if defined(emacs_beta_version) | 262 !if defined(emacs_beta_version) |
232 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)-b$(emacs_beta_version) | 263 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)-b$(emacs_beta_version) |
233 !else | 264 !else |
234 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version) | 265 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version) |
235 !endif | 266 !endif |
267 PROGRAM_DEFINES= \ | |
268 -DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" \ | |
269 -DPATH_PROGNAME=\"xemacs\" | |
270 !endif | |
236 | 271 |
237 # Generic variables | 272 # Generic variables |
238 | 273 |
239 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib | 274 INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib |
240 | 275 |
241 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ | 276 DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ |
242 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \ | 277 $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \ |
243 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ | 278 -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ |
244 -DHAVE_CONFIG_H -DPATH_PROGNAME=\"xemacs\" \ | 279 -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES) |
245 -DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" | |
246 | 280 |
247 OUTDIR=obj | 281 OUTDIR=obj |
248 | 282 |
249 #------------------------------------------------------------------------------ | 283 #------------------------------------------------------------------------------ |
250 | 284 |
271 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h | 305 $(XEMACS)\src\puresize-adjust.h: puresize-adjust.h |
272 copy puresize-adjust.h $(XEMACS)\src | 306 copy puresize-adjust.h $(XEMACS)\src |
273 | 307 |
274 #------------------------------------------------------------------------------ | 308 #------------------------------------------------------------------------------ |
275 | 309 |
310 # lib-src programs | |
311 | |
312 LIB_SRC = $(XEMACS)\lib-src | |
313 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT | |
314 | |
315 # Inferred rule | |
316 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe : | |
317 @cd $(LIB_SRC) | |
318 $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) -O2 -W3 -Fe$@ $** | |
319 @cd $(XEMACS)\nt | |
320 | |
321 # Individual dependencies | |
322 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c | |
323 $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS) | |
324 #### ootags??? | |
325 | |
326 LIB_SRC_TOOLS = \ | |
327 $(LIB_SRC)/make-docfile.exe \ | |
328 $(LIB_SRC)/hexl.exe \ | |
329 $(LIB_SRC)/movemail.exe \ | |
330 $(LIB_SRC)/mmencode.exe \ | |
331 $(LIB_SRC)/sorted-doc.exe \ | |
332 $(LIB_SRC)/wakeup.exe \ | |
333 $(LIB_SRC)/etags.exe | |
334 | |
276 # LASTFILE Library | 335 # LASTFILE Library |
336 | |
337 #------------------------------------------------------------------------------ | |
277 | 338 |
278 LASTFILE=$(OUTDIR)\lastfile.lib | 339 LASTFILE=$(OUTDIR)\lastfile.lib |
279 LASTFILE_SRC=$(XEMACS)\src | 340 LASTFILE_SRC=$(XEMACS)\src |
280 LASTFILE_FLAGS=-nologo $(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) -Fo$@ -c | 341 LASTFILE_FLAGS=$(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) -Fo$@ -c |
281 LASTFILE_OBJS= \ | 342 LASTFILE_OBJS= \ |
282 $(OUTDIR)\lastfile.obj | 343 $(OUTDIR)\lastfile.obj |
283 | 344 |
284 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS) | 345 $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS) |
285 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS) | 346 link.exe -lib -nologo -out:$@ $(LASTFILE_OBJS) |
293 | 354 |
294 # LWLIB Library | 355 # LWLIB Library |
295 | 356 |
296 LWLIB=$(OUTDIR)\lwlib.lib | 357 LWLIB=$(OUTDIR)\lwlib.lib |
297 LWLIB_SRC=$(XEMACS)\lwlib | 358 LWLIB_SRC=$(XEMACS)\lwlib |
298 LWLIB_FLAGS=-nologo $(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) \ | 359 LWLIB_FLAGS=$(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) \ |
299 -DNEED_ATHENA -DNEED_LUCID \ | 360 -DNEED_ATHENA -DNEED_LUCID \ |
300 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \ | 361 -D_WINDOWS -DMENUBARS_LUCID -DSCROLLBARS_LUCID -DDIALOGS_ATHENA \ |
301 -Fo$@ -c | 362 -Fo$@ -c |
302 LWLIB_OBJS= \ | 363 LWLIB_OBJS= \ |
303 $(OUTDIR)\lwlib-config.obj \ | 364 $(OUTDIR)\lwlib-config.obj \ |
332 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c | 393 $(OUTDIR)\xlwscrollbar.obj: $(LWLIB_SRC)\xlwscrollbar.c |
333 $(CCV) $(LWLIB_FLAGS) $** | 394 $(CCV) $(LWLIB_FLAGS) $** |
334 | 395 |
335 !endif | 396 !endif |
336 #------------------------------------------------------------------------------ | 397 #------------------------------------------------------------------------------ |
337 | |
338 # lib-src programs | |
339 | |
340 LIB_SRC=$(XEMACS)\lib-src | |
341 LIB_SRC_FLAGS=$(INCLUDES) $(DEFINES) -ML | |
342 LIB_SRC_LIBS= kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ | |
343 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib libc.lib | |
344 LIB_SRC_LFLAGS=-nologo $(LIB_SRC_LIBS) -base:0x1000000\ | |
345 -subsystem:console -pdb:none $(DEBUG_FLAGS) -machine:I386\ | |
346 -nodefaultlib -out:$@ | |
347 | 398 |
348 DOC=$(LIB_SRC)\DOC | 399 DOC=$(LIB_SRC)\DOC |
349 DOC_SRC1=\ | 400 DOC_SRC1=\ |
350 $(XEMACS)\src\abbrev.c \ | 401 $(XEMACS)\src\abbrev.c \ |
351 $(XEMACS)\src\alloc.c \ | 402 $(XEMACS)\src\alloc.c \ |
363 $(XEMACS)\src\console-stream.c \ | 414 $(XEMACS)\src\console-stream.c \ |
364 $(XEMACS)\src\console.c \ | 415 $(XEMACS)\src\console.c \ |
365 $(XEMACS)\src\data.c \ | 416 $(XEMACS)\src\data.c \ |
366 $(XEMACS)\src\device.c | 417 $(XEMACS)\src\device.c |
367 DOC_SRC2=\ | 418 DOC_SRC2=\ |
368 # $(XEMACS)\src\dialog.c \ | |
369 $(XEMACS)\src\dired.c \ | 419 $(XEMACS)\src\dired.c \ |
370 $(XEMACS)\src\doc.c \ | 420 $(XEMACS)\src\doc.c \ |
371 $(XEMACS)\src\doprnt.c \ | 421 $(XEMACS)\src\doprnt.c \ |
372 $(XEMACS)\src\dragdrop.c \ | 422 $(XEMACS)\src\dragdrop.c \ |
373 $(XEMACS)\src\dynarr.c \ | 423 $(XEMACS)\src\dynarr.c \ |
497 !if $(DEBUG_XEMACS) | 547 !if $(DEBUG_XEMACS) |
498 DOC_SRC9=\ | 548 DOC_SRC9=\ |
499 $(XEMACS)\src\debug.c | 549 $(XEMACS)\src\debug.c |
500 !endif | 550 !endif |
501 | 551 |
502 MAKE_DOCFILE=$(LIB_SRC)\make-docfile.exe | |
503 | |
504 $(MAKE_DOCFILE): $(OUTDIR)\make-docfile.obj | |
505 link.exe -out:$@ $(LIB_SRC_LFLAGS) $** $(LIB_SRC_LIBS) | |
506 | |
507 $(OUTDIR)\make-docfile.obj: $(LIB_SRC)\make-docfile.c | |
508 $(CCV) -nologo $(LIB_SRC_FLAGS) -c $** -Fo$@ | |
509 | |
510 RUNEMACS=$(XEMACS)\src\runemacs.exe | |
511 | |
512 $(RUNEMACS): $(OUTDIR)\runemacs.obj | |
513 link.exe -nologo -out:$@ -subsystem:windows -entry:WinMainCRTStartup \ | |
514 -pdb:none -release -incremental:no $** \ | |
515 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ | |
516 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib libc.lib | |
517 | |
518 $(OUTDIR)\runemacs.obj: $(XEMACS)\nt\runemacs.c | |
519 $(CCV) -nologo -ML $(WARN_CPP_FLAGS) $(OPT) -c \ | |
520 -D_DEBUG -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN \ | |
521 -D_X86_ -Demacs -DHAVE_CONFIG_H \ | |
522 $** -Fo$@ | |
523 | |
524 SUPPORT_PROGS=$(MAKE_DOCFILE) $(RUNEMACS) | |
525 | |
526 #------------------------------------------------------------------------------ | 552 #------------------------------------------------------------------------------ |
527 | 553 |
528 # TEMACS Executable | 554 # TEMACS Executable |
529 | 555 |
530 TEMACS_DIR=$(XEMACS)\src | 556 TEMACS_DIR=$(XEMACS)\src |
541 TEMACS_CPP_FLAGS= $(WARN_CPP_FLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \ | 567 TEMACS_CPP_FLAGS= $(WARN_CPP_FLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \ |
542 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \ | 568 -DEMACS_MAJOR_VERSION=$(emacs_major_version) \ |
543 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \ | 569 -DEMACS_MINOR_VERSION=$(emacs_minor_version) \ |
544 -DEMACS_BETA_VERSION=$(emacs_beta_version) \ | 570 -DEMACS_BETA_VERSION=$(emacs_beta_version) \ |
545 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \ | 571 -DXEMACS_CODENAME=\"$(xemacs_codename)\" \ |
546 -DPATH_PREFIX=\"$(XEMACS)\" \ | |
547 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\" | 572 -DPATH_PACKAGEPATH=\"$(PATH_PACKAGEPATH)\" |
548 | 573 |
549 TEMACS_FLAGS=-nologo -ML $(WARN_CPP_FALGS) $(OPT) -c $(TEMACS_CPP_FLAGS) | 574 TEMACS_FLAGS=-ML $(WARN_CPP_FALGS) $(OPT) -c $(TEMACS_CPP_FLAGS) |
550 | 575 |
551 !if $(HAVE_X) | 576 !if $(HAVE_X) |
552 TEMACS_X_OBJS=\ | 577 TEMACS_X_OBJS=\ |
553 $(OUTDIR)\balloon-x.obj \ | 578 $(OUTDIR)\balloon-x.obj \ |
554 $(OUTDIR)\balloon_help.obj \ | 579 $(OUTDIR)\balloon_help.obj \ |
626 $(OUTDIR)\cmds.obj \ | 651 $(OUTDIR)\cmds.obj \ |
627 $(OUTDIR)\console-stream.obj \ | 652 $(OUTDIR)\console-stream.obj \ |
628 $(OUTDIR)\console.obj \ | 653 $(OUTDIR)\console.obj \ |
629 $(OUTDIR)\data.obj \ | 654 $(OUTDIR)\data.obj \ |
630 $(OUTDIR)\device.obj \ | 655 $(OUTDIR)\device.obj \ |
631 # $(OUTDIR)\dialog.obj \ | |
632 $(OUTDIR)\dired.obj \ | 656 $(OUTDIR)\dired.obj \ |
633 $(OUTDIR)\doc.obj \ | 657 $(OUTDIR)\doc.obj \ |
634 $(OUTDIR)\doprnt.obj \ | 658 $(OUTDIR)\doprnt.obj \ |
635 $(OUTDIR)\dragdrop.obj \ | 659 $(OUTDIR)\dragdrop.obj \ |
636 $(OUTDIR)\dynarr.obj \ | 660 $(OUTDIR)\dynarr.obj \ |
776 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@ | 800 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@ |
777 | 801 |
778 #------------------------------------------------------------------------------ | 802 #------------------------------------------------------------------------------ |
779 | 803 |
780 # use this rule to build the complete system | 804 # use this rule to build the complete system |
781 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(SUPPORT_PROGS) \ | 805 all: $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) \ |
782 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs | 806 $(TEMACS) $(TEMACS_BROWSE) update-elc $(DOC) dump-xemacs |
783 | 807 |
784 temacs: $(TEMACS) | 808 temacs: $(TEMACS) |
785 | 809 |
786 # use this rule to install the system | 810 # use this rule to install the system |