diff options
Diffstat (limited to 'applets')
-rw-r--r-- | applets/busybox.c | 4 | ||||
-rwxr-xr-x | applets/busybox.mkll | 3 | ||||
-rwxr-xr-x | applets/busybox.sh | 11 |
3 files changed, 11 insertions, 7 deletions
diff --git a/applets/busybox.c b/applets/busybox.c index 7582647..ee745e7 100644 --- a/applets/busybox.c +++ b/applets/busybox.c @@ -4,10 +4,6 @@ #include <string.h> #include <errno.h> -#ifndef BB_INIT -#undef BB_FEATURE_LINUXRC -#endif - static int been_there_done_that = 0; /* It has been alledged that doing such things can diff --git a/applets/busybox.mkll b/applets/busybox.mkll index fa1bff2..90f28e8 100755 --- a/applets/busybox.mkll +++ b/applets/busybox.mkll @@ -4,7 +4,8 @@ DF="busybox.def.h" MF="busybox.c" -LIST="$(sed -n '/^#define/{s/^#define BB_FEATURE_.*//g;s/^#define //p;}' $DF)" +#LIST="$(sed -n '/^#define/{s/^#define BB_FEATURE_.*//g;s/^#define //p;}' $DF)" +LIST="$(cpp $DF -dM | 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` diff --git a/applets/busybox.sh b/applets/busybox.sh index 304ac87..c4e241f 100755 --- a/applets/busybox.sh +++ b/applets/busybox.sh @@ -1,3 +1,10 @@ #!/bin/sh -sed -n -e 's/^#define.*BB_FEATURE.*$//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;' \ - -e '/^#define/{s/.*bb_//;s/$/.o/p;}' busybox.def.h + +# I added in the extra "ls" so only source files that +# actually exist will show up in the compile list. +ls -1 ` \ + cpp busybox.def.h -dM | \ + sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \ + | tr [:upper:] [:lower:] | sort +` 2>/dev/null | sed -e 's/\.c$/\.o/g' + |