X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=busybox.mkll;h=4e15e1611a5aa6889047f74c8e18f2ced81320ef;hb=6fc92a506ab3c490a4dc028334c908f19c0d0806;hp=e43a1ccb072e939876b583c8360ea4ba1821fcdb;hpb=cc8ed39b240180b58810784f844e253263594ac3;p=oweals%2Fbusybox.git diff --git a/busybox.mkll b/busybox.mkll index e43a1ccb0..4e15e1611 100755 --- a/busybox.mkll +++ b/busybox.mkll @@ -1,17 +1,24 @@ #!/bin/sh -#Make busybox links list file +# Make busybox links list file. -DF="busybox.def.h" -MF="main.c" +# input $1: full path to Config.h +# input $2: full path to applets.h +# output (stdout): list of pathnames that should be linked to busybox -LIST="$(sed -n '/^#define/{s/^#define //p;}' $DF)" +# Maintainer: Larry Doolittle - for def in ${LIST}; do - - set -- $(sed -n '/^#ifdef '$def'[ +| +].*/,/^#endif/{s/.*\/\///p; /^{ /{ s/^{ "//; s/",.*$//p;}; }' $MF) - path=$1; shift - - for n in $@; do - echo "$path/$n" - done - done +export LC_ALL=POSIX +export LC_CTYPE=POSIX + +CONFIG_H=${1:-Config.h} +APPLETS_H=${2:-applets.h} +gcc -E -DMAKE_LINKS -include $CONFIG_H $APPLETS_H | + awk '/^[ \t]*LINK/{ + dir=substr($2,8) + gsub("_","/",dir) + if(dir=="/ROOT") dir="" + file=$3 + gsub("\"","",file) + if (file=="busybox") next + print tolower(dir) "/" file + }'