forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.8 KiB
58 lines
1.8 KiB
# 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 |
|
|
|
# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case. |
|
ifneq ($(SRCARCH),um) |
|
include $(srctree)/$(generic)/Kbuild |
|
endif |
|
|
|
include $(srctree)/scripts/Kbuild.include |
|
|
|
redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y)) |
|
redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f))) |
|
redundant := $(sort $(redundant)) |
|
$(if $(redundant),\ |
|
$(warning redundant generic-y found in $(src)/Kbuild: $(redundant))) |
|
|
|
# If arch does not implement mandatory headers, fallback to asm-generic ones. |
|
mandatory-y := $(filter-out $(generated-y), $(mandatory-y)) |
|
generic-y += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f))) |
|
|
|
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)
|
|
|