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