]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/Makefile.local
Merge tag 'debian/0.17-4'
[notmuch] / emacs / Makefile.local
index fb82247f32e51a294e58d03f805fd235603221d8..42bfbd96c78dee4a4e06cc5bb50208861c692edc 100644 (file)
@@ -3,9 +3,11 @@
 dir := emacs
 emacs_sources := \
        $(dir)/notmuch-lib.el \
+       $(dir)/notmuch-parser.el \
        $(dir)/notmuch.el \
        $(dir)/notmuch-query.el \
        $(dir)/notmuch-show.el \
+       $(dir)/notmuch-tree.el \
        $(dir)/notmuch-wash.el \
        $(dir)/notmuch-hello.el \
        $(dir)/notmuch-mua.el \
@@ -22,12 +24,29 @@ emacs_images := \
 
 emacs_bytecode = $(emacs_sources:.el=.elc)
 
+# Because of defmacro's and defsubst's, we have to account for load
+# dependencies between Elisp files when byte compiling.  Otherwise,
+# the byte compiler may load an old .elc file when processing a
+# "require" or we may fail to rebuild a .elc that depended on a macro
+# from an updated file.
+ifeq ($(HAVE_EMACS),1)
+$(dir)/.eldeps: $(dir)/Makefile.local $(dir)/make-deps.el $(emacs_sources)
+       $(call quiet,EMACS) --directory emacs -batch -l make-deps.el \
+               -f batch-make-deps $(emacs_sources) > $@.tmp && \
+               (cmp -s $@.tmp $@ || mv $@.tmp $@)
+-include $(dir)/.eldeps
+endif
+CLEAN+=$(dir)/.eldeps $(dir)/.eldeps.tmp
+
+ifeq ($(HAVE_EMACS),1)
 %.elc: %.el $(global_deps)
        $(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $<
+endif
 
 ifeq ($(WITH_EMACS),1)
 ifeq ($(HAVE_EMACS),1)
 all: $(emacs_bytecode)
+install-emacs: $(emacs_bytecode)
 endif
 
 install: install-emacs