'make clean' does NOT remove autogenerated headers generated from arch/s390/kernel/syscalls/. For example: asm-offsets.h irq_regs.h irq_work.h unistd_nr.h But 'make clean' DOES currently remove dis-defs.h and facility-defs.h generated from arch/s390/tools/. The issue is that facility-defs.h is included from <asm/facility.h> and builds of external modules fail due to missing header. (When cleaned build directory is used.) Fix this by adding these targets to no-clean-files. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Cc: Michal Marek <michal.lkml@xxxxxxxxxxx> Cc: linux-kbuild@xxxxxxxxxxxxxxx Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: linux-s390@xxxxxxxxxxxxxxx --- I would love to see comments from KBuild guys as I am not sure if this fix is correct at all. arch/s390/tools/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/s390/tools/Makefile b/arch/s390/tools/Makefile index 2342b84b3386..984b2f43651e 100644 --- a/arch/s390/tools/Makefile +++ b/arch/s390/tools/Makefile @@ -7,6 +7,7 @@ kapi := arch/$(ARCH)/include/generated/asm kapi-hdrs-y := $(kapi)/facility-defs.h $(kapi)/dis-defs.h targets += $(addprefix ../../../,$(kapi-hdrs-y)) +no-clean-files += $(targets) PHONY += kapi kapi: $(kapi-hdrs-y) -- 2.21.0