Mercurial > emacs
comparison lisp/Makefile.in @ 95557:066448b675c8
($(lisp)/cus-load.el): Remove unnecessary rule.
(custom-deps): Don't require $(lisp)/cus-load.el.
(custom-deps, finder-data): Don't depend on autoloads.
Should not be needed now, and doing so was causing make install to
re-dump emacs post-bootstrap.
(bootstrap-after): Don't run update-elclist, since modifying Makefile.in
mid-build forces some things to be rebuilt.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 05 Jun 2008 02:36:11 +0000 |
parents | 2613c36cf971 |
children | cb95dadcb2de |
comparison
equal
deleted
inserted
replaced
95556:01af78339196 | 95557:066448b675c8 |
---|---|
98 esac; \ | 98 esac; \ |
99 done | 99 done |
100 | 100 |
101 doit: | 101 doit: |
102 | 102 |
103 $(lisp)/cus-load.el: | 103 # custom-deps and finder-data both used to scan _all_ the *.el files. |
104 touch $@ | 104 # Now they avoid auto-generated files, which should avoid this |
105 # Note that custom-deps and finder-data depend on autoloads rather | 105 # historical problem: |
106 # than on loaddefs.el, so that autoloads does not run in parallel with | 106 # In parallel builds, they should not run at the same time as anything |
107 # them under "make -j", because that could delete loaddefs.el from | 107 # else that might modify any .el files, eg autoloads (or each other). |
108 # under their feet. | 108 # One solution was to add autoloads as a prerequisite: |
109 custom-deps: $(emacs-deps) autoloads $(lisp)/cus-load.el doit | 109 # http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00469.html |
110 # http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-12/msg00171.html | |
111 # However, this means that running these targets modifies loaddefs.el, | |
112 # every time (due to time-stamping). Calling these rules from | |
113 # bootstrap-after would modify loaddefs after src/emacs, resulting | |
114 # in make install remaking src/emacs for no real reason: | |
115 # http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg00311.html | |
116 custom-deps: $(emacs-deps) doit | |
110 wd=$(lisp); $(setwins_almost); \ | 117 wd=$(lisp); $(setwins_almost); \ |
111 echo Directories: $$wins; \ | 118 echo Directories: $$wins; \ |
112 $(emacs) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins | 119 $(emacs) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins |
113 | 120 |
114 finder-data: $(emacs-deps) autoloads doit | 121 finder-data: $(emacs-deps) doit |
115 wd=$(lisp); $(setwins_almost); \ | 122 wd=$(lisp); $(setwins_almost); \ |
116 echo Directories: $$wins; \ | 123 echo Directories: $$wins; \ |
117 $(emacs) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins | 124 $(emacs) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins |
118 | 125 |
119 # The chmod +w is to handle env var CVSREAD=1. Files named | 126 # The chmod +w is to handle env var CVSREAD=1. Files named |
1250 # Calling make recursively because suffix rule cannot have prerequisites. | 1257 # Calling make recursively because suffix rule cannot have prerequisites. |
1251 compile: $(emacs-deps) $(LOADDEFS) autoloads compile-first | 1258 compile: $(emacs-deps) $(LOADDEFS) autoloads compile-first |
1252 $(MAKE) $(MFLAGS) compile-main | 1259 $(MAKE) $(MFLAGS) compile-main |
1253 $(MAKE) $(MFLAGS) compile-last | 1260 $(MAKE) $(MFLAGS) compile-last |
1254 | 1261 |
1262 ## Doing this causes make install to dump another emacs. | |
1263 # $(MAKE) $(MFLAGS) update-elclist | |
1264 | |
1255 # Compile all Lisp files. This is like `compile' but compiles files | 1265 # Compile all Lisp files. This is like `compile' but compiles files |
1256 # unconditionally. Some files don't actually get compiled because they | 1266 # unconditionally. Some files don't actually get compiled because they |
1257 # set the local variable no-byte-compile. | 1267 # set the local variable no-byte-compile. |
1258 compile-always: doit | 1268 compile-always: doit |
1259 cd $(lisp); rm -f *.elc */*.elc | 1269 cd $(lisp); rm -f *.elc */*.elc |
1403 bootstrap: update-subdirs autoloads compile | 1413 bootstrap: update-subdirs autoloads compile |
1404 | 1414 |
1405 # Generate/update files after the bootstrap process. | 1415 # Generate/update files after the bootstrap process. |
1406 # custom-deps needs `preloaded-file-list'. | 1416 # custom-deps needs `preloaded-file-list'. |
1407 | 1417 |
1408 bootstrap-after: finder-data custom-deps update-elclist | 1418 bootstrap-after: finder-data custom-deps |
1409 | 1419 |
1410 distclean: | 1420 distclean: |
1411 -rm -f ./Makefile | 1421 -rm -f ./Makefile |
1412 | 1422 |
1413 .PHONY: check-declare | 1423 .PHONY: check-declare |