PROG=busybox
-VERSION=0.37
+VERSION=0.41
BUILDTIME=$(shell date "+%Y%m%d-%H%M")
# Comment out the following to make a debuggable build
#This will choke on a non-debian system
ARCH=`uname -m | sed -e 's/i.86/i386/' | sed -e 's/sparc.*/sparc/'`
-GCCMAJVERSION=`$(CC) --version | sed -n "s/^\([0-9]\)\.\([0-9].*\)[\.].*/\1/p"`
-GCCMINVERSION=`$(CC) --version | sed -n "s/^\([0-9]\)\.\([0-9].*\)[\.].*/\2/p"`
+GCCMAJVERSION=$(shell $(CC) --version | sed -n "s/^\([^\.]*\).*/\1/p" )
+GCCMINVERSION=$(shell $(CC) --version | sed -n "s/^[^\.]*\.\([^\.]*\)[\.].*/\1/p" )
+GCCEGCS=$(shell $(CC) --version | sed -n "s/.*\(egcs\).*/\1/p" )
GCCSUPPORTSOPTSIZE=$(shell \
if ( test $(GCCMAJVERSION) -eq 2 ) ; then \
- if ( test $(GCCMINVERSION) -ge 91 ) ; then \
+ if ( test $(GCCMINVERSION) -ge 66 ) ; then \
echo "true"; \
else \
echo "false"; \
fi; \
fi; )
+GCCISEGCS=$(shell \
+if ( test "x$(GCCEGCS)" == "xegcs" ) ; then \
+ echo "true"; \
+ else \
+ echo "false"; \
+ fi; )
+
+EGCSEXTREMEFLAGS = -m386 -mcpu=i386 -march=i386 -malign-jumps=1 -malign-loops=1 -malign-functions=1
+GCCEXTREMEFLAGS = -m386 -malign-jumps=1 -malign-loops=1 -malign-functions=1
+
+ifeq ($(GCCISEGCS), true)
+ EXTREMEFLAGS = $(EGCSEXTREMEFLAGS)
+else
+ EXTREMEFLAGS = $(GCCEXTREMEFLAGS)
+endif
ifeq ($(GCCSUPPORTSOPTSIZE), true)
- OPTIMIZATION=-Os
+ OPTIMIZATION=-Os $(EXTREMEFLAGS)
else
- OPTIMIZATION=-O2
+ OPTIMIZATION=-O2 $(EXTREMEFLAGS)
endif
# -D_GNU_SOURCE is needed because environ is used in init.c
endif
ifndef $(PREFIX)
- PREFIX=`pwd`/busybox_install
+ PREFIX=`pwd`/_install
endif
LIBRARIES=
OBJECTS=$(shell ./busybox.sh)
CFLAGS+= -DBB_VER='"$(VERSION)"'
CFLAGS+= -DBB_BT='"$(BUILDTIME)"'
-ifdef BB_INIT_RC_EXIT_CMD
- CFLAGS += -DBB_INIT_CMD_IF_RC_SCRIPT_EXITS=${BB_INIT_RC_EXIT_CMD}
+ifdef BB_INIT_SCRIPT
+ CFLAGS += -DINIT_SCRIPT=${BB_INIT_SCRIPT}
endif
all: busybox busybox.links
clean:
- rm -f $(PROG) busybox.links *~ *.o core
- - rm -rf busybox_install
+ - rm -rf _install
distclean: clean
- rm -f $(PROG)
dist: release
release: distclean
- (cd .. ; rm -rf busybox-$(VERSION) ; cp -a busybox busybox-$(VERSION); rm -rf busybox-$(VERSION)/CVS busybox-$(VERSION)/.cvsignore ; tar -cvzf busybox-$(VERSION).tar.gz busybox-$(VERSION))
+ (cd .. ; rm -rf busybox-$(VERSION) ; cp -a busybox busybox-$(VERSION); rm -rf busybox-$(VERSION)/CVS busybox-$(VERSION)/scripts/CVS busybox-$(VERSION)/docs/CVS busybox-$(VERSION)/.cvsignore ; tar -cvzf busybox-$(VERSION).tar.gz busybox-$(VERSION))