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 | # | |
64236e31 | 5 | # This Makefile reads the file arch/$(SRCARCH)/include/$(src)/Kbuild |
d8ecc5cd | 6 | # and for each file listed in this file with generic-y creates |
64236e31 | 7 | # a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/$(src)) |
d8ecc5cd | 8 | |
3c5994c8 | 9 | kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild |
7a04fc94 | 10 | -include $(kbuild-file) |
d8ecc5cd SR |
11 | |
12 | include scripts/Kbuild.include | |
13 | ||
14 | # Create output directory if not already present | |
15 | _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj)) | |
16 | ||
cda2c65f JH |
17 | # Stale wrappers when the corresponding files are removed from generic-y |
18 | # need removing. | |
ae3f4151 | 19 | generated-y := $(generic-y) $(generated-y) |
cda2c65f JH |
20 | all-files := $(patsubst %, $(obj)/%, $(generated-y)) |
21 | old-headers := $(wildcard $(obj)/*.h) | |
22 | unwanted := $(filter-out $(all-files),$(old-headers)) | |
23 | ||
d8ecc5cd SR |
24 | quiet_cmd_wrap = WRAP $@ |
25 | cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@ | |
26 | ||
cda2c65f JH |
27 | quiet_cmd_remove = REMOVE $(unwanted) |
28 | cmd_remove = rm -f $(unwanted) | |
29 | ||
30 | all: $(patsubst %, $(obj)/%, $(generic-y)) FORCE | |
31 | $(if $(unwanted),$(call cmd,remove),) | |
181e9763 | 32 | @: |
d8ecc5cd SR |
33 | |
34 | $(obj)/%.h: | |
35 | $(call cmd,wrap) | |
cda2c65f JH |
36 | |
37 | PHONY += FORCE | |
38 | .PHONY: $(PHONY) | |
39 | FORCE: ; |