emacs: build docstring (rsti) files

These are intended to included in the sphinx manual for notmuch-emacs.
The stamp file makes it easier to depend on the docstrings from other
parts of the build
This commit is contained in:
David Bremner 2018-06-13 21:32:38 -03:00
parent 1ac110c12e
commit 0a9fc49b90
2 changed files with 10 additions and 2 deletions

1
emacs/.gitignore vendored
View file

@ -1,4 +1,5 @@
/.eldeps* /.eldeps*
/*.elc /*.elc
/*.rsti
/notmuch-version.el /notmuch-version.el
/notmuch-pkg.el /notmuch-pkg.el

View file

@ -45,6 +45,10 @@ emacs_images := \
$(srcdir)/$(dir)/notmuch-logo.png $(srcdir)/$(dir)/notmuch-logo.png
emacs_bytecode = $(emacs_sources:.el=.elc) emacs_bytecode = $(emacs_sources:.el=.elc)
emacs_docstrings = $(emacs_sources:.el=.rsti)
docstring.stamp: ${emacs_docstrings}
touch $@
# Because of defmacro's and defsubst's, we have to account for load # Because of defmacro's and defsubst's, we have to account for load
# dependencies between Elisp files when byte compiling. Otherwise, # dependencies between Elisp files when byte compiling. Otherwise,
@ -76,6 +80,8 @@ CLEAN+=$(dir)/.eldeps $(dir)/.eldeps.tmp $(dir)/.eldeps.x
ifeq ($(HAVE_EMACS),1) ifeq ($(HAVE_EMACS),1)
%.elc: %.el $(global_deps) %.elc: %.el $(global_deps)
$(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $< $(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 endif
elpa: $(ELPA_FILE) elpa: $(ELPA_FILE)
@ -93,7 +99,7 @@ endif
ifeq ($(WITH_EMACS),1) ifeq ($(WITH_EMACS),1)
ifeq ($(HAVE_EMACS),1) ifeq ($(HAVE_EMACS),1)
all: $(emacs_bytecode) all: $(emacs_bytecode) $(emacs_docstrings)
install-emacs: $(emacs_bytecode) install-emacs: $(emacs_bytecode)
endif endif
@ -120,4 +126,5 @@ ifeq ($(WITH_DESKTOP),1)
-update-desktop-database "$(DESTDIR)$(desktop_dir)" -update-desktop-database "$(DESTDIR)$(desktop_dir)"
endif 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