kbuild: merge vmlinux_link() between ARCH=um and other architectures
[linux-2.6-microblaze.git] / scripts / gen_ksymdeps.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3
4 set -e
5
6 # List of exported symbols
7 #
8 # If the object has no symbol, $NM warns 'no symbols'.
9 # Suppress the stderr.
10 # TODO:
11 #   Use -q instead of 2>/dev/null when we upgrade the minimum version of
12 #   binutils to 2.37, llvm to 13.0.0.
13 ksyms=$($NM $1 2>/dev/null | sed -n 's/.*__ksym_marker_\(.*\)/\1/p' | tr A-Z a-z)
14
15 if [ -z "$ksyms" ]; then
16         exit 0
17 fi
18
19 echo
20 echo "ksymdeps_$1 := \\"
21
22 for s in $ksyms
23 do
24         echo $s | sed -e 's:^_*:    $(wildcard include/ksym/:' \
25                         -e 's:__*:/:g' -e 's/$/.h) \\/'
26 done
27
28 echo
29 echo "$1: \$(ksymdeps_$1)"
30 echo
31 echo "\$(ksymdeps_$1):"