Use gcc -E instead of cpp to enhance portability for brain
[oweals/busybox.git] / applets / busybox.mkll
1 #!/bin/sh
2 # Make busybox links list file.
3
4 DF="busybox.def.h"
5 MF="busybox.c"
6
7 #LIST="$(sed -n '/^#define/{s/^#define BB_FEATURE_.*//g;s/^#define //p;}' $DF)"
8 LIST="$(gcc -E -dM $DF | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1/gp;' | sort)"
9
10 for def in ${LIST}; do
11         i=`sed -n '/^#ifdef \<'$def'\>.*/,/^#endif/{ s/.*\"\(.*\)\".*\(_BB_DIR_[A-Z_]*\).*$/\2\/\1/gp; }' $MF`
12         for j in $i; do 
13                 if [ -z $j ] ; then 
14                         continue;
15                 fi;
16                 echo $j | sed -e 's/_BB_DIR_ROOT//g;s/_BB_DIR_BIN/\/bin/g;' \
17                     -e 's/_BB_DIR_SBIN/\/sbin/g;s/_BB_DIR_USR_BIN/\/usr\/bin/g;' \
18                     -e 's/_BB_DIR_USR_SBIN/\/usr\/sbin/g;'
19         done;
20 done