On 30/10/2018 04:32, Masahiro Yamada wrote: > Instead of specifying target/source pairs, let's list patterns that we > want to handle as single targets. This slightly changes the behavior; > the top Makefile previously checked the presence of a source file, > now Kbuild will descend into a subdirectory anyway to find out what to > do there. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > --- > > Makefile | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/Makefile b/Makefile > index be76e6e..7d13add 100644 > --- a/Makefile > +++ b/Makefile > @@ -1713,21 +1713,7 @@ else > target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) > endif > > -%.s: %.c prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.i: %.c prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.o: %.c prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.lst: %.c prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.s: %.S prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.o: %.S prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.symtypes: %.c prepare scripts FORCE > - $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > -%.ll: %.c prepare scripts FORCE > +%.i %.ll %.lst %.o %.s %.symtypes: prepare scripts FORCE > $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) > > # Modules On one of my build machines (an older ubuntu 14.04 machine), this is commit is causing 'make mrproper' or 'make distclean' to fail. Reverting this commit fixes the problem. $ make mrproper Error: kernelrelease not valid - run 'make prepare' to update it CC kernel/bounds.s In file included from <command-line>:0:0: ././include/linux/kconfig.h:5:32: fatal error: generated/autoconf.h: No such file or directory #include <generated/autoconf.h> ^ compilation terminated. make[1]: *** [kernel/bounds.s] Error 1 make: *** [prepare0] Error 2 FWIW, this machine has ... $ make --version GNU Make 3.81 Cheers Jon -- nvpublic