aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 15 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index de6591c0e..8bd9c0e63 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,11 @@ VERSION := 0.48pre
BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
export VERSION
+# With a modern GNU make(1) (highly recommended, that's what all the
+# developers use), all of the following configuration values can be
+# overridden at the command line. For example:
+# make CROSS=powerpc-linux- BB_SRC_DIR=$HOME/busybox PREFIX=/mnt/app
+
# If you want a static binary, turn this on.
DOSTATIC = false
@@ -49,10 +54,12 @@ DODMALLOC = false
# larger than 2GB!
DOLFS = false
+# If you have a "pristine" source directory, point BB_SRC_DIR to it.
+BB_SRC_DIR = .
# If you are running a cross compiler, you may want to set this
-# to something more interesting...
-CROSS = #powerpc-linux-
+# to something more interesting, like "powerpc-linux-".
+CROSS =
CC = $(CROSS)gcc
STRIPTOOL = $(CROSS)strip
@@ -73,6 +80,8 @@ OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&
WARNINGS = -Wall
+VPATH += :$(BB_SRC_DIR)
+
ifeq ($(DOLFS),true)
# For large file summit support
CFLAGS+=-D_FILE_OFFSET_BITS=64
@@ -113,7 +122,7 @@ ifndef $(PREFIX)
PREFIX = `pwd`/_install
endif
-OBJECTS = $(shell ./busybox.sh) busybox.o messages.o usage.o utility.o
+OBJECTS = $(shell cd $(BB_SRC_DIR); ./busybox.sh) busybox.o messages.o usage.o utility.o
CFLAGS += -DBB_VER='"$(VERSION)"'
CFLAGS += -DBB_BT='"$(BUILDTIME)"'
ifdef BB_INIT_SCRIPT
@@ -177,18 +186,18 @@ busybox.links: Config.h
- ./busybox.mkll | sort >$@
nfsmount.o cmdedit.o: %.o: %.h
-$(OBJECTS): %.o: Config.h busybox.h %.c Makefile
+$(OBJECTS): %.o: %.c Config.h busybox.h Makefile
utility.o: loop.h
loop.h:
- @./mk_loop_h.sh
+ @$(BB_SRC_DIR)/mk_loop_h.sh
test tests:
cd tests && $(MAKE) all
clean:
- cd tests && $(MAKE) clean
+ - cd tests && $(MAKE) clean
- rm -f docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html \
docs/busybox.lineo.com/BusyBox.html
- rm -f docs/busybox.txt docs/busybox.dvi docs/busybox.ps \