aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2010-03-10 10:59:57 -0800
committerGravatar Carl Worth <cworth@cworth.org>2010-03-10 10:59:57 -0800
commit86232e62ab0ed6948de24a6aab5d9f2558171acf (patch)
tree1788f6c87f097d9b8bf8a8911028815efac5bed0 /Makefile
parentf47bec55bda2f4ef745ba6a284545bd8d1f9fbcc (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.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 5 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 7a59ce0a..46f001ce 100644
--- a/Makefile
+++ b/Makefile
@@ -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.