kbuild: force all architectures except um to include mandatory-y
Currently, every arch/*/include/uapi/asm/Kbuild explicitly includes the common Kbuild.asm file. Factor out the duplicated include directives to scripts/Makefile.asm-generic so that no architecture would opt out of the mandatory-y mechanism. um is not forced to include mandatory-y since it is a very exceptional case which does not support UAPI. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
		
							parent
							
								
									7cbbbb8bc2
								
							
						
					
					
						commit
						037fc3368b
					
				| @ -1274,7 +1274,7 @@ See subsequent chapter for the syntax of the Kbuild file. | ||||
| 
 | ||||
| --- 7.4 mandatory-y | ||||
| 
 | ||||
| 	mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild.asm | ||||
| 	mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild | ||||
| 	to define the minimum set of ASM headers that all architectures must have. | ||||
| 
 | ||||
| 	This works like optional generic-y. If a mandatory header is missing | ||||
|  | ||||
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| @ -1098,9 +1098,11 @@ asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj | ||||
| 
 | ||||
| PHONY += asm-generic uapi-asm-generic | ||||
| asm-generic: uapi-asm-generic | ||||
| 	$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm | ||||
| 	$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
 | ||||
| 	generic=include/asm-generic | ||||
| uapi-asm-generic: | ||||
| 	$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm | ||||
| 	$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
 | ||||
| 	generic=include/uapi/asm-generic | ||||
| 
 | ||||
| PHONY += prepare-objtool | ||||
| prepare-objtool: $(objtool_target) | ||||
|  | ||||
| @ -1,3 +1 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,5 +1,4 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0 | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd-common.h | ||||
| generated-y += unistd-oabi.h | ||||
|  | ||||
| @ -1,4 +1,3 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0 | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,3 +1 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,3 +1 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_64.h | ||||
| generic-y += kvm_para.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generic-y += kvm_para.h | ||||
|  | ||||
| @ -1,5 +1,3 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,5 +1,3 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_n32.h | ||||
| generated-y += unistd_n64.h | ||||
| generated-y += unistd_o32.h | ||||
|  | ||||
| @ -1,3 +1 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,5 +1,3 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generated-y += unistd_64.h | ||||
| generic-y += kvm_para.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generated-y += unistd_64.h | ||||
|  | ||||
| @ -1 +0,0 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| @ -1,5 +1,4 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0 | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generated-y += unistd_64.h | ||||
|  | ||||
| @ -1,5 +1,4 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0 | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generic-y += kvm_para.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generated-y += unistd_64.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generic-y += kvm_para.h | ||||
| generic-y += ucontext.h | ||||
|  | ||||
| @ -1,5 +1,3 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generated-y += unistd_64.h | ||||
| generated-y += unistd_x32.h | ||||
|  | ||||
| @ -1,4 +1,2 @@ | ||||
| include include/uapi/asm-generic/Kbuild.asm | ||||
| 
 | ||||
| generated-y += unistd_32.h | ||||
| generic-y += kvm_para.h | ||||
|  | ||||
							
								
								
									
										5
									
								
								include/asm-generic/Kbuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								include/asm-generic/Kbuild
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0 | ||||
| # | ||||
| # asm headers that all architectures except um should have | ||||
| # (This file is not included when SRCARCH=um since UML borrows several | ||||
| # asm headers from the host architecutre.) | ||||
| @ -1,6 +1,8 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0 | ||||
| # | ||||
| # Headers that are mandatory in usr/include/asm/ | ||||
| # | ||||
| # (This file is not included when SRCARCH=um since UML does not support UAPI.) | ||||
| 
 | ||||
| mandatory-y += auxvec.h | ||||
| mandatory-y += bitsperlong.h | ||||
| mandatory-y += bpf_perf_event.h | ||||
| @ -12,6 +12,11 @@ all: | ||||
| src := $(subst /generated,,$(obj)) | ||||
| -include $(src)/Kbuild | ||||
| 
 | ||||
| # $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
 | ||||
| ifneq ($(SRCARCH),um) | ||||
| include $(generic)/Kbuild | ||||
| endif | ||||
| 
 | ||||
| include scripts/Kbuild.include | ||||
| 
 | ||||
| redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y)) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user