mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
a3e712fa86
Some of the recent changes to the emacs code have used functions introduced in emacs 24. The functions used are read-char-choice and setq-local. This changeset adds a file notmuch-compat.el which contains compatibility functions so that it should work on emacs 23. Note, since these functions are taken almost unchanged from the emacs source they are copyright the Free Software Foundation, and the header in the file reflects that.
88 lines
2.8 KiB
Makefile
88 lines
2.8 KiB
Makefile
# -*- makefile -*-
|
|
|
|
dir := emacs
|
|
emacs_sources := \
|
|
$(dir)/notmuch-lib.el \
|
|
$(dir)/notmuch-compat.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 \
|
|
$(dir)/notmuch-address.el \
|
|
$(dir)/notmuch-maildir-fcc.el \
|
|
$(dir)/notmuch-message.el \
|
|
$(dir)/notmuch-crypto.el \
|
|
$(dir)/notmuch-tag.el \
|
|
$(dir)/coolj.el \
|
|
$(dir)/notmuch-print.el \
|
|
$(dir)/notmuch-version.el \
|
|
$(dir)/notmuch-jump.el \
|
|
$(dir)/notmuch-company.el
|
|
|
|
$(dir)/notmuch-version.el: $(dir)/Makefile.local version.stamp
|
|
$(dir)/notmuch-version.el: $(srcdir)/$(dir)/notmuch-version.el.tmpl
|
|
@sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
|
|
-e 's/%VERSION%/"$(VERSION)"/' $< > $@
|
|
|
|
|
|
emacs_images := \
|
|
$(srcdir)/$(dir)/notmuch-logo.png
|
|
|
|
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 && \
|
|
mv $@.tmp $@
|
|
# We could include .eldeps directly, but that would cause a make
|
|
# restart whenever any .el file was modified, even if dependencies
|
|
# didn't change, because the mtime of .eldeps will change. Instead,
|
|
# we include a second file, .eldeps.x, which we ensure always has the
|
|
# same content as .eldeps, but its mtime only changes when dependency
|
|
# information changes, in which case a make restart is necessary
|
|
# anyway.
|
|
$(dir)/.eldeps.x: $(dir)/.eldeps
|
|
@cmp -s $^ $@ || cp $^ $@
|
|
-include $(dir)/.eldeps.x
|
|
|
|
# Add the one dependency make-deps.el does not have visibility to.
|
|
$(dir)/notmuch-lib.elc: $(dir)/notmuch-version.elc
|
|
|
|
endif
|
|
CLEAN+=$(dir)/.eldeps $(dir)/.eldeps.tmp $(dir)/.eldeps.x
|
|
|
|
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
|
|
endif
|
|
|
|
.PHONY: install-emacs
|
|
install-emacs: $(emacs_sources) $(emacs_images)
|
|
mkdir -p "$(DESTDIR)$(emacslispdir)"
|
|
install -m0644 $(emacs_sources) "$(DESTDIR)$(emacslispdir)"
|
|
ifeq ($(HAVE_EMACS),1)
|
|
install -m0644 $(emacs_bytecode) "$(DESTDIR)$(emacslispdir)"
|
|
endif
|
|
mkdir -p "$(DESTDIR)$(emacsetcdir)"
|
|
install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
|
|
|
|
CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
|