diff options
Diffstat (limited to 'scripts/mod/Makefile')
| -rw-r--r-- | scripts/mod/Makefile | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/mod/Makefile b/scripts/mod/Makefile index ff954f8168c..c11212ff351 100644 --- a/scripts/mod/Makefile +++ b/scripts/mod/Makefile @@ -3,9 +3,41 @@ always		:= $(hostprogs-y) empty.o  modpost-objs	:= modpost.o file2alias.o sumversion.o +devicetable-offsets-file := devicetable-offsets.h + +define sed-y +	"/^->/{s:->#\(.*\):/* \1 */:; \ +	s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ +	s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ +	s:->::; p;}" +endef + +quiet_cmd_offsets = GEN     $@ +define cmd_offsets +	(set -e; \ +	 echo "#ifndef __DEVICETABLE_OFFSETS_H__"; \ +	 echo "#define __DEVICETABLE_OFFSETS_H__"; \ +	 echo "/*"; \ +	 echo " * DO NOT MODIFY."; \ +	 echo " *"; \ +	 echo " * This file was generated by Kbuild"; \ +	 echo " *"; \ +	 echo " */"; \ +	 echo ""; \ +	 sed -ne $(sed-y) $<; \ +	 echo ""; \ +	 echo "#endif" ) > $@ +endef + +$(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s +	$(call if_changed,offsets) + +targets += $(devicetable-offsets-file) devicetable-offsets.s +  # dependencies on generated files need to be listed explicitly  $(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o: $(obj)/elfconfig.h +$(obj)/file2alias.o: $(obj)/$(devicetable-offsets-file)  quiet_cmd_elfconfig = MKELF   $@        cmd_elfconfig = $(obj)/mk_elfconfig < $< > $@  | 
