unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob d1b320c33d28a7303c4977ad692daf5da03ef5ae 4470 bytes (raw)
name: emacs/Makefile.local 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
 
# -*- makefile-gmake -*-

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-draft.el

elpa_sources := ${emacs_sources} $(dir)/notmuch-pkg.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)"/' $< > $@

$(dir)/notmuch-pkg.el: $(srcdir)/$(dir)/notmuch-pkg.el.tmpl
	@sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
	     -e 's/%VERSION%/"$(ELPA_VERSION)"/' $< > $@

all: $(dir)/notmuch-pkg.el
install-emacs: $(dir)/notmuch-pkg.el

emacs_mua := $(dir)/notmuch-emacs-mua
emacs_mua_desktop := $(dir)/notmuch-emacs-mua.desktop

emacs_images := \
	$(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 ($(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 && \
		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 ($(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)

ELPA_DIR=.elpa-build/notmuch-${ELPA_VERSION}
notmuch-emacs-%.tar: ${elpa_sources} build-info
	mkdir -p .elpa-build/notmuch-${ELPA_VERSION}
	cp ${elpa_sources} ${ELPA_DIR}
ifeq ($(HAVE_SPHINX)$(HAVE_MAKEINFO)$(HAVE_INSTALL_INFO),111)
	cp ${INFO_INFO_FILES} ${ELPA_DIR}
	for file in ${INFO_INFO_FILES}; do install-info $$file ${ELPA_DIR}/dir; done
endif
	tar -C .elpa-build -cf $@ notmuch-${ELPA_VERSION}
	rm -r .elpa-build

ifeq ($(WITH_EMACS),1)
all: $(emacs_bytecode) $(emacs_docstrings)
install-emacs: $(emacs_bytecode)

install: install-emacs
endif

.PHONY: install-emacs
install-emacs: $(emacs_sources) $(emacs_images)
	mkdir -p "$(DESTDIR)$(emacslispdir)"
	install -m0644 $(emacs_sources) "$(DESTDIR)$(emacslispdir)"
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/"
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 \
	$(emacs_docstrings) docstring.stamp

debug log:

solving d1b320c3 ...
found d1b320c3 in https://yhetil.org/notmuch.git/

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).