2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / geninit.sh
blob43d2d1640f937b94f457f64c254043819f61166a
1 #! /bin/sh
3 # Copyright (C) 2002,2005,2007 Free Software Foundation, Inc.
5 # This gensymlist.sh is free software; the author
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
14 lst="$1"
15 shift
17 header=`echo "${lst}" | sed -e "s/\.lst$/.h/g"`
19 cat <<EOF
20 /* This file is automatically generated by geninit.sh. DO NOT EDIT! */
22 * GRUB -- GRand Unified Bootloader
23 * Copyright (C) 2002,2005,2007 Free Software Foundation, Inc.
25 * GRUB is free software: you can redistribute it and/or modify
26 * it under the terms of the GNU General Public License as published by
27 * the Free Software Foundation, either version 3 of the License, or
28 * (at your option) any later version.
30 * GRUB is distributed in the hope that it will be useful,
31 * but WITHOUT ANY WARRANTY; without even the implied warranty of
32 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 * GNU General Public License for more details.
35 * You should have received a copy of the GNU General Public License
36 * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
39 #include <$header>
41 EOF
43 cat <<EOF
44 void
45 grub_init_all (void)
47 EOF
49 while read line; do
50 file=`echo $line | cut -f1 -d:`
51 if echo $@ | grep $file >/dev/null; then
52 echo $line | sed -e 's/.*GRUB_MOD_INIT *(\([a-zA-Z0-9_]*\)).*/ grub_\1_init ();/'
54 done < ${lst}
56 cat <<EOF
58 EOF
60 cat <<EOF
61 void
62 grub_fini_all (void)
64 EOF
66 while read line; do
67 file=`echo $line | cut -f1 -d:`
68 if echo $@ | grep $file >/dev/null; then
69 echo $line | sed -e 's/.*GRUB_MOD_INIT *(\([a-zA-Z0-9_]*\)).*/ grub_\1_fini ();/'
71 done < ${lst}
73 cat <<EOF
75 EOF