mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
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.
This commit is contained in:
parent
f47bec55bd
commit
86232e62ab
4 changed files with 10 additions and 14 deletions
13
Makefile
13
Makefile
|
@ -10,9 +10,6 @@ gzip = gzip
|
||||||
bash_completion_dir = /etc/bash_completion.d
|
bash_completion_dir = /etc/bash_completion.d
|
||||||
zsh_completion_dir = /usr/share/zsh/functions/Completion/Unix
|
zsh_completion_dir = /usr/share/zsh/functions/Completion/Unix
|
||||||
|
|
||||||
global_deps = Makefile Makefile.local Makefile.config \
|
|
||||||
lib/Makefile lib/Makefile.local
|
|
||||||
|
|
||||||
extra_cflags :=
|
extra_cflags :=
|
||||||
extra_cxxflags :=
|
extra_cxxflags :=
|
||||||
|
|
||||||
|
@ -44,12 +41,12 @@ Makefile.config: configure
|
||||||
@echo ""
|
@echo ""
|
||||||
./configure
|
./configure
|
||||||
|
|
||||||
include Makefile.config
|
subdirs = compat emacs lib
|
||||||
|
|
||||||
include lib/Makefile.local
|
global_deps = Makefile Makefile.config Makefile.local \
|
||||||
include compat/Makefile.local
|
$(subdirs:%=%/Makefile) $(subdirs:%=%/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
|
# The user has not set any verbosity, default to quiet mode and inform the
|
||||||
# user how to enable verbose compiles.
|
# user how to enable verbose compiles.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
dir=compat
|
dir := compat
|
||||||
extra_cflags += -I$(dir)
|
extra_cflags += -I$(dir)
|
||||||
|
|
||||||
notmuch_compat_srcs =
|
notmuch_compat_srcs =
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
dir=emacs
|
dir := emacs
|
||||||
emacs_sources= \
|
emacs_sources := $(dir)/notmuch.el
|
||||||
$(dir)/notmuch.el
|
|
||||||
|
|
||||||
emacs_bytecode=$(subst .el,.elc,$(emacs_sources))
|
emacs_bytecode := $(subst .el,.elc,$(emacs_sources))
|
||||||
|
|
||||||
emacs: $(emacs_bytecode)
|
emacs: $(emacs_bytecode)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
dir=lib
|
dir := lib
|
||||||
extra_cflags += -I$(dir)
|
extra_cflags += -I$(dir)
|
||||||
|
|
||||||
libnotmuch_c_srcs = \
|
libnotmuch_c_srcs = \
|
||||||
|
|
Loading…
Reference in a new issue