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.
39 lines
1.1 KiB
39 lines
1.1 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/$(src)/Kbuild |
|
# and for each file listed in this file with generic-y creates |
|
# a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/$(src)) |
|
|
|
kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild |
|
-include $(kbuild-file) |
|
|
|
include scripts/Kbuild.include |
|
|
|
# Create output directory if not already present |
|
_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj)) |
|
|
|
# Stale wrappers when the corresponding files are removed from generic-y |
|
# need removing. |
|
generated-y := $(generic-y) $(generated-y) |
|
all-files := $(patsubst %, $(obj)/%, $(generated-y)) |
|
old-headers := $(wildcard $(obj)/*.h) |
|
unwanted := $(filter-out $(all-files),$(old-headers)) |
|
|
|
quiet_cmd_wrap = WRAP $@ |
|
cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@ |
|
|
|
quiet_cmd_remove = REMOVE $(unwanted) |
|
cmd_remove = rm -f $(unwanted) |
|
|
|
all: $(patsubst %, $(obj)/%, $(generic-y)) FORCE |
|
$(if $(unwanted),$(call cmd,remove),) |
|
@: |
|
|
|
$(obj)/%.h: |
|
$(call cmd,wrap) |
|
|
|
PHONY += FORCE |
|
.PHONY: $(PHONY) |
|
FORCE: ;
|
|
|