I am eagar to build under the scripts/ directory only with $(HOSTCC), but scripts/mod/ highly depends on the $(CC) and target arch headers. That it why the 'scripts' target must depend on 'asm-generic', 'gcc-plugins', and $(autoksyms_h). Move it to the 'prepare0' stage. I know this is a cheesy workaround, but better than the current situation.
Unified · Split
| @@ -1075,7 +1075,7 @@ include/config/kernel.release: $(srctree)/Makefile FORCE · 1074 unmodified lines | ||
| 1075 | 1075 | # Carefully list dependencies so we do not try to build scripts twice |
| 1076 | 1076 | # in parallel |
| 1077 | 1077 | PHONY += scripts |
| 1078 | −scripts: scripts_basic scripts_dtc asm-generic gcc-plugins $(autoksyms_h) | |
| 1078 | +scripts: scripts_basic scripts_dtc | |
| 1079 | 1079 | $(Q)$(MAKE) $(build)=$(@) |
| 1080 | 1080 | |
| 1081 | 1081 | # Things we need to do before we recursively start building the kernel |
| @@ -1113,6 +1113,7 @@ macroprepare: prepare1 archmacros · 31 unmodified lines | ||
| 1113 | 1113 | archprepare: archheaders archscripts macroprepare scripts_basic gcc-plugins |
| 1114 | 1114 | |
| 1115 | 1115 | prepare0: archprepare |
| 1116 | + $(Q)$(MAKE) $(build)=scripts/mod | |
| 1116 | 1117 | $(Q)$(MAKE) $(build)=. |
| 1117 | 1118 | |
| 1118 | 1119 | # All the preparing.. |
| @@ -37,9 +37,8 @@ build_unifdef: $(obj)/unifdef · 36 unmodified lines | ||
| 37 | 37 | @: |
| 38 | 38 | |
| 39 | 39 | subdir-$(CONFIG_MODVERSIONS) += genksyms |
| 40 | −subdir-y += mod | |
| 41 | 40 | subdir-$(CONFIG_SECURITY_SELINUX) += selinux |
| 42 | 41 | subdir-$(CONFIG_GDB_SCRIPTS) += gdb |
| 43 | 42 | |
| 44 | 43 | # Let clean descend into subdirs |
| 45 | −subdir- += basic dtc kconfig package gcc-plugins | |
| 44 | +subdir- += basic dtc kconfig mod package gcc-plugins | |
| @@ -4,8 +4,6 @@ OBJECT_FILES_NON_STANDARD := y · 3 unmodified lines | ||
| 4 | 4 | hostprogs-y := modpost mk_elfconfig |
| 5 | 5 | always := $(hostprogs-y) empty.o |
| 6 | 6 | |
| 7 | −CFLAGS_REMOVE_empty.o := $(ASM_MACRO_FLAGS) | |
| 8 | − | |
| 9 | 7 | modpost-objs := modpost.o file2alias.o sumversion.o |
| 10 | 8 | |
| 11 | 9 | devicetable-offsets-file := devicetable-offsets.h |