Sorry - should have been more explicit about that...
You add a -static switch in the final part of the make process (linking the .o files). So, you could either add it in the Makefile...for example with xv, you could probably just turn the:
$(CC) -o xv $(CFLAGS) $(OBJS) $(LIBS)
line into:
$(CC) -static -o xv $(CFLAGS) $(OBJS) $(LIBS)
OR if you're really lazy like me, you can just run the make as-is and copy/paste the linking line and add the -static flag by hand.
The end result is that you link the static libraries instead of the shared object libraries (*.a instead of *.so), which get written into the binary, potentially making the file much bigger. The advantage is that the executable isn't hunting for libraries that may not be there.
Make sense?
BTW - this only works if you actually have the static libraries as well as the shared object libraries. Look in /usr/lib for *.a files to check...