Mercurial > hg > xemacs-beta
comparison Makefile.in.in @ 2427:97dd9f867cef
[xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
Parallel build support without the need for a POSIX-compatible make.
author | malcolmp |
---|---|
date | Tue, 07 Dec 2004 12:52:51 +0000 |
parents | cfff883d4990 |
children | 7edc33019aa4 |
comparison
equal
deleted
inserted
replaced
2426:bb3f73fbbda8 | 2427:97dd9f867cef |
---|---|
53 | 53 |
54 #define NOT_C_CODE | 54 #define NOT_C_CODE |
55 #include "src/config.h" | 55 #include "src/config.h" |
56 | 56 |
57 #ifdef USE_GNU_MAKE | 57 #ifdef USE_GNU_MAKE |
58 RECURSIVE_MAKE=$(MAKE) | 58 RECURSIVE_MAKE_ARGS= |
59 #else | 59 #else |
60 @SET_MAKE@ | 60 @SET_MAKE@ |
61 RECURSIVE_MAKE=@RECURSIVE_MAKE@ | 61 RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@ |
62 #endif | 62 #endif |
63 | 63 |
64 SHELL = /bin/sh | 64 SHELL = /bin/sh |
65 LANG = C | 65 LANG = C |
66 LC_ALL = C | 66 LC_ALL = C |
273 | 273 |
274 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure | 274 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure |
275 cd ${srcdir} && $(SHELL) lib-src/config.values.sh | 275 cd ${srcdir} && $(SHELL) lib-src/config.values.sh |
276 | 276 |
277 depend ${srcdir}/src/depend: | 277 depend ${srcdir}/src/depend: |
278 +cd ./src && $(RECURSIVE_MAKE) depend | 278 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend |
279 | 279 |
280 check: | 280 check: |
281 +cd ./src && $(RECURSIVE_MAKE) $@ | 281 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ |
282 | 282 |
283 check-features: all | 283 check-features: all |
284 +cd ./src && $(RECURSIVE_MAKE) $@ | 284 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ |
285 | 285 |
286 ## We have to force the building of Emacs.ad.h as well in order to get it | 286 ## We have to force the building of Emacs.ad.h as well in order to get it |
287 ## updated correctly when VPATH is being used. Since we use move-if-change, | 287 ## updated correctly when VPATH is being used. Since we use move-if-change, |
288 ## it will only actually change if the user modified ${etcdir}/Emacs.ad. | 288 ## it will only actually change if the user modified ${etcdir}/Emacs.ad. |
289 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad | 289 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad |
308 dynodump: FRC.dynodump | 308 dynodump: FRC.dynodump |
309 FRC.src FRC.lib-src FRC.lwlib FRC.dynodump pkg-src/FRC.tree-x: | 309 FRC.src FRC.lib-src FRC.lwlib FRC.dynodump pkg-src/FRC.tree-x: |
310 FRC.lisp.finder-inf.el: | 310 FRC.lisp.finder-inf.el: |
311 | 311 |
312 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC | 312 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC |
313 +cd ./$@ && $(RECURSIVE_MAKE) all | 313 cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all |
314 | 314 |
315 ## Building modules depends on ellcc, found in lib-src. | 315 ## Building modules depends on ellcc, found in lib-src. |
316 modules/sample modules/ldap modules/zlib modules/base64 modules/postgresql: lib-src | 316 modules/sample modules/ldap modules/zlib modules/base64 modules/postgresql: lib-src |
317 | 317 |
318 Makefile: ${srcdir}/Makefile.in.in config.status | 318 Makefile: ${srcdir}/Makefile.in.in config.status |
319 ./config.status | 319 ./config.status |
320 $(RECURSIVE_MAKE) all | 320 $(MAKE) $(RECURSIVE_MAKE_ARGS) all |
321 | 321 |
322 src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status | 322 src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status |
323 ./config.status | 323 ./config.status |
324 | 324 |
325 lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status | 325 lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status |
373 | 373 |
374 install: all check-features install-arch-dep install-arch-indep | 374 install: all check-features install-arch-dep install-arch-indep |
375 | 375 |
376 install-arch-dep: mkdir | 376 install-arch-dep: mkdir |
377 for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \ | 377 for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \ |
378 (cd ./$${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \ | 378 (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \ |
379 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ | 379 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ |
380 archlibdir=${archlibdir}) ; done | 380 archlibdir=${archlibdir}) ; done |
381 if test "`(cd ${archlibdir} && $(pwd))`" != \ | 381 if test "`(cd ${archlibdir} && $(pwd))`" != \ |
382 "`(cd ./lib-src && $(pwd))`"; then \ | 382 "`(cd ./lib-src && $(pwd))`"; then \ |
383 if test -f ../Installation; then \ | 383 if test -f ../Installation; then \ |
490 #### Don't delete the lisp and etc directories if they're in the source tree. | 490 #### Don't delete the lisp and etc directories if they're in the source tree. |
491 #### This target has not been updated in sometime and until it is it | 491 #### This target has not been updated in sometime and until it is it |
492 #### would be extremely dangerous for anyone to use it. | 492 #### would be extremely dangerous for anyone to use it. |
493 ##uninstall: | 493 ##uninstall: |
494 ## (cd ./lib-src; \ | 494 ## (cd ./lib-src; \ |
495 ## $(RECURSIVE_MAKE) uninstall \ | 495 ## $(MAKE) $(RECURSIVE_MAKE_ARGS) uninstall \ |
496 ## prefix=${prefix} exec_prefix=${exec_prefix} \ | 496 ## prefix=${prefix} exec_prefix=${exec_prefix} \ |
497 ## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir}) | 497 ## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir}) |
498 ## for dir in ${lispdir} ${etcdir} ; do \ | 498 ## for dir in ${lispdir} ${etcdir} ; do \ |
499 ## case `(cd $${dir} ; $(pwd))` in \ | 499 ## case `(cd $${dir} ; $(pwd))` in \ |
500 ## `(cd ${srcdir} ; $(pwd))`* ) ;; \ | 500 ## `(cd ${srcdir} ; $(pwd))`* ) ;; \ |
524 ## Like `clean', but may refrain from deleting a few files that people | 524 ## Like `clean', but may refrain from deleting a few files that people |
525 ## normally don't want to recompile. For example, the `mostlyclean' | 525 ## normally don't want to recompile. For example, the `mostlyclean' |
526 ## target for GCC does not delete `libgcc.a', because recompiling it | 526 ## target for GCC does not delete `libgcc.a', because recompiling it |
527 ## is rarely necessary and takes a lot of time. | 527 ## is rarely necessary and takes a lot of time. |
528 mostlyclean: FRC.mostlyclean | 528 mostlyclean: FRC.mostlyclean |
529 +for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 529 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
530 $(RM) core | 530 $(RM) core |
531 | 531 |
532 ## `clean' | 532 ## `clean' |
533 ## Delete all files from the current directory that are normally | 533 ## Delete all files from the current directory that are normally |
534 ## created by building the program. Don't delete the files that | 534 ## created by building the program. Don't delete the files that |
540 | 540 |
541 ## Remove the generated load files here; they cause lots of problems | 541 ## Remove the generated load files here; they cause lots of problems |
542 ## when they don't work right. (beta can't depend on distclean, which | 542 ## when they don't work right. (beta can't depend on distclean, which |
543 ## removes necessary files generated by configure.) | 543 ## removes necessary files generated by configure.) |
544 clean: FRC.clean | 544 clean: FRC.clean |
545 +for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 545 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
546 $(RM) core lisp/auto-autoloads.el* lisp/custom-load.el* | 546 $(RM) core lisp/auto-autoloads.el* lisp/custom-load.el* |
547 $(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el* | 547 $(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el* |
548 $(RM) modules/auto-autoloads.el* modules/custom-load.el* | 548 $(RM) modules/auto-autoloads.el* modules/custom-load.el* |
549 | 549 |
550 ## `distclean' | 550 ## `distclean' |
558 $(RM) TAGS .sbinit lock/* GNUmakefile Makefile Makefile.in ; \ | 558 $(RM) TAGS .sbinit lock/* GNUmakefile Makefile Makefile.in ; \ |
559 $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \ | 559 $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \ |
560 $(RM) -r site-packages xemacs-packages mule-packages site-lisp | 560 $(RM) -r site-packages xemacs-packages mule-packages site-lisp |
561 | 561 |
562 distclean: FRC.distclean | 562 distclean: FRC.distclean |
563 +for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 563 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
564 -${top_distclean} | 564 -${top_distclean} |
565 | 565 |
566 ## `realclean' | 566 ## `realclean' |
567 ## Delete everything from the current directory that can be | 567 ## Delete everything from the current directory that can be |
568 ## reconstructed with this Makefile. This typically includes | 568 ## reconstructed with this Makefile. This typically includes |
573 ## `configure' even if `configure' can be remade using a rule in the | 573 ## `configure' even if `configure' can be remade using a rule in the |
574 ## Makefile. More generally, `make realclean' should not delete | 574 ## Makefile. More generally, `make realclean' should not delete |
575 ## anything that needs to exist in order to run `configure' and then | 575 ## anything that needs to exist in order to run `configure' and then |
576 ## begin to build the program. | 576 ## begin to build the program. |
577 realclean: FRC.realclean | 577 realclean: FRC.realclean |
578 +for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 578 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
579 -${top_distclean} | 579 -${top_distclean} |
580 $(RM) TAGS | 580 $(RM) TAGS |
581 | 581 |
582 ## This doesn't actually appear in the coding standards, but Karl | 582 ## This doesn't actually appear in the coding standards, but Karl |
583 ## says GCC supports it, and that's where the configuration part of | 583 ## says GCC supports it, and that's where the configuration part of |
584 ## the coding standards seem to come from. It's like distclean, but | 584 ## the coding standards seem to come from. It's like distclean, but |
585 ## it deletes backup and autosave files too. | 585 ## it deletes backup and autosave files too. |
586 extraclean: | 586 extraclean: |
587 +for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 587 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
588 $(RM) *~ \#* | 588 $(RM) *~ \#* |
589 -${top_distclean} | 589 -${top_distclean} |
590 | 590 |
591 ## Unlocking and relocking. The idea of these productions is to reduce | 591 ## Unlocking and relocking. The idea of these productions is to reduce |
592 ## hassles when installing an incremental tar of XEmacs. Do `make unlock' | 592 ## hassles when installing an incremental tar of XEmacs. Do `make unlock' |
604 .PHONY: unlock relock TAGS tags dist info dvi mcs | 604 .PHONY: unlock relock TAGS tags dist info dvi mcs |
605 | 605 |
606 unlock: | 606 unlock: |
607 chmod u+w $(SOURCES) cpp/* | 607 chmod u+w $(SOURCES) cpp/* |
608 -cd ./elisp && chmod u+w Makefile README *.texi | 608 -cd ./elisp && chmod u+w Makefile README *.texi |
609 for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 609 for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
610 cd ./lisp/term && chmod u+w README *.el | 610 cd ./lisp/term && chmod u+w README *.el |
611 cd ./man && chmod u+w *texi* ChangeLog split-man | 611 cd ./man && chmod u+w *texi* ChangeLog split-man |
612 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in | 612 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in |
613 | 613 |
614 relock: | 614 relock: |
615 chmod u-w $(SOURCES) cpp/* | 615 chmod u-w $(SOURCES) cpp/* |
616 -cd ./elisp && chmod u-w Makefile README *.texi | 616 -cd ./elisp && chmod u-w Makefile README *.texi |
617 for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done | 617 for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done |
618 cd ./lisp/term && chmod u+w README *.el | 618 cd ./lisp/term && chmod u+w README *.el |
619 cd ./man && chmod u+w *texi* ChangeLog split-man | 619 cd ./man && chmod u+w *texi* ChangeLog split-man |
620 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in | 620 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in |
621 | 621 |
622 PRUNE_VC = -name SCCS -prune -o -name RCS -prune -o -name CVS -prune -o | 622 PRUNE_VC = -name SCCS -prune -o -name RCS -prune -o -name CVS -prune -o |
633 -r '/^DEFUN[ ]*([ ]*"\([^"]+\)"[ ]*,[ ]*\([A-Za-z0-9_]+\)/\2/'; \ | 633 -r '/^DEFUN[ ]*([ ]*"\([^"]+\)"[ ]*,[ ]*\([A-Za-z0-9_]+\)/\2/'; \ |
634 find ${tagslisp} ${PRUNE_VC} -name '*.el' ! -name 'auto-autoloads.el' -print | \ | 634 find ${tagslisp} ${PRUNE_VC} -name '*.el' ! -name 'auto-autoloads.el' -print | \ |
635 xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/" | 635 xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/" |
636 | 636 |
637 info: FRC.info | 637 info: FRC.info |
638 +cd ${srcdir}/man && $(RECURSIVE_MAKE) $@ | 638 cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ |
639 | 639 |
640 dvi: | 640 dvi: |
641 +cd ${srcdir}/man && $(RECURSIVE_MAKE) $@ | 641 cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ |
642 | 642 |
643 ## Fix up version information in executables (Solaris-only) | 643 ## Fix up version information in executables (Solaris-only) |
644 mcs: | 644 mcs: |
645 date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \ | 645 date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \ |
646 ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \ | 646 ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \ |