X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Makefile;h=386d8c32839e342476c0f525a7944c24ccd092ab;hb=36fe1a30b1958351de2b8065cb19d3d1b8ed1b33;hp=1ea5368d08c468dc5f7b47197cd3fc1f019bcd80;hpb=3d427ac5efd249dc25dd03deb30520335f68911a;p=oweals%2Fbusybox.git diff --git a/Makefile b/Makefile index 1ea5368d0..386d8c328 100644 --- a/Makefile +++ b/Makefile @@ -26,11 +26,17 @@ export VERSION # Set the following to `true' to make a debuggable build. # Leave this set to `false' for production use. # eg: `make DODEBUG=true tests' -DODEBUG = true +DODEBUG = false # If you want a static binary, turn this on. DOSTATIC = false +# 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... +#CFLAGS+=-nostdinc -I/home/andersen/CVS/uC-libc/include -I/usr/include/linux +#LDFLAGS+=-nostdlib -L/home/andersen/CVS/libc.a + + CC = gcc # use '-Os' optimization if available, else use -O2 @@ -43,10 +49,6 @@ ifndef $(STRIPTOOL) STRIPTOOL = strip endif -# TODO: Try compiling vs other libcs. -# See what -nostdinc and -nostdlib do for them. -# also try --prefix=/usr/my-libc-stuff - # -D_GNU_SOURCE is needed because environ is used in init.c ifeq ($(DODEBUG),true) CFLAGS += -Wall -g -D_GNU_SOURCE @@ -59,6 +61,16 @@ else #Only staticly link when _not_ debugging ifeq ($(DOSTATIC),true) LDFLAGS += --static + # + #use '-ffunction-sections -fdata-sections' and '--gc-sections' if they work + #to try and strip out any unused junk. Doesn't do much for me, but you may + #want to give it a shot... + # + #ifeq ($(shell $(CC) -ffunction-sections -fdata-sections -S \ + # -o /dev/null -xc /dev/null 2>/dev/null && $(LD) --gc-sections -v >/dev/null && echo 1),1) + # CFLAGS += -ffunction-sections -fdata-sections + # LDFLAGS += --gc-sections + #endif endif endif @@ -66,6 +78,7 @@ ifndef $(PREFIX) PREFIX = `pwd`/_install endif + LIBRARIES = OBJECTS = $(shell ./busybox.sh) busybox.o messages.o utility.o CFLAGS += -DBB_VER='"$(VERSION)"' @@ -74,13 +87,6 @@ ifdef BB_INIT_SCRIPT CFLAGS += -DINIT_SCRIPT='"$(BB_INIT_SCRIPT)"' endif -# use '-ffunction-sections -fdata-sections' and '--gc-sections' if they work -ifeq ($(shell $(CC) -ffunction-sections -fdata-sections -S \ - -o /dev/null -xc /dev/null && $(LD) --gc-sections -v >/dev/null && echo 1),1) - CFLAGS += -ffunction-sections -fdata-sections -DFUNCTION_SECTIONS - LDFLAGS += --gc-sections -endif - all: busybox busybox.links doc doc: docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html @@ -89,16 +95,18 @@ docs/BusyBox.txt: docs/busybox.pod @echo @echo BusyBox Documentation @echo - pod2text docs/busybox.pod > docs/BusyBox.txt + - pod2text docs/busybox.pod > docs/BusyBox.txt docs/BusyBox.1: docs/busybox.pod - pod2man --center=BusyBox --release="version $(VERSION)" docs/busybox.pod > docs/BusyBox.1 + - pod2man --center=BusyBox --release="version $(VERSION)" docs/busybox.pod > docs/BusyBox.1 -docs/BusyBox.html: docs/busybox.pod - pod2html docs/busybox.pod > docs/BusyBox.html - - rm -f pod2html* +docs/BusyBox.html: docs/busybox.lineo.com/BusyBox.html + - rm -f docs/BusyBox.html + - ln -s busybox.lineo.com/BusyBox.html docs/BusyBox.html -clean: +docs/busybox.lineo.com/BusyBox.html: docs/busybox.pod + - pod2html docs/busybox.pod > docs/busybox.lineo.com/BusyBox.html + - rm -f pod2html* busybox: $(OBJECTS) $(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES) @@ -117,7 +125,8 @@ clean: - rm -f busybox.links *~ *.o core - rm -rf _install - cd tests && $(MAKE) clean - - rm -f BusyBox.html BusyBox.1 BusyBox.txt pod2html* + - rm -f docs/BusyBox.html docs/busybox.lineo.com/BusyBox.html \ + docs/BusyBox.1 docs/BusyBox.txt pod2html* distclean: clean - rm -f busybox