aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2010-04-06 11:02:09 -0700
committerGravatar Carl Worth <cworth@cworth.org>2010-04-06 14:36:31 -0700
commitb5d8fe278425f7be49b6819e8187efffdffbd836 (patch)
treeb26b37e364131f1fac09a5be31539a9734e6eb31
parente1a84ab1733c78fce8afeef8f022122988fc8a10 (diff)
Makefile: Move the completion-specific commands to completion/Makefile.local
For much better modularity.
-rw-r--r--Makefile2
-rw-r--r--Makefile.local4
-rw-r--r--completion/Makefile7
-rw-r--r--completion/Makefile.local18
4 files changed, 26 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index f3697861..076efc79 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
all:
# List all subdirectories here. Each contains its own Makefile.local
-subdirs = compat emacs lib
+subdirs = compat completion emacs lib
# We make all targets depend on the Makefiles themselves.
global_deps = Makefile Makefile.local \
diff --git a/Makefile.local b/Makefile.local
index 5c264298..16b0103b 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -174,10 +174,6 @@ notmuch.1.gz: notmuch.1
install: all notmuch.1.gz
mkdir -p $(DESTDIR)$(prefix)/share/man/man1
install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
- mkdir -p $(DESTDIR)$(bash_completion_dir)
- install -m0644 contrib/notmuch-completion.bash $(DESTDIR)$(bash_completion_dir)/notmuch
- mkdir -p $(DESTDIR)$(zsh_completion_dir)
- install -m0644 contrib/notmuch-completion.zsh $(DESTDIR)$(zsh_completion_dir)/notmuch
mkdir -p $(DESTDIR)$(prefix)/bin/
install notmuch-shared $(DESTDIR)$(prefix)/bin/notmuch
ifeq ($(MAKECMDGOALS), install)
diff --git a/completion/Makefile b/completion/Makefile
new file mode 100644
index 00000000..b6859eac
--- /dev/null
+++ b/completion/Makefile
@@ -0,0 +1,7 @@
+# See Makfefile.local for the list of files to be compiled in this
+# directory.
+all:
+ $(MAKE) -C .. all
+
+.DEFAULT:
+ $(MAKE) -C .. $@
diff --git a/completion/Makefile.local b/completion/Makefile.local
new file mode 100644
index 00000000..6a6012d4
--- /dev/null
+++ b/completion/Makefile.local
@@ -0,0 +1,18 @@
+# -*- makefile -*-
+
+dir := completion
+
+# The dir variable will be re-assigned to later, so we can't use it
+# directly in any shell commands. Instead we save its value in other,
+# private variables that we can use in the commands.
+bash_script := $(dir)/notmuch-completion.bash
+zsh_script := $(dir)/notmuch-completion.zsh
+
+install: install-$(dir)
+
+install-$(dir):
+ @echo $@
+ mkdir -p $(DESTDIR)$(bash_completion_dir)
+ install -m0644 $(bash_script) $(DESTDIR)$(bash_completion_dir)/notmuch
+ mkdir -p $(DESTDIR)$(zsh_completion_dir)
+ install -m0644 $(zsh_script) $(DESTDIR)$(zsh_completion_dir)/notmuch