Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.13-git12 /Kbuild

Filename:/Kbuild
Lines Added:49
Lines Deleted:0
Also changed in: (Previous) 2.6.13-git11  2.6.13-git10 
(Following) 2.6.14-rc1  2.6.14-rc2  2.6.14-rc3  2.6.14-rc4  2.6.14-rc5  2.6.14 

Location
[  2.6.13-git12
   o  Kbuild

Patch

diff --git a/Kbuild b/Kbuild
new file mode 100644
--- /dev/null
+++ b/Kbuild
@@ -0,0 +1,49 @@
+#
+# Kbuild for top-level directory of the kernel
+# This file takes care of the following:
+# 1) Generate asm-offsets.h
+
+#####
+# 1) Generate asm-offsets.h
+#
+
+offsets-file := include/asm-$(ARCH)/asm-offsets.h
+
+always  := $(offsets-file)
+targets := $(offsets-file)
+targets += arch/$(ARCH)/kernel/asm-offsets.s
+
+# Default sed regexp - multiline due to syntax constraints
+define sed-y
+   "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
+endef
+# Override default regexp for specific architectures
+sed-$(CONFIG_MIPS) := "/^@@@/s///p"
+
+quiet_cmd_offsets = GEN     $@
+define cmd_offsets
+   mkdir -p $(dir $@); \
+   cat $< | \
+   (set -e; \
+    echo "#ifndef __ASM_OFFSETS_H__"; \
+    echo "#define __ASM_OFFSETS_H__"; \
+    echo "/*"; \
+    echo " * DO NOT MODIFY."; \
+    echo " *"; \
+    echo " * This file was generated by $(srctree)/Kbuild"; \
+    echo " *"; \
+    echo " */"; \
+    echo ""; \
+    sed -ne $(sed-y); \
+    echo ""; \
+    echo "#endif" ) > $@
+endef
+
+# We use internal kbuild rules to avoid the "is up to date" message from make
+arch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE
+   $(Q)mkdir -p $(dir $@)
+   $(call if_changed_dep,cc_s_c)
+
+$(obj)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild
+   $(call cmd,offsets)
+


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.