Blame moddep

Bernhard M. Wiedemann 6ebc4a
#!/bin/sh
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
dependencies=$1
Bernhard M. Wiedemann 6ebc4a
modules=$2
Bernhard M. Wiedemann 6ebc4a
result=$3
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
cat $modules | tr ' ' '\n' > $result
Bernhard M. Wiedemann 6ebc4a
echo > $result~
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
while ! diff -q $result~ $result > /dev/null ; do
Bernhard M. Wiedemann 6ebc4a
	cp $result $result~
Bernhard M. Wiedemann 6ebc4a
	while read MOD ; do
Bernhard M. Wiedemann 6ebc4a
		moddeps="$(grep ^$MOD: $dependencies | sed -e 's/.*://' ||:)"
Bernhard M. Wiedemann 6ebc4a
		for DEP in $moddeps ; do
Bernhard M. Wiedemann 6ebc4a
			if ! grep -q ^$DEP\$ $result ; then
Bernhard M. Wiedemann 6ebc4a
				echo $DEP >> $result
Bernhard M. Wiedemann 6ebc4a
				echo $MOD: $DEP
Bernhard M. Wiedemann 6ebc4a
			fi
Bernhard M. Wiedemann 6ebc4a
		done
Bernhard M. Wiedemann 6ebc4a
	done < $result
Bernhard M. Wiedemann 6ebc4a
done