aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2015-01-11 18:19:31 -0800
committerPaul Eggert2015-01-11 18:20:08 -0800
commitd703a4dce564ede122f5c307889e4bd0e3f3e75c (patch)
tree6be10648eb114dd29cadcb9be10096920e8d6e9a
parentc2774f3733a7bdd58616b42da172d1b32932dd03 (diff)
downloademacs-d703a4dce564ede122f5c307889e4bd0e3f3e75c.tar.gz
emacs-d703a4dce564ede122f5c307889e4bd0e3f3e75c.zip
Have 'make' output better GEN names
* lisp/Makefile.in (PHONY_EXTRAS): New macro. (.PHONY): Depend on it, and on $(lisp)/loaddefs.el, so that the relevant files' time stamps are ignored. (custom-deps, $(lisp)/cus-load.el, finder-data) ($(lisp)/finder-inf.el): Use PHONY_EXTRAS. (custom-deps, $(lisp)/cus-load.el, finder-data) ($(lisp)/finder-inf.el, autoloads, $(lisp)/loaddefs.el) ($(lisp)/subdirs.el, update-subdirs): Output more-accurate destination names with GEN. * src/Makefile.in (gl-stamp, globals.h): Simplify by putting the new contents of globals.h into gl-stamp. This lets us use AM_V_GEN more naturally so that 'make' can output more-accurate names.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/Makefile.in21
-rw-r--r--src/ChangeLog7
-rw-r--r--src/Makefile.in9
4 files changed, 34 insertions, 14 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7a208225d40..6a478537532 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,16 @@
12015-01-12 Paul Eggert <eggert@cs.ucla.edu> 12015-01-12 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Have 'make' output better GEN names
4 * Makefile.in (PHONY_EXTRAS): New macro.
5 (.PHONY): Depend on it, and on $(lisp)/loaddefs.el, so that the
6 relevant files' time stamps are ignored.
7 (custom-deps, $(lisp)/cus-load.el, finder-data)
8 ($(lisp)/finder-inf.el): Use PHONY_EXTRAS.
9 (custom-deps, $(lisp)/cus-load.el, finder-data)
10 ($(lisp)/finder-inf.el, autoloads, $(lisp)/loaddefs.el)
11 ($(lisp)/subdirs.el, update-subdirs):
12 Output more-accurate destination names with GEN.
13
3 Say "ELC foo.elc" instead of "GEN foo.elc" 14 Say "ELC foo.elc" instead of "GEN foo.elc"
4 * Makefile.in (AM_V_ELC, am__v_ELC_, am__v_ELC_0, am__v_ELC_1): 15 * Makefile.in (AM_V_ELC, am__v_ELC_, am__v_ELC_0, am__v_ELC_1):
5 New macros. 16 New macros.
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index bb61cab8875..7bf53861e71 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -150,7 +150,8 @@ setwins_for_subdirs=for file in `find ${srcdir} -type d -print`; do \
150# we add them here to make sure they get built. 150# we add them here to make sure they get built.
151all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el 151all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el
152 152
153.PHONY: all custom-deps finder-data autoloads update-subdirs 153PHONY_EXTRAS =
154.PHONY: all custom-deps finder-data autoloads update-subdirs $(PHONY_EXTRAS)
154 155
155# custom-deps and finder-data both used to scan _all_ the *.el files. 156# custom-deps and finder-data both used to scan _all_ the *.el files.
156# This could lead to problems in parallel builds if automatically 157# This could lead to problems in parallel builds if automatically
@@ -166,18 +167,19 @@ all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el
166# Nowadays these commands don't scan automatically generated files, 167# Nowadays these commands don't scan automatically generated files,
167# since they will never contain any useful information 168# since they will never contain any useful information
168# (see finder-no-scan-regexp and custom-dependencies-no-scan-regexp). 169# (see finder-no-scan-regexp and custom-dependencies-no-scan-regexp).
169$(lisp)/cus-load.el:
170 $(MAKE) custom-deps
171custom-deps: 170custom-deps:
171 $(AM_V_at)$(MAKE) PHONY_EXTRAS=$(lisp)/cus-load.el $(lisp)/cus-load.el
172$(lisp)/cus-load.el:
172 $(AM_V_GEN)$(setwins_almost); \ 173 $(AM_V_GEN)$(setwins_almost); \
173 echo Directories: $$wins; \ 174 echo Directories: $$wins; \
174 $(emacs) -l cus-dep \ 175 $(emacs) -l cus-dep \
175 --eval '(setq generated-custom-dependencies-file (unmsys--file-name "$(srcdir)/cus-load.el"))' \ 176 --eval '(setq generated-custom-dependencies-file (unmsys--file-name "$(srcdir)/cus-load.el"))' \
176 -f custom-make-dependencies $$wins 177 -f custom-make-dependencies $$wins
177 178
178$(lisp)/finder-inf.el:
179 $(MAKE) finder-data
180finder-data: 179finder-data:
180 $(AM_V_at)$(MAKE) PHONY_EXTRAS=$(lisp)/finder-inf.el \
181 $(lisp)/finder-inf.el
182$(lisp)/finder-inf.el:
181 $(AM_V_GEN)$(setwins_finder); \ 183 $(AM_V_GEN)$(setwins_finder); \
182 echo Directories: $$wins; \ 184 echo Directories: $$wins; \
183 $(emacs) -l finder \ 185 $(emacs) -l finder \
@@ -190,21 +192,22 @@ finder-data:
190# Note that we set no-update-autoloads in _generated_ leim files. 192# Note that we set no-update-autoloads in _generated_ leim files.
191# If you want to allow autoloads in such files, remove that, 193# If you want to allow autoloads in such files, remove that,
192# and make this depend on leim. 194# and make this depend on leim.
193autoloads: $(LOADDEFS) 195autoloads .PHONY: $(lisp)/loaddefs.el
196$(lisp)/loaddefs.el: $(LOADDEFS)
194 $(AM_V_GEN)$(setwins_almost); \ 197 $(AM_V_GEN)$(setwins_almost); \
195 echo Directories: $$wins; \ 198 echo Directories: $$wins; \
196 $(emacs) -l autoload \ 199 $(emacs) -l autoload \
197 --eval '(setq autoload-ensure-writable t)' \ 200 --eval '(setq autoload-ensure-writable t)' \
198 --eval '(setq autoload-builtin-package-versions t)' \ 201 --eval '(setq autoload-builtin-package-versions t)' \
199 --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \ 202 --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$@")))' \
200 -f batch-update-autoloads $$wins 203 -f batch-update-autoloads $$wins
201 204
202# This is required by the bootstrap-emacs target in ../src/Makefile, so 205# This is required by the bootstrap-emacs target in ../src/Makefile, so
203# we know that if we have an emacs executable, we also have a subdirs.el. 206# we know that if we have an emacs executable, we also have a subdirs.el.
204$(lisp)/subdirs.el: 207$(lisp)/subdirs.el:
205 $(MAKE) update-subdirs 208 $(AM_V_GEN)$(MAKE) update-subdirs
206update-subdirs: 209update-subdirs:
207 $(AM_V_GEN)$(setwins_for_subdirs); \ 210 $(AM_V_at)$(setwins_for_subdirs); \
208 for file in $$wins; do \ 211 for file in $$wins; do \
209 $(srcdir)/../build-aux/update-subdirs $$file; \ 212 $(srcdir)/../build-aux/update-subdirs $$file; \
210 done; 213 done;
diff --git a/src/ChangeLog b/src/ChangeLog
index 3767622836e..75e9ad51835 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12015-01-12 Paul Eggert <eggert@cs.ucla.edu>
2
3 Have 'make' output better GEN names
4 * Makefile.in (gl-stamp, globals.h): Simplify by putting the new
5 contents of globals.h into gl-stamp. This lets us use AM_V_GEN
6 more naturally so that 'make' can output more-accurate names.
7
12015-01-11 Stefan Monnier <monnier@iro.umontreal.ca> 82015-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
2 9
3 * buffer.c (init_buffer_once): Initialize buffer_local_flags before 10 * buffer.c (init_buffer_once): Initialize buffer_local_flags before
diff --git a/src/Makefile.in b/src/Makefile.in
index a2754eadacd..2ac34f5c44d 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -492,14 +492,13 @@ buildobj.h: Makefile
492 done >$@.tmp 492 done >$@.tmp
493 $(AM_V_at)mv $@.tmp $@ 493 $(AM_V_at)mv $@.tmp $@
494 494
495globals.h: gl-stamp; @true
496
497GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m) 495GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
498 496
499gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES) 497gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
500 $(AM_V_GEN)$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > gl.tmp 498 $(AM_V_GEN)$(libsrc)/make-docfile -d $(srcdir) -g $(obj) >$@
501 $(AM_V_at)$(top_srcdir)/build-aux/move-if-change gl.tmp globals.h 499
502 $(AM_V_at)echo timestamp > $@ 500globals.h: gl-stamp
501 $(AM_V_GEN)cmp $< $@ >/dev/null || cp $< $@
503 502
504$(ALLOBJS): globals.h 503$(ALLOBJS): globals.h
505 504