Blame view
scripts/Makefile.asm-generic
1.8 KB
b24413180
|
1 |
# SPDX-License-Identifier: GPL-2.0 |
d8ecc5cd8
|
2 3 4 |
# include/asm-generic contains a lot of files that are used # verbatim by several architectures. # |
7d0e5c205
|
5 |
# This Makefile reads the file arch/$(SRCARCH)/include/(uapi/)/asm/Kbuild |
d8ecc5cd8
|
6 |
# and for each file listed in this file with generic-y creates |
7d0e5c205
|
7 |
# a small wrapper file in arch/$(SRCARCH)/include/generated/(uapi/)/asm. |
d8ecc5cd8
|
8 |
|
a7d34df3d
|
9 10 |
PHONY := all all: |
7d0e5c205
|
11 12 |
src := $(subst /generated,,$(obj)) -include $(src)/Kbuild |
d8ecc5cd8
|
13 |
|
037fc3368
|
14 15 16 17 |
# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case. ifneq ($(SRCARCH),um) include $(generic)/Kbuild endif |
d8ecc5cd8
|
18 |
include scripts/Kbuild.include |
7cbbbb8bc
|
19 20 21 22 23 |
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))) |
919987318
|
24 25 26 |
# 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))) |
7d0e5c205
|
27 28 |
generic-y := $(addprefix $(obj)/, $(generic-y)) generated-y := $(addprefix $(obj)/, $(generated-y)) |
d8ecc5cd8
|
29 |
|
7d0e5c205
|
30 31 32 |
# 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)) |
cda2c65f9
|
33 |
|
d8ecc5cd8
|
34 |
quiet_cmd_wrap = WRAP $@ |
7d0e5c205
|
35 |
cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@ |
d8ecc5cd8
|
36 |
|
cda2c65f9
|
37 |
quiet_cmd_remove = REMOVE $(unwanted) |
7d0e5c205
|
38 |
cmd_remove = rm -f $(unwanted) |
cda2c65f9
|
39 |
|
7d0e5c205
|
40 41 |
all: $(generic-y) $(if $(unwanted),$(call cmd,remove)) |
181e97632
|
42 |
@: |
d8ecc5cd8
|
43 44 45 |
$(obj)/%.h: $(call cmd,wrap) |
cda2c65f9
|
46 |
|
7d0e5c205
|
47 48 49 50 51 |
# 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 |
cda2c65f9
|
52 |
.PHONY: $(PHONY) |