On Tue, Nov 16 2021, Mike Hommey wrote: > On Thu, Sep 23, 2021 at 12:30:03PM +0200, Ævar Arnfjörð Bjarmason wrote: >> -builtin/help.sp builtin/help.s builtin/help.o: config-list.h GIT-PREFIX >> +hook.sp hook.s hook.o: hook-list.h >> + >> +builtin/help.sp builtin/help.s builtin/help.o: config-list.h hook-list.h GIT-PREFIX > > hook-list.h is only included from buitin/bugreport.c, so > builtin/bugreport.o should be the one with the hook-list.h dependency, > shouldn't it? Well spotted, yes. This is a mistake. I think from some earlier WIP version of the series. In practice we don't really miss dependencies due to these sorts of mistakes since we use the .depends files, i.e. GCC & Clang figure this out for us: $ grep hook-list .depend/* */.depend/* builtin/.depend/bugreport.o.d: compat/compiler.h git-compat-util.h hook.h hook-list.h builtin/.depend/bugreport.o.d:hook-list.h: But we do over-depend a bit, if you touch hook-list.h and make builtin/help.o we'll re-generate it due to this line. If you or anyone else is more generally interested in the Makefile I'd really like to get some reviews over at: https://lore.kernel.org/git/cover-v2-00.18-00000000000-20211112T214150Z-avarab@xxxxxxxxx/ I've got some follow-up work that solve these dependencies more generally, e.g. in this case we should really not need to slavishly maintain these fallback dependency lists by hand, or have automated ways of validating their correctness.