forked from luck/tmp_suning_uos_patched
d8ecc5cd8e
There is an increasing amount of header files shared between individual architectures in asm-generic. To avoid a lot of dummy wrapper files that just include the corresponding file in asm-generic provide some basic support in kbuild for this. With the following patch an architecture can maintain a list of files in the file arch/$(ARCH)/include/asm/Kbuild To use a generic file just add: generic-y += <name-of-header-file.h> For each file listed kbuild will generate the necessary wrapper in arch/$(ARCH)/include/generated/asm. When installing userspace headers a wrapper is likewise created. The original inspiration for this came from the unicore32 patchset - although a different method is used. The patch includes several improvements from Arnd Bergmann. Michael Marek contributed Makefile.asm-generic. Remis Baima did an intial implementation along to achive the same - see https://patchwork.kernel.org/patch/13352/ Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Guan Xuetao <guanxuetao@mprc.pku.edu.cn> Tested-by: Guan Xuetao <guanxuetao@mprc.pku.edu.cn> Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
24 lines
676 B
Makefile
24 lines
676 B
Makefile
# include/asm-generic contains a lot of files that are used
|
|
# verbatim by several architectures.
|
|
#
|
|
# This Makefile reads the file arch/$(SRCARCH)/include/asm/Kbuild
|
|
# and for each file listed in this file with generic-y creates
|
|
# a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/asm)
|
|
|
|
kbuild-file := $(srctree)/arch/$(SRCARCH)/include/asm/Kbuild
|
|
include $(kbuild-file)
|
|
|
|
include scripts/Kbuild.include
|
|
|
|
# Create output directory if not already present
|
|
_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
|
|
|
|
quiet_cmd_wrap = WRAP $@
|
|
cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@
|
|
|
|
all: $(patsubst %, $(obj)/%, $(generic-y))
|
|
|
|
$(obj)/%.h:
|
|
$(call cmd,wrap)
|
|
|