mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-23 11:28:13 +01:00
f2a3d9799d
If we don't have emacs, disable targets that used EMACS while doing the recipes of that target. If we do have emacs, make install-emacs depend on *.elc files, as making the target will attempt to install those.
65 lines
1.8 KiB
Makefile
65 lines
1.8 KiB
Makefile
# -*- makefile -*-
|
|
|
|
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 \
|
|
$(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
|
|
|
|
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 && \
|
|
(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
|
|
endif
|
|
|
|
.PHONY: install-emacs
|
|
install-emacs:
|
|
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)
|