Updated to add support for dmalloc, and adjusted for better cross

compiler support.
 -Erik
This commit is contained in:
Eric Andersen
2000-07-19 17:33:54 +00:00
parent 2ef880b236
commit 1d255be78d

View File

@@ -26,31 +26,48 @@ export VERSION
# Set the following to `true' to make a debuggable build. # Set the following to `true' to make a debuggable build.
# Leave this set to `false' for production use. # Leave this set to `false' for production use.
# eg: `make DODEBUG=true tests' # eg: `make DODEBUG=true tests'
# Do not enable this for production builds...
DODEBUG = false DODEBUG = false
# This enables compiling with dmalloc ( http://dmalloc.com/ )
# which is an excellent public domain mem leak and malloc problem
# detector. To enable dmalloc, before running busybox you will
# want to first set up your environment.
# eg: `export DMALLOC_OPTIONS=debug=0x14f47d83,inter=100,log=logfile`
# Do not enable this for production builds...
DODMALLOC = false
# If you want a static binary, turn this on. # If you want a static binary, turn this on.
DOSTATIC = false DOSTATIC = false
# If you are running a cross compiler, you may want to set this
# to something more interesting...
CROSS =
CC = $(CROSS)gcc
STRIPTOOL = $(CROSS)strip
# To compile vs an alternative libc, you may need to use/adjust # To compile vs an alternative libc, you may need to use/adjust
# the following lines to meet your needs. This is how I did it... # the following lines to meet your needs. This is how I make
# busybox compile with uC-Libc...
#LIBCDIR=/home/andersen/CVS/uC-libc
#GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp") #GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp")
#CFLAGS+=-nostdinc -fno-builtin -I/home/andersen/CVS/uC-libc/include -I$(GCCINCDIR) #CFLAGS+=-nostdinc -fno-builtin -I$(LIBCDIR)/include -I$(GCCINCDIR)
#LDFLAGS+=-nostdlib #LDFLAGS+=-nostdlib
#LIBRARIES = /home/andersen/CVS/uC-libc/libc.a #LIBRARIES = $(LIBCDIR)/libc.a
#--------------------------------------------------------
CC = gcc
# use '-Os' optimization if available, else use -O2 # use '-Os' optimization if available, else use -O2
OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
then echo "-Os"; else echo "-O2" ; fi) then echo "-Os"; else echo "-O2" ; fi)
ifeq ($(DODMALLOC),true)
# Allow alternative stripping tools to be used... # For testing mem leaks with dmalloc
ifndef $(STRIPTOOL) CFLAGS+=-DDMALLOC
STRIPTOOL = strip LIBRARIES = -ldmalloc
# Force debug=true, since this is useless when not debugging...
DODEBUG = true
endif endif
# -D_GNU_SOURCE is needed because environ is used in init.c # -D_GNU_SOURCE is needed because environ is used in init.c
ifeq ($(DODEBUG),true) ifeq ($(DODEBUG),true)
CFLAGS += -Wall -g -D_GNU_SOURCE CFLAGS += -Wall -g -D_GNU_SOURCE