2005-04-17 02:20:36 +04:00
hostprogs-y := modpost mk_elfconfig
always := $( hostprogs-y) empty.o
modpost-objs := modpost.o file2alias.o sumversion.o
2013-01-20 20:58:47 +04:00
devicetable-offsets-file := devicetable-offsets.h
d e f i n e s e d - y
" /^->/{s:->#\(.*\):/* \1 */:; \
s:^->\( [ ^ ] *\) [ \$ $# ] *\( [ -0-9] *\) \( .*\) :#define \1 \2 /* \3 */:; \
s:^->\( [ ^ ] *\) [ \$ $# ] *\( [ ^ ] *\) \( .*\) :#define \1 \2 /* \3 */:; \
s:->::; p; } "
e n d e f
quiet_cmd_offsets = GEN $@
d e f i n e c m d _ o f f s e t s
( set -e; \
echo "#ifndef __DEVICEVTABLE_OFFSETS_H__" ; \
echo "#define __DEVICEVTABLE_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" ) > $@
e n d e f
# We use internal kbuild rules to avoid the "is up to date" message from make
scripts/mod/devicetable-offsets.s : scripts /mod /devicetable -offsets .c FORCE
$( Q) mkdir -p $( dir $@ )
$( call if_changed_dep,cc_s_c)
$(obj)/$(devicetable-offsets-file) : scripts /mod /devicetable -offsets .s
$( call cmd,offsets)
2013-05-04 18:32:53 +04:00
targets += $( devicetable-offsets-file)
2005-04-17 02:20:36 +04:00
# dependencies on generated files need to be listed explicitly
$(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o : $( obj ) /elfconfig .h
2013-01-20 20:58:47 +04:00
$(obj)/file2alias.o : $( obj ) /$( devicetable -offsets -file )
2005-04-17 02:20:36 +04:00
quiet_cmd_elfconfig = MKELF $@
2009-11-08 00:03:54 +03:00
cmd_elfconfig = $( obj) /mk_elfconfig < $< > $@
2005-04-17 02:20:36 +04:00
$(obj)/elfconfig.h : $( obj ) /empty .o $( obj ) /mk_elfconfig FORCE
$( call if_changed,elfconfig)
targets += elfconfig.h