summaryrefslogtreecommitdiffstats
path: root/scripts/headers.sh
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2008-06-21 00:24:17 +0200
committerSam Ravnborg <sam@ravnborg.org>2008-07-25 22:12:33 +0200
commit2fb9b1bd9dd7f4455407dc1bec74fb8ae0d3138e (patch)
tree28560746a2788549198dcb7ce3588cb7297c6593 /scripts/headers.sh
parentdb1bec4f5271d7799d481cd4d95fdc268bdd7614 (diff)
kbuild: prepare headers_* for arch/$ARCH/include
Factor out the headers_*_all support to a seperate shell script and add support for arch specific header files can be located in either arch/$ARCH/include/asm or include/asm-$ARCH/ In "make help" always display the headers_* targets. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/headers.sh')
-rwxr-xr-xscripts/headers.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/headers.sh b/scripts/headers.sh
new file mode 100755
index 00000000000..d33426f866d
--- /dev/null
+++ b/scripts/headers.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Run headers_$1 command for all suitable architectures
+
+# Stop on error
+set -e
+
+do_command()
+{
+ if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then
+ make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
+ elif [ -f ${srctree}/include/asm-$2/Kbuild ]; then
+ make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
+ else
+ printf "Ignoring arch: %s\n" ${arch}
+ fi
+}
+
+# Do not try this architecture
+drop="generic um ppc sparc64 cris"
+
+archs=$(ls ${srctree}/arch)
+
+for arch in ${archs}; do
+ case ${arch} in
+ um) # no userspace export
+ ;;
+ ppc) # headers exported by powerpc
+ ;;
+ sparc64) # headers exported by sparc
+ ;;
+ cris) # headers export are known broken
+ ;;
+ *)
+ if [ -d ${srctree}/arch/${arch} ]; then
+ do_command $1 ${arch}
+ fi
+ ;;
+ esac
+done
+
+