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