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 | # Carefully list dependencies so we do not try to build scripts twice | 1075 | # Carefully list dependencies so we do not try to build scripts twice |
| 1076 | # in parallel | 1076 | # in parallel |
| 1077 | PHONY += scripts | 1077 | PHONY += scripts |
| 1078 | scripts: scripts_basic scripts_dtc asm-generic gcc-plugins $(autoksyms_h) | 1078 | scripts: scripts_basic scripts_dtc |
| 1079 | $(Q)$(MAKE) $(build)=$(@) | 1079 | $(Q)$(MAKE) $(build)=$(@) |
| 1080 | 1080 | ||
| 1081 | # Things we need to do before we recursively start building the kernel | 1081 | # Things we need to do before we recursively start building the kernel |
| @@ -1113,6 +1113,7 @@ macroprepare: prepare1 archmacros · 31 unmodified lines | |||
| 1113 | archprepare: archheaders archscripts macroprepare scripts_basic gcc-plugins | 1113 | archprepare: archheaders archscripts macroprepare scripts_basic gcc-plugins |
| 1114 | 1114 | ||
| 1115 | prepare0: archprepare | 1115 | prepare0: archprepare |
| 1116 | $(Q)$(MAKE) $(build)=scripts/mod | ||
| 1116 | $(Q)$(MAKE) $(build)=. | 1117 | $(Q)$(MAKE) $(build)=. |
| 1117 | 1118 | ||
| 1118 | # All the preparing.. | 1119 | # All the preparing.. |
| @@ -37,9 +37,8 @@ build_unifdef: $(obj)/unifdef · 36 unmodified lines | |||
| 37 | @: | 37 | @: |
| 38 | 38 | ||
| 39 | subdir-$(CONFIG_MODVERSIONS) += genksyms | 39 | subdir-$(CONFIG_MODVERSIONS) += genksyms |
| 40 | subdir-y += mod | ||
| 41 | subdir-$(CONFIG_SECURITY_SELINUX) += selinux | 40 | subdir-$(CONFIG_SECURITY_SELINUX) += selinux |
| 42 | subdir-$(CONFIG_GDB_SCRIPTS) += gdb | 41 | subdir-$(CONFIG_GDB_SCRIPTS) += gdb |
| 43 | 42 | ||
| 44 | # Let clean descend into subdirs | 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 | hostprogs-y := modpost mk_elfconfig | 4 | hostprogs-y := modpost mk_elfconfig |
| 5 | always := $(hostprogs-y) empty.o | 5 | always := $(hostprogs-y) empty.o |
| 6 | 6 | ||
| 7 | CFLAGS_REMOVE_empty.o := $(ASM_MACRO_FLAGS) | ||
| 8 | |||
| 9 | modpost-objs := modpost.o file2alias.o sumversion.o | 7 | modpost-objs := modpost.o file2alias.o sumversion.o |
| 10 | 8 | ||
| 11 | devicetable-offsets-file := devicetable-offsets.h | 9 | devicetable-offsets-file := devicetable-offsets.h |