| # SPDX-License-Identifier: GPL-2.0 | 
 | # include/asm-generic contains a lot of files that are used | 
 | # verbatim by several architectures. | 
 | # | 
 | # This Makefile reads the file arch/$(SRCARCH)/include/$(src)/Kbuild | 
 | # and for each file listed in this file with generic-y creates | 
 | # a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/$(src)) | 
 |  | 
 | PHONY := all | 
 | all: | 
 |  | 
 | kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild | 
 | -include $(kbuild-file) | 
 |  | 
 | include scripts/Kbuild.include | 
 |  | 
 | # Create output directory if not already present | 
 | _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj)) | 
 |  | 
 | # Stale wrappers when the corresponding files are removed from generic-y | 
 | # need removing. | 
 | generated-y   := $(generic-y) $(generated-y) | 
 | all-files     := $(patsubst %, $(obj)/%, $(generated-y)) | 
 | old-headers   := $(wildcard $(obj)/*.h) | 
 | unwanted      := $(filter-out $(all-files),$(old-headers)) | 
 |  | 
 | quiet_cmd_wrap = WRAP    $@ | 
 | cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@ | 
 |  | 
 | quiet_cmd_remove = REMOVE  $(unwanted) | 
 | cmd_remove = rm -f $(unwanted) | 
 |  | 
 | all: $(patsubst %, $(obj)/%, $(generic-y)) FORCE | 
 | 	$(if $(unwanted),$(call cmd,remove),) | 
 | 	@: | 
 |  | 
 | $(obj)/%.h: | 
 | 	$(call cmd,wrap) | 
 |  | 
 | PHONY += FORCE | 
 | .PHONY: $(PHONY) | 
 | FORCE: ; |