grub_emu_init.h: genemuinitheader.sh
- rm -f $@; echo $(pkglib_MODULES) |sh $(srcdir)/genemuinitheader.sh > $@
+ rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinitheader.sh $(NM) > $@
DISTCLEANFILES += grub_emu_init.h
-grub_emu_init.c: genemuinit.sh
- rm -f $@; echo $(pkglib_MODULES) |sed 's,elf.mod,,;s,extcmd.mod,,;s,gzio.mod,,;s,fshelp.mod,,;s,bufio.mod,,;s,setjmp.mod,,;s,crypto.mod,,;s,pbkdf2.mod,,;s,trig.mod,,;s,bitmap_scale.mod,,;s,charset.mod,,;'|sh $(srcdir)/genemuinit.sh > $@
+grub_emu_init.c: genemuinit.sh $(pkglib_MODULES)
+ rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinit.sh $(NM) > $@
DISTCLEANFILES += grub_emu_init.c
include $(srcdir)/conf/common.mk
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-lst="$1"
+nm="$1"
shift
cat <<EOF
read mods
for line in $mods; do
- echo "grub_${line}_init ();" | sed 's,\.mod,,g;'
+ if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
+ echo "grub_${line}_init ();" | sed 's,\.mod,,g;'
+ fi
done
cat <<EOF
EOF
for line in $mods; do
- echo "grub_${line}_fini ();" | sed 's,\.mod,,g;'
+ if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
+ echo "grub_${line}_fini ();" | sed 's,\.mod,,g;'
+ fi
done
cat <<EOF
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-lst="$1"
+nm="$1"
shift
cat <<EOF
read mods
for line in $mods; do
- echo "void grub_${line}_init (void);" | sed 's,\.mod,,g;'
- echo "void grub_${line}_fini (void);" | sed 's,\.mod,,g;'
+ if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
+ echo "void grub_${line}_init (void);" | sed 's,\.mod,,g;'
+ fi
+ if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
+ echo "void grub_${line}_fini (void);" | sed 's,\.mod,,g;'
+ fi
done