linux-yocto/scripts/mod/Makefile
Jan Beulich bd70134396 improve modalias building
For one, there's no point in the respective pieces to be rebuilt
unconditionally on each and every rebuild.

Second there's no need to invent a custom rule for generating the .s
file from the .c source - we can simply use the generic rule here.

And finally, $(obj) should be used to refer to files in the build tree
(rather than spelling out the subdirectory).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2013-06-28 00:48:16 +02:00

1.3 KiB

hostprogs-y := modpost mk_elfconfig 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 < $< > $@

$(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_elfconfig FORCE $(call if_changed,elfconfig)

targets += elfconfig.h