Most of the serial console programs (minicom, HyperTerm, VanDyke CRT...) you'll use on the other end of the connection will have Zmodem support, and most Linux boxes have the lrzsz package installed on them already. If not, lrzsz is small enough that you could bootstrap the process with one of the other recommended methods. You could ASCII-upload the sources, either as C text files, or a uuencoded tarball.
Once you have Zmodem on both ends, just type rz to start the receive on the Linux box.
One of the nice things about Zmodem, relative to other alternatives mentioned like nc or kermit, is that it sends out a unique string that the serial console program on the other end recognizes as its cue to start a Zmodem send. You usually get a file picker dialog at this point, letting you choose the file(s) to upload.
Other nice things about Zmodem are the ability to transfer multiple files at once, automatic resume if a transfer aborts, etc.