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.
Showing the changes to scripts (1 of 2 files). Show all
Unified · Split
| @@ -0,0 +1,41 @@ | ||
| 1 | +#!/bin/sh | |
| 2 | +# Run headers_$1 command for all suitable architectures | |
| 3 | + | |
| 4 | +# Stop on error | |
| 5 | +set -e | |
| 6 | + | |
| 7 | +do_command() | |
| 8 | +{ | |
| 9 | + if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then | |
| 10 | + make ARCH=$2 KBUILD_HEADERS=$1 headers_$1 | |
| 11 | + elif [ -f ${srctree}/include/asm-$2/Kbuild ]; then | |
| 12 | + make ARCH=$2 KBUILD_HEADERS=$1 headers_$1 | |
| 13 | + else | |
| 14 | + printf "Ignoring arch: %s\n" ${arch} | |
| 15 | + fi | |
| 16 | +} | |
| 17 | + | |
| 18 | +# Do not try this architecture | |
| 19 | +drop="generic um ppc sparc64 cris" | |
| 20 | + | |
| 21 | +archs=$(ls ${srctree}/arch) | |
| 22 | + | |
| 23 | +for arch in ${archs}; do | |
| 24 | + case ${arch} in | |
| 25 | + um) # no userspace export | |
| 26 | + ;; | |
| 27 | + ppc) # headers exported by powerpc | |
| 28 | + ;; | |
| 29 | + sparc64) # headers exported by sparc | |
| 30 | + ;; | |
| 31 | + cris) # headers export are known broken | |
| 32 | + ;; | |
| 33 | + *) | |
| 34 | + if [ -d ${srctree}/arch/${arch} ]; then | |
| 35 | + do_command $1 ${arch} | |
| 36 | + fi | |
| 37 | + ;; | |
| 38 | + esac | |
| 39 | +done | |
| 40 | + | |
| 41 | + | |