]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
d8ecc5cd SR |
2 | # include/asm-generic contains a lot of files that are used |
3 | # verbatim by several architectures. | |
4 | # | |
7d0e5c20 | 5 | # This Makefile reads the file arch/$(SRCARCH)/include/(uapi/)/asm/Kbuild |
d8ecc5cd | 6 | # and for each file listed in this file with generic-y creates |
7d0e5c20 | 7 | # a small wrapper file in arch/$(SRCARCH)/include/generated/(uapi/)/asm. |
d8ecc5cd | 8 | |
a7d34df3 MY |
9 | PHONY := all |
10 | all: | |
11 | ||
7d0e5c20 MY |
12 | src := $(subst /generated,,$(obj)) |
13 | -include $(src)/Kbuild | |
d8ecc5cd SR |
14 | |
15 | include scripts/Kbuild.include | |
16 | ||
91998731 MY |
17 | # If arch does not implement mandatory headers, fallback to asm-generic ones. |
18 | mandatory-y := $(filter-out $(generated-y), $(mandatory-y)) | |
19 | generic-y += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f))) | |
20 | ||
7d0e5c20 MY |
21 | generic-y := $(addprefix $(obj)/, $(generic-y)) |
22 | generated-y := $(addprefix $(obj)/, $(generated-y)) | |
d8ecc5cd | 23 | |
7d0e5c20 MY |
24 | # Remove stale wrappers when the corresponding files are removed from generic-y |
25 | old-headers := $(wildcard $(obj)/*.h) | |
26 | unwanted := $(filter-out $(generic-y) $(generated-y),$(old-headers)) | |
cda2c65f | 27 | |
d8ecc5cd | 28 | quiet_cmd_wrap = WRAP $@ |
7d0e5c20 | 29 | cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@ |
d8ecc5cd | 30 | |
cda2c65f | 31 | quiet_cmd_remove = REMOVE $(unwanted) |
7d0e5c20 | 32 | cmd_remove = rm -f $(unwanted) |
cda2c65f | 33 | |
7d0e5c20 MY |
34 | all: $(generic-y) |
35 | $(if $(unwanted),$(call cmd,remove)) | |
181e9763 | 36 | @: |
d8ecc5cd SR |
37 | |
38 | $(obj)/%.h: | |
39 | $(call cmd,wrap) | |
cda2c65f | 40 | |
7d0e5c20 MY |
41 | # Create output directory. Skip it if at least one old header exists |
42 | # since we know the output directory already exists. | |
43 | ifeq ($(old-headers),) | |
44 | $(shell mkdir -p $(obj)) | |
45 | endif | |
46 | ||
cda2c65f | 47 | .PHONY: $(PHONY) |