diff options
Diffstat (limited to 'applets')
-rw-r--r-- | applets/Kbuild | 9 | ||||
-rw-r--r-- | applets/usage.c | 17 | ||||
-rwxr-xr-x | applets/usage_compressed | 19 |
3 files changed, 42 insertions, 3 deletions
diff --git a/applets/Kbuild b/applets/Kbuild index 9bb4b6292..c95c09d97 100644 --- a/applets/Kbuild +++ b/applets/Kbuild | |||
@@ -12,7 +12,10 @@ obj-y += busybox.o | |||
12 | 12 | ||
13 | applets/applets.o: include/usage_compressed.h | 13 | applets/applets.o: include/usage_compressed.h |
14 | 14 | ||
15 | include/usage_compressed.h: $(srctree)/include/usage.h | 15 | hostprogs-y += usage |
16 | @$(MAKE) $(build)=scripts | 16 | always := $(hostprogs-y) |
17 | HOSTCFLAGS_usage.o = -I$(srctree)/include | ||
18 | |||
19 | include/usage_compressed.h: $(srctree)/include/usage.h applets/usage | ||
17 | @echo ' GEN include/usage_compressed.h' | 20 | @echo ' GEN include/usage_compressed.h' |
18 | @$(srctree)/scripts/usage_compressed include/usage_compressed.h scripts | 21 | @$(srctree)/applets/usage_compressed include/usage_compressed.h applets |
diff --git a/applets/usage.c b/applets/usage.c new file mode 100644 index 000000000..d888fa93d --- /dev/null +++ b/applets/usage.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | #include <unistd.h> | ||
3 | |||
4 | #include "../include/autoconf.h" | ||
5 | #include "../include/busybox.h" | ||
6 | |||
7 | static const char usage_messages[] = | ||
8 | #define MAKE_USAGE | ||
9 | #include "usage.h" | ||
10 | #include "applets.h" | ||
11 | ; | ||
12 | |||
13 | int main(void) | ||
14 | { | ||
15 | write(1, usage_messages, sizeof(usage_messages)); | ||
16 | return 0; | ||
17 | } | ||
diff --git a/applets/usage_compressed b/applets/usage_compressed new file mode 100755 index 000000000..ab164aa12 --- /dev/null +++ b/applets/usage_compressed | |||
@@ -0,0 +1,19 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | target="$1" | ||
4 | loc="$2" | ||
5 | |||
6 | test "$target" || exit 1 | ||
7 | test "$loc" || loc=. | ||
8 | test -x "$loc/usage" || exit 1 | ||
9 | test "$SED" || SED=sed | ||
10 | |||
11 | sz=`"$loc/usage" | wc -c` || exit 1 | ||
12 | |||
13 | exec >"$target" | ||
14 | |||
15 | echo 'static const char packed_usage[] = ' | ||
16 | "$loc/usage" | bzip2 -1 | od -v -t x1 \ | ||
17 | | $SED -e 's/^[^ ]*//' -e 's/ \(..\)/\\x\1/g' -e 's/^\(.*\)$/"\1"/' | ||
18 | echo ';' | ||
19 | echo '#define SIZEOF_usage_messages' `expr 0 + $sz` | ||