blob: 9563215a23c69f825d2a0b669ffec7ccf27429bb [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
Masahiro Yamadaa7d34df2017-10-11 12:52:29 +09008PHONY := all
9all:
10
Catalin Marinas3c5994c2012-10-17 12:25:44 +010011kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild
Michal Marek7a04fc92011-05-02 18:01:06 +020012-include $(kbuild-file)
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +020013
14include scripts/Kbuild.include
15
16# Create output directory if not already present
17_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
18
James Hogancda2c652016-06-24 23:42:24 +010019# Stale wrappers when the corresponding files are removed from generic-y
20# need removing.
Masahiro Yamadaae3f4152017-06-09 17:29:52 +090021generated-y := $(generic-y) $(generated-y)
James Hogancda2c652016-06-24 23:42:24 +010022all-files := $(patsubst %, $(obj)/%, $(generated-y))
23old-headers := $(wildcard $(obj)/*.h)
24unwanted := $(filter-out $(all-files),$(old-headers))
25
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +020026quiet_cmd_wrap = WRAP $@
27cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@
28
James Hogancda2c652016-06-24 23:42:24 +010029quiet_cmd_remove = REMOVE $(unwanted)
30cmd_remove = rm -f $(unwanted)
31
32all: $(patsubst %, $(obj)/%, $(generic-y)) FORCE
33 $(if $(unwanted),$(call cmd,remove),)
Peter Foley181e9762011-06-08 20:58:32 -040034 @:
Sam Ravnborgd8ecc5c2011-04-27 22:29:49 +020035
36$(obj)/%.h:
37 $(call cmd,wrap)
James Hogancda2c652016-06-24 23:42:24 +010038
39PHONY += FORCE
40.PHONY: $(PHONY)
41FORCE: ;