xref: /OK3568_Linux_fs/kernel/scripts/gen_ksymdeps.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunset -e
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun# List of exported symbols
7*4882a593Smuzhiyun#
8*4882a593Smuzhiyun# If the object has no symbol, $NM warns 'no symbols'.
9*4882a593Smuzhiyun# Suppress the stderr.
10*4882a593Smuzhiyun# TODO:
11*4882a593Smuzhiyun#   Use -q instead of 2>/dev/null when we upgrade the minimum version of
12*4882a593Smuzhiyun#   binutils to 2.37, llvm to 13.0.0.
13*4882a593Smuzhiyunksyms=$($NM $1 2>/dev/null | sed -n 's/.*__ksym_marker_\(.*\)/\1/p' | tr A-Z a-z)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunif [ -z "$ksyms" ]; then
16*4882a593Smuzhiyun	exit 0
17*4882a593Smuzhiyunfi
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunecho
20*4882a593Smuzhiyunecho "ksymdeps_$1 := \\"
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunfor s in $ksyms
23*4882a593Smuzhiyundo
24*4882a593Smuzhiyun	echo $s | sed -e 's:^_*:    $(wildcard include/ksym/:' \
25*4882a593Smuzhiyun			-e 's:__*:/:g' -e 's/$/.h) \\/'
26*4882a593Smuzhiyundone
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunecho
29*4882a593Smuzhiyunecho "$1: \$(ksymdeps_$1)"
30*4882a593Smuzhiyunecho
31*4882a593Smuzhiyunecho "\$(ksymdeps_$1):"
32