1OBJECT_FILES_NON_STANDARD := y 2 3hostprogs-y := modpost mk_elfconfig 4always := $(hostprogs-y) empty.o 5 6modpost-objs := modpost.o file2alias.o sumversion.o 7 8devicetable-offsets-file := devicetable-offsets.h 9 10define sed-y 11 "/^->/{s:->#\(.*\):/* \1 */:; \ 12 s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ 13 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ 14 s:->::; p;}" 15endef 16 17quiet_cmd_offsets = GEN $@ 18define cmd_offsets 19 (set -e; \ 20 echo "#ifndef __DEVICETABLE_OFFSETS_H__"; \ 21 echo "#define __DEVICETABLE_OFFSETS_H__"; \ 22 echo "/*"; \ 23 echo " * DO NOT MODIFY."; \ 24 echo " *"; \ 25 echo " * This file was generated by Kbuild"; \ 26 echo " *"; \ 27 echo " */"; \ 28 echo ""; \ 29 sed -ne $(sed-y) $<; \ 30 echo ""; \ 31 echo "#endif" ) > $@ 32endef 33 34$(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s 35 $(call if_changed,offsets) 36 37targets += $(devicetable-offsets-file) devicetable-offsets.s 38 39# dependencies on generated files need to be listed explicitly 40 41$(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o: $(obj)/elfconfig.h 42$(obj)/file2alias.o: $(obj)/$(devicetable-offsets-file) 43 44quiet_cmd_elfconfig = MKELF $@ 45 cmd_elfconfig = $(obj)/mk_elfconfig < $< > $@ 46 47$(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_elfconfig FORCE 48 $(call if_changed,elfconfig) 49 50targets += elfconfig.h 51