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