| # 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/(uapi/)/asm/Kbuild | 
 | # and for each file listed in this file with generic-y creates | 
 | # a small wrapper file in arch/$(SRCARCH)/include/generated/(uapi/)/asm. | 
 |  | 
 | PHONY := all | 
 | all: | 
 |  | 
 | src := $(subst /generated,,$(obj)) | 
 | -include $(src)/Kbuild | 
 |  | 
 | include scripts/Kbuild.include | 
 |  | 
 | generic-y   := $(addprefix $(obj)/, $(generic-y)) | 
 | generated-y := $(addprefix $(obj)/, $(generated-y)) | 
 |  | 
 | # Remove stale wrappers when the corresponding files are removed from generic-y | 
 | old-headers := $(wildcard $(obj)/*.h) | 
 | unwanted    := $(filter-out $(generic-y) $(generated-y),$(old-headers)) | 
 |  | 
 | quiet_cmd_wrap = WRAP    $@ | 
 |       cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@ | 
 |  | 
 | quiet_cmd_remove = REMOVE  $(unwanted) | 
 |       cmd_remove = rm -f $(unwanted) | 
 |  | 
 | all: $(generic-y) | 
 | 	$(if $(unwanted),$(call cmd,remove)) | 
 | 	@: | 
 |  | 
 | $(obj)/%.h: | 
 | 	$(call cmd,wrap) | 
 |  | 
 | # Create output directory. Skip it if at least one old header exists | 
 | # since we know the output directory already exists. | 
 | ifeq ($(old-headers),) | 
 | $(shell mkdir -p $(obj)) | 
 | endif | 
 |  | 
 | .PHONY: $(PHONY) |