1 # SPDX-License-Identifier: GPL-2.0 !! 1 OBJECT_FILES_NON_STANDARD := y 2 CFLAGS_REMOVE_empty.o += $(CC_FLAGS_LTO) << 3 2 4 hostprogs-always-y += modpost mk_elfconfi !! 3 hostprogs-y := modpost mk_elfconfig 5 always-y += empty.o !! 4 always := $(hostprogs-y) empty.o 6 5 7 modpost-objs := modpost.o file2alias.o sumv !! 6 modpost-objs := modpost.o file2alias.o sumversion.o 8 7 9 devicetable-offsets-file := devicetable-offset 8 devicetable-offsets-file := devicetable-offsets.h 10 9 11 $(obj)/$(devicetable-offsets-file): $(obj)/dev !! 10 define sed-y 12 $(call filechk,offsets,__DEVICETABLE_O !! 11 "/^->/{s:->#\(.*\):/* \1 */:; \ >> 12 s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ >> 13 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ >> 14 s:->::; p;}" >> 15 endef >> 16 >> 17 quiet_cmd_offsets = GEN $@ >> 18 define 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" ) > $@ >> 32 endef >> 33 >> 34 $(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s >> 35 $(call if_changed,offsets) 13 36 14 targets += $(devicetable-offsets-file) devicet 37 targets += $(devicetable-offsets-file) devicetable-offsets.s 15 38 16 # dependencies on generated files need to be l 39 # dependencies on generated files need to be listed explicitly 17 40 18 $(obj)/modpost.o $(obj)/file2alias.o $(obj)/su !! 41 $(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o: $(obj)/elfconfig.h 19 $(obj)/file2alias.o: $(obj)/$(devicetable-offs 42 $(obj)/file2alias.o: $(obj)/$(devicetable-offsets-file) 20 43 21 quiet_cmd_elfconfig = MKELF $@ 44 quiet_cmd_elfconfig = MKELF $@ 22 cmd_elfconfig = $(obj)/mk_elfconfig < $< 45 cmd_elfconfig = $(obj)/mk_elfconfig < $< > $@ 23 46 24 $(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_e 47 $(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_elfconfig FORCE 25 $(call if_changed,elfconfig) 48 $(call if_changed,elfconfig) 26 49 27 targets += elfconfig.h 50 targets += elfconfig.h
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.