summaryrefslogtreecommitdiff
path: root/busybox.mkll
blob: fba0c8c818826aca61e291a4044e5f0b9c4e13a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
# Make busybox links list file.

DF="busybox.def.h"
MF="busybox.c"

#LIST="$(sed -n '/^#define/{s/^#define BB_FEATURE_.*//g;s/^#define //p;}' $DF)"
LIST="$(gcc -E -dM $DF | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1/gp;' | sort)"

for def in ${LIST}; do
	i=`sed -n '/^#ifdef \<'$def'\>.*/,/^#endif/{ s/.*\"\(.*\)\".*\(_BB_DIR_[A-Z_]*\).*$/\2\/\1/gp; }' $MF`
	for j in $i; do 
		if [ -z $j ] ; then 
			continue;
		fi;
		echo $j | sed -e 's/_BB_DIR_ROOT//g;s/_BB_DIR_BIN/\/bin/g;' \
		    -e 's/_BB_DIR_SBIN/\/sbin/g;s/_BB_DIR_USR_BIN/\/usr\/bin/g;' \
		    -e 's/_BB_DIR_USR_SBIN/\/usr\/sbin/g;'
	done;
done