genkernel: Add --kconfig to set specific kernel config options
[genkernel.git] / gen_moddeps.sh
1 #!/bin/bash
2 # $Id$
3
4 modules_kext()
5 {
6         KEXT=".ko"
7         echo ${KEXT}
8 }
9
10 modules_dep_list()
11 {
12         KEXT=$(modules_kext)
13         if [ -f ${INSTALL_MOD_PATH}/lib/modules/${KV}/modules.dep ]
14         then
15                 cat ${INSTALL_MOD_PATH}/lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\:  -f2
16         fi
17 }
18
19 # Pass module deps list
20 strip_mod_paths()
21 {
22         local x
23         local ret
24         local myret
25
26         for x in ${*}
27         do
28                 ret=`basename ${x} | cut -d. -f1`
29                 myret="${myret} ${ret}"
30         done
31         echo "${myret}"
32 }
33
34
35 gen_deps()
36 {
37         local modlist
38         local deps
39
40         for x in ${*}
41         do
42                 echo ${x} >> ${TEMP}/moddeps
43                 modlist=`modules_dep_list ${x}`
44                 if [ "${modlist}" != "" -a "${modlist}" != " " ]
45                 then
46                         deps=`strip_mod_paths ${modlist}`
47                 else
48                         deps=""
49                 fi
50                 for y in ${deps}
51                 do
52                         echo ${y} >> ${TEMP}/moddeps
53                 done
54         done
55 }
56
57 gen_dep_list()
58 {
59         if [ "${ALLRAMDISKMODULES}" = "1" ]; then
60                 strip_mod_paths $(find "${INSTALL_MOD_PATH}/lib/modules/${KV}" -name "*$(modules_kext)") | sort
61         else
62                 local group_modules
63                 rm -f ${TEMP}/moddeps > /dev/null
64
65                 for group_modules in ${!MODULES_*}; do
66                         gen_deps ${!group_modules}
67                 done
68
69                 # Only list each module once
70                 if [ -f ${TEMP}/moddeps ]
71                 then
72                     cat ${TEMP}/moddeps | sort | uniq
73                 fi
74         fi
75 }