X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=a2940b5ccae91be606babf594a59316e879a83ad;hb=080d51bf455201ea4f815371c556effca6298dc2;hp=032e21663de979eea3a4541eafa35218b5b2af59;hpb=cc54d12ef716e9206344c18006b46386fe49ba9b;p=oweals%2Fbusybox.git diff --git a/Makefile b/Makefile index 032e21663..a2940b5cc 100644 --- a/Makefile +++ b/Makefile @@ -19,45 +19,64 @@ # PROG := busybox -VERSION := 0.45 +VERSION := 0.47pre BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z") export VERSION +# If you want a static binary, turn this on. +DOSTATIC = false + # Set the following to `true' to make a debuggable build. # Leave this set to `false' for production use. # eg: `make DODEBUG=true tests' +# Do not enable this for production builds... DODEBUG = false -# If you want a static binary, turn this on. -DOSTATIC = 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 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 -# 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") -#CFLAGS+=-nostdinc -fno-builtin -I/home/andersen/CVS/uC-libc/include -I$(GCCINCDIR) +#CFLAGS+=-nostdinc -fno-builtin -I$(LIBCDIR)/include -I$(GCCINCDIR) #LDFLAGS+=-nostdlib -#LIBRARIES = /home/andersen/CVS/uC-libc/libc.a +#LIBRARIES = $(LIBCDIR)/libc.a - -CC = gcc +#-------------------------------------------------------- # use '-Os' optimization if available, else use -O2 OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ then echo "-Os"; else echo "-O2" ; fi) +WARNINGS = -Wall -# Allow alternative stripping tools to be used... -ifndef $(STRIPTOOL) - STRIPTOOL = strip +ifeq ($(DODMALLOC),true) + # For testing mem leaks with dmalloc + CFLAGS+=-DDMALLOC + LIBRARIES = -ldmalloc + # Force debug=true, since this is useless when not debugging... + DODEBUG = true endif - # -D_GNU_SOURCE is needed because environ is used in init.c ifeq ($(DODEBUG),true) - CFLAGS += -Wall -g -D_GNU_SOURCE + CFLAGS += $(WARNINGS) -g -D_GNU_SOURCE LDFLAGS += STRIP = else - CFLAGS += -Wall $(OPTIMIZATION) -fomit-frame-pointer -D_GNU_SOURCE + CFLAGS += $(WARNINGS) $(OPTIMIZATION) -fomit-frame-pointer -D_GNU_SOURCE LDFLAGS += -s STRIP = $(STRIPTOOL) --remove-section=.note --remove-section=.comment $(PROG) #Only staticly link when _not_ debugging @@ -80,7 +99,7 @@ ifndef $(PREFIX) PREFIX = `pwd`/_install endif -OBJECTS = $(shell ./busybox.sh) busybox.o messages.o utility.o +OBJECTS = $(shell ./busybox.sh) busybox.o messages.o usage.o utility.o CFLAGS += -DBB_VER='"$(VERSION)"' CFLAGS += -DBB_BT='"$(BUILDTIME)"' ifdef BB_INIT_SCRIPT @@ -149,14 +168,13 @@ test tests: cd tests && $(MAKE) all clean: - - rm -f busybox.links *~ *.o core - - rm -rf _install - - 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 \ docs/busybox.pdf docs/busybox.lineo.com/busybox.html - - rm -rf docs/busybox + - rm -rf docs/busybox _install + - rm -f busybox.links *~ *.o core distclean: clean - rm -f busybox @@ -165,6 +183,9 @@ distclean: clean install: busybox busybox.links ./install.sh $(PREFIX) +install-hardlinks: busybox busybox.links + ./install.sh $(PREFIX) --hardlinks + dist release: distclean doc cd ..; \ rm -rf busybox-$(VERSION); \