# 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))

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: ;
