YakumoFuji posted on Oct 6 2006 at  12:25 PM said:
			
		
	
	
		
		
			err.. are you SURE you really need all of those libs? thats a lot of libs.. esepcially static...
		
		
	 
Not in that program. Static linking does not glue a library onto an executable just because you show it to the linker. Only adds to it if an object file references a symbol in a library, and only then. I'll cut out half of that and illustrate. The only thing it would do is slow your link time with isn't real noticable  on this 4600+ x2. First I'll take last nights build and name it with a dot all extension and check the size. then make clean and make again with the bobbed makefile below and then list them for size and we'll see the effect. Does seem huge, dynamic version was only 170k, but that's static for you.
#
# $Id: Makefile,v 0.1 2006/10/09 16:35:00 Linus Sphinx $
#
VER = 0.1
PROG = frogs.gpe
PREFIX = tmp
CFLAGS += -g -O2 -Wall -Werror $(shell ../bin/sdl-config --cflags)
LDFLAGS = -static \
-lSDLmain \
-lSDL_mixer \
-lSDL_svg \
-lSDL_ttf \
-lSDL_image \
-lmikmod \
-lreadline \
-lsmpeg \
-logg \
-lvorbis \
-lvorbisidec \
-lvorbisenc \
-lvorbisfile \
-lxml2 \
$(shell ../bin/sdl-config --libs) \
-lz 
OBJET = chardisp.o frogs.o helm.o player.o racket.o room.o sprite.o tank.o util.o magi.o ceo.o
CCODE = $(shell ls *.c)
HEAD = $(shell ls *.h)
all: $(PROG)
$(PROG): $(OBJET)
        ../bin/gp2x-g++ -o $@ $^ $(LDFLAGS) 
        ../bin/gp2x-strip $@
%.o: %.c $(HEAD)
        ../bin/gp2x-gcc $(CFLAGS) -c -o $@ $< 
clean:
        rm -f *.o *~ $(PROG)
cleanzip: cleantmp
        rm -f $(shell basename $(PROG) .gpe)-$(VER).zip
cleantmp:
        rm -rf tmp
zip: all cleanzip cleantmp
        mkdir -p $(PREFIX)/$(shell basename $(PROG) .gpe)/wav
        mkdir -p $(PREFIX)/$(shell basename $(PROG) .gpe)/bmp
        mkdir -p $(PREFIX)/$(shell basename $(PROG) .gpe)/doc
        rm -rf bmp/.xvpics
        cp -a bmp/*.bmp $(PREFIX)/$(shell basename $(PROG) .gpe)/bmp
        cp -a bmp/*.ico $(PREFIX)/$(shell basename $(PROG) .gpe)/bmp
        cp -a bmp/*.elf $(PREFIX)/$(shell basename $(PROG) .gpe)/bmp
        cp -a wav/*.wav $(PREFIX)/$(shell basename $(PROG) .gpe)/wav
        cp -a wav/*.elf $(PREFIX)/$(shell basename $(PROG) .gpe)/wav
        cp -a doc $(PREFIX)/$(shell basename $(PROG) .gpe)
        cp -a $(PROG) $(PREFIX)/$(shell basename $(PROG) .gpe)
        mkdir -p $(PREFIX)/$(shell basename $(PROG) .gpe)/src
        cp -a $(CCODE) $(HEAD) Makefile $(PREFIX)/$(shell basename $(PROG) .gpe)/src
        cd $(PREFIX); zip -r ../$(shell basename $(PROG) .gpe)-$(VER).zip $(shell basename $(PROG) .gpe)
linus@beavis /usr/local/gp2xdev/frogs $ ls -l frogs.gpe*
-rwxr-xr-x 1 linus users 1470848 Oct  5 18:18 frogs.gpe.all
linus@beavis /usr/local/gp2xdev/frogs $ 
linus@beavis /usr/local/gp2xdev/frogs $ make clean
rm -f *.o *~ frogs.gpe
linus@beavis /usr/local/gp2xdev/frogs $ make
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o chardisp.o chardisp.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o frogs.o frogs.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o helm.o helm.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o player.o player.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o racket.o racket.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o room.o room.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o sprite.o sprite.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o tank.o tank.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o util.o util.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o magi.o magi.c 
../bin/gp2x-gcc -g -O2 -Wall -Werror -I/usr/local/gp2xdev/include/SDL -D_REENTRANT -c -o ceo.o ceo.c 
../bin/gp2x-g++ -o frogs.gpe chardisp.o frogs.o helm.o player.o racket.o room.o sprite.o tank.o util.o magi.o ceo.o -static -lSDLmain -lSDL_mixer -lSDL_svg -lSDL_ttf -lSDL_image -lmikmod -lreadline -lsmpeg -logg -lvorbis -lvorbisidec -lvorbisenc -lvorbisfile -lxml2 -L/usr/local/gp2xdev/lib -Wl,-rpath,/usr/local/gp2xdev/lib -lSDL -lpthread -lz  
../bin/gp2x-strip frogs.gpe
linus@beavis /usr/local/gp2xdev/frogs $ ls -l frogs.gpe*
-rwxr-xr-x 1 linus users 1470848 Oct  6 17:32 frogs.gpe
-rwxr-xr-x 1 linus users 1470848 Oct  5 18:18 frogs.gpe.all
linus@beavis /usr/local/gp2xdev/frogs $