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