diff options
author | Carl Worth <cworth@cworth.org> | 2010-03-10 10:59:57 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-03-10 10:59:57 -0800 |
commit | 86232e62ab0ed6948de24a6aab5d9f2558171acf (patch) | |
tree | 1788f6c87f097d9b8bf8a8911028815efac5bed0 | |
parent | f47bec55bda2f4ef745ba6a284545bd8d1f9fbcc (diff) |
Makefile: Fix Makefiles to depend on all child Makefile fragments.
We were previously maintaining two lists of the child Makefile
fragments---one for the includes and another for the dependencies. So,
of course, they drifted and the dependency list wasn't up to date.
We fix this by adding a single subdirs variable, and then using GNU
Makefile substitution to generate both the include and the dependency
lists.
Some side effect of this change caused the '=' assignment of the dir
variable to not work anymore. I'm not sure why that is, but using ':='
makes sense here and fixes the problem.
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | compat/Makefile.local | 2 | ||||
-rw-r--r-- | emacs/Makefile.local | 7 | ||||
-rw-r--r-- | lib/Makefile.local | 2 |
4 files changed, 10 insertions, 14 deletions
@@ -10,9 +10,6 @@ gzip = gzip bash_completion_dir = /etc/bash_completion.d zsh_completion_dir = /usr/share/zsh/functions/Completion/Unix -global_deps = Makefile Makefile.local Makefile.config \ - lib/Makefile lib/Makefile.local - extra_cflags := extra_cxxflags := @@ -44,12 +41,12 @@ Makefile.config: configure @echo "" ./configure -include Makefile.config +subdirs = compat emacs lib + +global_deps = Makefile Makefile.config Makefile.local \ + $(subdirs:%=%/Makefile) $(subdirs:%=%/Makefile.local) -include lib/Makefile.local -include compat/Makefile.local -include emacs/Makefile.local -include Makefile.local +include Makefile.config Makefile.local $(subdirs:%=%/Makefile.local) # The user has not set any verbosity, default to quiet mode and inform the # user how to enable verbose compiles. diff --git a/compat/Makefile.local b/compat/Makefile.local index ccc59aef..17b45140 100644 --- a/compat/Makefile.local +++ b/compat/Makefile.local @@ -1,4 +1,4 @@ -dir=compat +dir := compat extra_cflags += -I$(dir) notmuch_compat_srcs = diff --git a/emacs/Makefile.local b/emacs/Makefile.local index b895d11a..17ede863 100644 --- a/emacs/Makefile.local +++ b/emacs/Makefile.local @@ -1,8 +1,7 @@ -dir=emacs -emacs_sources= \ - $(dir)/notmuch.el +dir := emacs +emacs_sources := $(dir)/notmuch.el -emacs_bytecode=$(subst .el,.elc,$(emacs_sources)) +emacs_bytecode := $(subst .el,.elc,$(emacs_sources)) emacs: $(emacs_bytecode) diff --git a/lib/Makefile.local b/lib/Makefile.local index 70489e17..495b27e0 100644 --- a/lib/Makefile.local +++ b/lib/Makefile.local @@ -1,4 +1,4 @@ -dir=lib +dir := lib extra_cflags += -I$(dir) libnotmuch_c_srcs = \ |