diff --git a/applets/individual.c b/applets/individual.c new file mode 100644 index 000000000..0af256c6c --- /dev/null +++ b/applets/individual.c @@ -0,0 +1,26 @@ +/* Minimal wrapper to build an individual busybox applet. + * + * Copyright 2005 Rob Landley +#include +#include "usage.h" + +int main(int argc, char *argv[]) +{ + bb_applet_name=argv[0]; + + return APPLET_main(argc,argv); +} + +void bb_show_usage(void) +{ + printf(APPLET_full_usage "\n"); + + exit(1); +} diff --git a/scripts/individual b/scripts/individual new file mode 100755 index 000000000..a4e433ca8 --- /dev/null +++ b/scripts/individual @@ -0,0 +1,37 @@ +#!/bin/sh + +# Make our prerequisites. + +make busybox.links include/bb_config.h + +# Adding "libbb/libbb.a" to the previous line doesn't work, nor does going +# "make libbb.a" in the libb directory. The busybox makefile has layers and +# layers of overcomplicated brokenness... + +cd libbb +make +cd .. + +# Here are a few that build in a standard way. Others are easy to get to +# build, for example miscutils/dc needs -lm and most of loginutils/* needs +# -lcrypt... + +rm -rf build +mkdir build +for APPLET in `sed 's .*/ ' busybox.links` +do + j=`find . -name "$APPLET.c"` + if [ -z "$j" ] + then + echo no file for $APPLET + else + echo "Building $APPLET..." + gcc -Os -o build/$APPLET applets/individual.c $j libbb/libbb.a -Iinclude -DAPPLET_main=${APPLET}_main -DAPPLET_full_usage=${APPLET}_full_usage + if [ $? -ne 0 ]; + then + echo "Failed." + fi + fi +done + +strip build/*