mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 01:14:53 +01:00
Makefile: Eliminate the "make install-emacs" target.
Instead, simply byte-compile the emacs source files as part of "make" and install them as part of "make install". The byte compilation is made conditional on the configure script finding the emacs binary. That way, "make; make install" will still work for someone that doesn't have emacs installed, (which was the only reason we had made a separate "make install-emacs" target in the first place).
This commit is contained in:
parent
f89b3d16db
commit
a5ed8c68f6
3 changed files with 32 additions and 18 deletions
|
@ -118,9 +118,6 @@ quiet ?= $($(shell echo $1 | sed -e s'/ .*//'))
|
|||
%.o: %.c $(global_deps)
|
||||
$(call quiet,CC $(CFLAGS)) -c $(FINAL_CFLAGS) $< -o $@
|
||||
|
||||
%.elc: %.el
|
||||
$(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $<
|
||||
|
||||
.deps/%.d: %.c $(global_deps)
|
||||
@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
|
||||
$(CC) -M $(CPPFLAGS) $(FINAL_CFLAGS) $< > $@.$$$$ 2>/dev/null ; \
|
||||
|
@ -183,12 +180,17 @@ install: all notmuch.1.gz
|
|||
install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
|
||||
ifeq ($(MAKECMDGOALS), install)
|
||||
@echo ""
|
||||
@echo "Notmuch is now installed."
|
||||
@echo "Notmuch is now installed to $(DESTDIR)$(prefix)"
|
||||
@echo ""
|
||||
@echo "To run notmuch from emacs, each user should add the following line to ~/.emacs:"
|
||||
@echo ""
|
||||
@echo " (require 'notmuch)"
|
||||
@echo ""
|
||||
@echo "And should then run \"M-x notmuch\" from within emacs or run \"emacs -f notmuch\""
|
||||
@echo ""
|
||||
@echo "You may now want to install additional components to support using notmuch"
|
||||
@echo "together with other software packages:"
|
||||
@echo ""
|
||||
@echo " make install-emacs"
|
||||
@echo " make install-bash"
|
||||
@echo " make install-zsh"
|
||||
@echo ""
|
||||
|
|
12
configure
vendored
12
configure
vendored
|
@ -175,6 +175,15 @@ else
|
|||
emacs_lispdir='$(prefix)/share/emacs/site-lisp'
|
||||
fi
|
||||
|
||||
printf "Checking if emacs is available... "
|
||||
if emacs --quick --batch > /dev/null 2>&1; then
|
||||
printf "Yes.\n"
|
||||
have_emacs=1
|
||||
else
|
||||
printf "No (so will not byte-compile emacs code)\n"
|
||||
have_emacs=0
|
||||
fi
|
||||
|
||||
if [ $errors -gt 0 ]; then
|
||||
cat <<EOF
|
||||
|
||||
|
@ -300,6 +309,9 @@ libdir = ${LIBDIR:=\$(prefix)/lib}
|
|||
# The directory to which emacs lisp files should be installed
|
||||
emacs_lispdir=${emacs_lispdir}
|
||||
|
||||
# Whether there's an emacs binary available for byte-compiling
|
||||
HAVE_EMACS = ${have_emacs}
|
||||
|
||||
# The directory to which desktop files should be installed
|
||||
desktop_dir = \$(prefix)/share/applications
|
||||
|
||||
|
|
|
@ -9,21 +9,21 @@ emacs_sources := \
|
|||
|
||||
emacs_bytecode := $(subst .el,.elc,$(emacs_sources))
|
||||
|
||||
.PHONY: emacs
|
||||
emacs: $(emacs_bytecode)
|
||||
%.elc: %.el
|
||||
$(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $<
|
||||
|
||||
ifeq ($(HAVE_EMACS),1)
|
||||
all: $(emacs_bytecode)
|
||||
endif
|
||||
|
||||
install: install-emacs
|
||||
|
||||
.PHONY: install-emacs
|
||||
install-emacs: install emacs
|
||||
install-emacs:
|
||||
mkdir -p $(DESTDIR)/$(emacs_lispdir)
|
||||
install -m0644 $(emacs_sources) $(emacs_bytecode) $(DESTDIR)$(emacs_lispdir)
|
||||
@echo ""
|
||||
@echo "The notmuch emacs client is now installed."
|
||||
@echo ""
|
||||
@echo "To run this, each user should add the following line to the ~/.emacs file:"
|
||||
@echo ""
|
||||
@echo " (require 'notmuch)"
|
||||
@echo ""
|
||||
@echo "And should then run \"M-x notmuch\" from within emacs or run \"emacs -f notmuch\""
|
||||
@echo ""
|
||||
install -m0644 $(emacs_sources) $(DESTDIR)$(emacs_lispdir)
|
||||
ifeq ($(HAVE_EMACS),1)
|
||||
install -m0644 $(emacs_bytecode) $(DESTDIR)$(emacs_lispdir)
|
||||
endif
|
||||
|
||||
CLEAN := $(CLEAN) $(emacs_bytecode)
|
||||
|
|
Loading…
Reference in a new issue