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 | ||
7d0e5c20 MY |
17 | generic-y := $(addprefix $(obj)/, $(generic-y)) |
18 | generated-y := $(addprefix $(obj)/, $(generated-y)) | |
d8ecc5cd | 19 | |
7d0e5c20 MY |
20 | # Remove stale wrappers when the corresponding files are removed from generic-y |
21 | old-headers := $(wildcard $(obj)/*.h) | |
22 | unwanted := $(filter-out $(generic-y) $(generated-y),$(old-headers)) | |
cda2c65f | 23 | |
d8ecc5cd | 24 | quiet_cmd_wrap = WRAP $@ |
7d0e5c20 | 25 | cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@ |
d8ecc5cd | 26 | |
cda2c65f | 27 | quiet_cmd_remove = REMOVE $(unwanted) |
7d0e5c20 | 28 | cmd_remove = rm -f $(unwanted) |
cda2c65f | 29 | |
7d0e5c20 MY |
30 | all: $(generic-y) |
31 | $(if $(unwanted),$(call cmd,remove)) | |
181e9763 | 32 | @: |
d8ecc5cd SR |
33 | |
34 | $(obj)/%.h: | |
35 | $(call cmd,wrap) | |
cda2c65f | 36 | |
7d0e5c20 MY |
37 | # Create output directory. Skip it if at least one old header exists |
38 | # since we know the output directory already exists. | |
39 | ifeq ($(old-headers),) | |
40 | $(shell mkdir -p $(obj)) | |
41 | endif | |
42 | ||
cda2c65f | 43 | .PHONY: $(PHONY) |