Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / scripts / mod / Makefile
diff --git a/kernel/scripts/mod/Makefile b/kernel/scripts/mod/Makefile
new file mode 100644 (file)
index 0000000..c11212f
--- /dev/null
@@ -0,0 +1,48 @@
+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