Digging up my old "make standalone" stuff from a year ago: http://busybox.net/lists/busybox/2005-September/015766.html
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -0,0 +1,26 @@ | |
| + | /* Minimal wrapper to build an individual busybox applet. |
| + | * |
| + | * Copyright 2005 Rob Landley <[email protected] |
| + | * |
| + | * Licensed under GPLv2 or later, see file License in this tarball for details |
| + | */ |
| + | |
| + | const char *bb_applet_name; |
| + | |
| + | #include <stdio.h> |
| + | #include <stdlib.h> |
| + | #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); |
| + | } |
| @@ -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/* |