Mercurial > hg > xemacs-beta
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 |