$(srcdir)/$(dir)/notmuch-logo.png
emacs_bytecode = $(emacs_sources:.el=.elc)
+emacs_docstrings = $(emacs_sources:.el=.rsti)
+
+ifneq ($(HAVE_SPHINX)$(WITH_EMACS),11)
+docstring.stamp:
+ @echo "Missing prerequisites, not collecting docstrings"
+else
+docstring.stamp: ${emacs_docstrings}
+ touch $@
+endif
# 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)
+ifeq ($(WITH_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 && \
endif
CLEAN+=$(dir)/.eldeps $(dir)/.eldeps.tmp $(dir)/.eldeps.x
-ifeq ($(HAVE_EMACS),1)
+ifeq ($(WITH_EMACS),1)
%.elc: %.el $(global_deps)
$(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $<
+%.rsti: %.el
+ $(call quiet,EMACS) -batch -L emacs -l rstdoc -f rstdoc-batch-extract $< $@
endif
elpa: $(ELPA_FILE)
rm -r .elpa-build
ifeq ($(WITH_EMACS),1)
-ifeq ($(HAVE_EMACS),1)
-all: $(emacs_bytecode)
+all: $(emacs_bytecode) $(emacs_docstrings)
install-emacs: $(emacs_bytecode)
-endif
install: install-emacs
endif
install-emacs: $(emacs_sources) $(emacs_images)
mkdir -p "$(DESTDIR)$(emacslispdir)"
install -m0644 $(emacs_sources) "$(DESTDIR)$(emacslispdir)"
-ifeq ($(HAVE_EMACS),1)
+ifeq ($(WITH_EMACS),1)
install -m0644 $(emacs_bytecode) "$(DESTDIR)$(emacslispdir)"
endif
mkdir -p "$(DESTDIR)$(emacsetcdir)"
install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
mkdir -p "$(DESTDIR)$(prefix)/bin/"
- install $(emacs_mua) "$(DESTDIR)$(prefix)/bin"
+ifeq ($(HAVE_BASH),1)
+ sed "1s|^#!.*|#! $(BASH_ABSOLUTE)|" < $(emacs_mua) > $(DESTDIR)$(prefix)/bin/notmuch-emacs-mua
+ chmod 755 $(DESTDIR)$(prefix)/bin/notmuch-emacs-mua
+endif
ifeq ($(WITH_DESKTOP),1)
mkdir -p "$(DESTDIR)$(desktop_dir)"
desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop)
-update-desktop-database "$(DESTDIR)$(desktop_dir)"
endif
-CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el $(dir)/notmuch-pkg.el
+CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el $(dir)/notmuch-pkg.el \
+ $(emacs_docstrings) docstring.stamp