blob: a6c8c17808551aa146102ccb4132f8f5605ea74d [file] [log] [blame]
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +02001# include/asm-generic contains a lot of files that are used
2# verbatim by several architectures.
3#
Cao jin64236e32017-08-22 21:09:53 +08004# This Makefile reads the file arch/$(SRCARCH)/include/$(src)/Kbuild
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +02005# and for each file listed in this file with generic-y creates
Cao jin64236e32017-08-22 21:09:53 +08006# a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/$(src))
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +02007
Catalin Marinas3c5994c2012-10-17 12:25:44 +01008kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild
Michal Marek7a04fc92011-05-02 18:01:06 +02009-include $(kbuild-file)
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +020010
11include scripts/Kbuild.include
12
13# Create output directory if not already present
14_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
15
James Hogancda2c652016-06-24 23:42:24 +010016# Stale wrappers when the corresponding files are removed from generic-y
17# need removing.
Masahiro Yamadaae3f4152017-06-09 17:29:52 +090018generated-y := $(generic-y) $(generated-y)
James Hogancda2c652016-06-24 23:42:24 +010019all-files := $(patsubst %, $(obj)/%, $(generated-y))
20old-headers := $(wildcard $(obj)/*.h)
21unwanted := $(filter-out $(all-files),$(old-headers))
22
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +020023quiet_cmd_wrap = WRAP $@
24cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@
25
James Hogancda2c652016-06-24 23:42:24 +010026quiet_cmd_remove = REMOVE $(unwanted)
27cmd_remove = rm -f $(unwanted)
28
29all: $(patsubst %, $(obj)/%, $(generic-y)) FORCE
30 $(if $(unwanted),$(call cmd,remove),)
Peter Foley181e9762011-06-08 20:58:32 -040031 @:
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +020032
33$(obj)/%.h:
34 $(call cmd,wrap)
James Hogancda2c652016-06-24 23:42:24 +010035
36PHONY += FORCE
37.PHONY: $(PHONY)
38FORCE: ;