]>
Commit | Line | Data |
---|---|---|
6d099807 | 1 | #! /bin/sh |
2 | # | |
5a79f472 | 3 | # Copyright (C) 2002,2005,2007 Free Software Foundation, Inc. |
6d099807 | 4 | # |
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. | |
8 | # | |
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. | |
13 | ||
daf0f0ba | 14 | lst="$1" |
15 | shift | |
16 | ||
17 | header=`echo "${lst}" | sed -e "s/\.lst$/.h/g"` | |
18 | ||
6d099807 | 19 | cat <<EOF |
4750f5f1 | 20 | /* This file is automatically generated by geninit.sh. DO NOT EDIT! */ |
6d099807 | 21 | /* |
22 | * GRUB -- GRand Unified Bootloader | |
5a79f472 | 23 | * Copyright (C) 2002,2005,2007 Free Software Foundation, Inc. |
6d099807 | 24 | * |
5a79f472 | 25 | * GRUB is free software: you can redistribute it and/or modify |
6d099807 | 26 | * it under the terms of the GNU General Public License as published by |
5a79f472 | 27 | * the Free Software Foundation, either version 3 of the License, or |
6d099807 | 28 | * (at your option) any later version. |
29 | * | |
5a79f472 | 30 | * GRUB is distributed in the hope that it will be useful, |
6d099807 | 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. | |
34 | * | |
35 | * You should have received a copy of the GNU General Public License | |
5a79f472 | 36 | * along with GRUB. If not, see <http://www.gnu.org/licenses/>. |
6d099807 | 37 | */ |
38 | ||
daf0f0ba | 39 | #include <$header> |
6d099807 | 40 | |
41 | EOF | |
42 | ||
43 | cat <<EOF | |
44 | void | |
45 | grub_init_all (void) | |
46 | { | |
47 | EOF | |
4750f5f1 | 48 | |
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 ();/' | |
53 | fi | |
daf0f0ba | 54 | done < ${lst} |
6d099807 | 55 | |
56 | cat <<EOF | |
57 | } | |
58 | EOF | |
59 | ||
60 | cat <<EOF | |
61 | void | |
62 | grub_fini_all (void) | |
63 | { | |
64 | EOF | |
65 | ||
4750f5f1 | 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 ();/' | |
70 | fi | |
daf0f0ba | 71 | done < ${lst} |
6d099807 | 72 | |
73 | cat <<EOF | |
74 | } | |
75 | EOF |