From 86232e62ab0ed6948de24a6aab5d9f2558171acf Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 10 Mar 2010 10:59:57 -0800 Subject: 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. --- Makefile | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'Makefile') 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. -- cgit v1.2.3