comparison src/Makefile.in.in @ 183:e121b013d1f0 r20-3b18

Import from CVS: tag r20-3b18
author cvs
date Mon, 13 Aug 2007 09:54:23 +0200
parents bfd6434d15b3
children 3d6bfa290dbd
comparison
equal deleted inserted replaced
182:f07455f06202 183:e121b013d1f0
21 ## Boston, MA 02111-1307, USA. 21 ## Boston, MA 02111-1307, USA.
22 22
23 ## Synched up with: Not synched with FSF. 23 ## Synched up with: Not synched with FSF.
24 24
25 all: xemacs 25 all: xemacs
26 .PHONY : all release dump-elc dump-elcs all-elc all-elcs lint binary 26 .PHONY : all release dump-elc dump-elcs all-elc all-elcs lint
27 27
28 ## For performance and consistency, no built-in rules. 28 ## For performance and consistency, no built-in rules.
29 .SUFFIXES: 29 .SUFFIXES:
30 .SUFFIXES: .c .o .i .h 30 .SUFFIXES: .c .o .i .h
31 31
87 ## This includes any .c or .h built from something else 87 ## This includes any .c or .h built from something else
88 ## (e.g. a .in file). 88 ## (e.g. a .in file).
89 vpath config.h 89 vpath config.h
90 vpath paths.h 90 vpath paths.h
91 vpath Emacs.ad.h 91 vpath Emacs.ad.h
92 vpath puresize_adjust.h 92 vpath puresize-adjust.h
93 #else 93 #else
94 VPATH=@srcdir@ 94 VPATH=@srcdir@
95 #endif 95 #endif
96 96
97 RM = rm -f 97 RM = rm -f
98 PURIFY_PROG=purify
99 PURIFY_FLAGS=-chain-length=16 -ignore-signals=SIGPOLL -log-file=puremacs.log \
100 -messages=batch -show-directory=yes -windows=yes -threads=yes \
101 -cache-dir=. -always-use-cache-dir=yes -pointer-mask=0x0fffffff
102 PURECOV_PROG=purecov
103 #ifdef QUANTIFY
104 quantify_prog = quantify
105 quantify_flags = -windows=no -record-data=no
106 quantify_includes = -I/local/include
107 quantify_libs = /local/lib/quantify_stubs.a
108 #endif /* QUANTIFY */
109 98
110 #ifdef HAVE_NATIVE_SOUND 99 #ifdef HAVE_NATIVE_SOUND
111 sound_cflags=@sound_cflags@ 100 sound_cflags=@sound_cflags@
112 #endif 101 #endif
113 102
296 touch release 285 touch release
297 #endif /* ! defined (CANNOT_DUMP) */ 286 #endif /* ! defined (CANNOT_DUMP) */
298 287
299 FRC.DOC: 288 FRC.DOC:
300 289
301 FRC.xemacs: 290 xemacs: temacs ${libsrc}DOC $(mo_file) ${other_files} update-elc.stamp
302 291 @$(RM) $@ && touch SATISFIED
303 xemacs: temacs ${libsrc}DOC $(mo_file) ${other_files} FRC.xemacs 292 -$(DUMPENV) ./temacs -batch -l loadup.el dump
293 @if test -f $@; then $(RM) SATISFIED; exit 0; fi; \
294 if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; \
295 $(RECURSIVE_MAKE) $@;
296
297 FRC.update-elc.stamp :
298
299 update-elc.stamp : FRC.update-elc.stamp
304 @touch NOBYTECOMPILE 300 @touch NOBYTECOMPILE
305 -${DUMPENV} ./temacs -batch -l ../prim/update-elc.el 301 ${DUMPENV} ./temacs -batch -l ../prim/update-elc.el
306 if test -f NOBYTECOMPILE || test ! -f xemacs; then \ 302 @if test ! -f $@ -o -f NOBYTECOMPILE; then touch $@; fi; \
307 $(RECURSIVE_MAKE) binary; \ 303 $(RM) NOBYTECOMPILE
308 fi
309 @$(RM) NOBYTECOMPILE
310
311 binary: temacs
312 @touch SATISFIED
313 -$(DUMPENV) ./temacs -batch -l loadup.el dump
314 @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi
315 @$(RM) SATISFIED
316 304
317 obj_src = $(objs:.o=.c) 305 obj_src = $(objs:.o=.c)
318 306
319 #ifdef DYNODUMP 307 #ifdef DYNODUMP
320 dynodump_deps = ../dynodump/dynodump.so 308 dynodump_deps = ../dynodump/dynodump.so
380 lint: $(LINTFILES) 368 lint: $(LINTFILES)
381 $(LINT.c) $(LINTFILES) 369 $(LINT.c) $(LINTFILES)
382 ## end of Lint Section 370 ## end of Lint Section
383 371
384 temacs_deps=\ 372 temacs_deps=\
385 $(LOCALCPP) $(start_files) ${objs} ${otherobjs}\ 373 $(start_files) ${objs} ${otherobjs}\
386 $(lwlib_deps) $(dynodump_deps) prefix-args 374 $(lwlib_deps) $(dynodump_deps) prefix-args
387 375
388 temacs_link_args=\ 376 temacs_link_args=\
389 ${start_flags} ${ldflags}\ 377 ${start_flags} ${ldflags}\
390 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES} 378 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES}
391 379
392 temacs: $(temacs_deps) 380 temacs: $(temacs_deps)
393 if $(LD) $(temacs_link_args); then \ 381 $(LD) $(temacs_link_args)
394 $(RM) xemacs; \ 382
395 fi 383 .PHONY : run-temacs
384
385 run-temacs:
386 ./temacs -batch -l loadup.el run-temacs
387
388 ## Debugging targets:
389 ##
390 ## RTC is Sun WorkShop's Run Time Checking
391 ##
392 ## Purify, Quantify, PureCoverage are software quality products from
393 ## Rational, formerly Pure Atria, formerly Pure Software.
394 ##
395 ## None of these products work with a dumped xemacs binary, because it
396 ## does unexpected things like free memory that has been malloc'ed in
397 ## a *different* process!! So we need to run these on temacs.
398 ##
399
400 .PHONY : run-rtcmacs run-puremacs run-quantmacs
396 401
397 rtc_patch.o: 402 rtc_patch.o:
398 rtc_patch_area -o $@ 403 rtc_patch_area -o $@
399 404
400 rtcmacs: $(temacs_deps) rtc_patch.o 405 rtcmacs: $(temacs_deps) rtc_patch.o
401 $(RM) temacs; $(RECURSIVE_MAKE) temacs RTC_patch_objs=rtc_patch.o 406 $(RM) temacs; $(RECURSIVE_MAKE) temacs RTC_patch_objs=rtc_patch.o
402 mv temacs rtcmacs 407 mv temacs rtcmacs
403 408
404 rtcrun: rtcmacs 409 run-rtcmacs: rtcmacs
405 dbx -q -C -c \ 410 dbx -q -C -c \
406 'dbxenv rtc_error_log_file_name /dev/fd/1; \ 411 'dbxenv rtc_error_log_file_name /dev/fd/1; \
407 dbxenv suppress_startup_message 5.0; \ 412 dbxenv suppress_startup_message 5.0; \
408 ignore POLL; \ 413 ignore POLL; \
409 check -access; \ 414 check -access; \
410 suppress rui; \ 415 suppress rui; \
411 runargs -batch -l loadup.el run-temacs -q; \ 416 runargs -batch -l loadup.el run-temacs -q; \
412 run' rtcmacs 417 run' rtcmacs
413 418
419 ## Purify
420 PURIFY_PROG=purify
421 PURIFY_FLAGS=-chain-length=32 -ignore-signals=SIGPOLL -threads=yes \
422 -cache-dir=./purecache -always-use-cache-dir=yes -pointer-mask=0x0fffffff
414 puremacs: $(temacs_deps) 423 puremacs: $(temacs_deps)
415 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) -lpthread 424 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) -lpthread
416 425
417 .PHONY : run-puremacs
418 run-puremacs: puremacs 426 run-puremacs: puremacs
419 ./puremacs -batch -l loadup.el run-temacs 427 ./puremacs -batch -l loadup.el run-temacs
420 428
429 ## Quantify
430 #ifdef QUANTIFY
431 quantify_prog = quantify
432 quantify_flags = -windows=no -record-data=no
433 quantify_includes = -I/local/include
434 quantify_libs = /local/lib/quantify_stubs.a
435
421 quantmacs: $(temacs_deps) 436 quantmacs: $(temacs_deps)
422 $(quantify_prog) $(quantify_flags) $(LD) $(temacs_link_args) 437 $(quantify_prog) $(quantify_flags) $(LD) $(temacs_link_args)
423 438 #endif /* QUANTIFY */
439
440 PURECOV_PROG=purecov
424 covmacs: $(temacs_deps) 441 covmacs: $(temacs_deps)
425 $(PURECOV_PROG) $(LD) $(temacs_link_args) 442 $(PURECOV_PROG) $(LD) $(temacs_link_args)
443
426 444
427 TopLevelEmacsShell.o : ${srcdir}/EmacsShell-sub.c 445 TopLevelEmacsShell.o : ${srcdir}/EmacsShell-sub.c
428 $(CC) -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL ${srcdir}/EmacsShell-sub.c 446 $(CC) -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
429 mv EmacsShell-sub.o TopLevelEmacsShell.o 447 mv EmacsShell-sub.o TopLevelEmacsShell.o
430 448
521 539
522 prefix-args: ${srcdir}/prefix-args.c config.h 540 prefix-args: ${srcdir}/prefix-args.c config.h
523 $(CC) $(cflags) ${srcdir}/prefix-args.c -o prefix-args 541 $(CC) $(cflags) ${srcdir}/prefix-args.c -o prefix-args
524 542
525 config.h: ${srcdir}/config.h.in 543 config.h: ${srcdir}/config.h.in
526 puresize_adjust.h: ${srcdir}/puresize.h 544 puresize-adjust.h: ${srcdir}/puresize.h
527 paths.h: ${srcdir}/paths.h.in 545 paths.h: ${srcdir}/paths.h.in
528 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad 546 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad
529 547
530 config.h puresize_adjust.h paths.h Emacs.ad.h : 548 config.h puresize-adjust.h paths.h Emacs.ad.h :
531 @echo "The file $@ needs to be re-generated." 549 @echo "The file $@ needs to be re-generated."
532 @echo "Please run a make in the top level directory." 550 @echo "Please run a make in the top level directory."
533 @echo "Consult the file \`INSTALL' for instructions for building XEmacs." 551 @echo "Consult the file \`INSTALL' for instructions for building XEmacs."
534 @exit 1 552 @exit 1
535 553
596 614
597 .PHONY: mostlyclean clean distclean realclean versionclean extraclean 615 .PHONY: mostlyclean clean distclean realclean versionclean extraclean
598 mostlyclean: 616 mostlyclean:
599 $(RM) temacs puremacs quantmacs prefix-args depend.* *.o *.i core 617 $(RM) temacs puremacs quantmacs prefix-args depend.* *.o *.i core
600 clean: mostlyclean versionclean 618 clean: mostlyclean versionclean
601 $(RM) libextcli* 619 $(RM) libextcli* update-elc.stamp
602 ## This is used in making a distribution. 620 ## This is used in making a distribution.
603 ## Do not use it on development directories! 621 ## Do not use it on development directories!
604 distclean: clean 622 distclean: clean
605 $(RM) config.h paths.h puresize_adjust.h Emacs.ad.h \ 623 $(RM) config.h paths.h puresize-adjust.h Emacs.ad.h \
606 Makefile Makefile.in TAGS 624 Makefile Makefile.in TAGS
607 realclean: distclean 625 realclean: distclean
608 versionclean: 626 versionclean:
609 $(RM) xemacs ${libsrc}DOC 627 $(RM) xemacs ${libsrc}DOC
610 extraclean: realclean 628 extraclean: realclean
2104 profile.o: hash.h 2122 profile.o: hash.h
2105 profile.o: systime.h 2123 profile.o: systime.h
2106 pure.o: blocktype.h 2124 pure.o: blocktype.h
2107 pure.o: config.h 2125 pure.o: config.h
2108 pure.o: dynarr.h 2126 pure.o: dynarr.h
2109 pure.o: puresize.h puresize_adjust.h 2127 pure.o: puresize.h puresize-adjust.h
2110 ralloc.o: blocktype.h 2128 ralloc.o: blocktype.h
2111 ralloc.o: config.h 2129 ralloc.o: config.h
2112 ralloc.o: dynarr.h 2130 ralloc.o: dynarr.h
2113 ralloc.o: getpagesize.h 2131 ralloc.o: getpagesize.h
2114 rangetab.o: blocktype.h 2132 rangetab.o: blocktype.h