If you have your source checked out of cvs you can use cvs to do this. This has the advantage that the generated diff is against the newest cvs version.
cvs diff -u your_file_1 your_file_2 etc.
you can also give cvs directories as arguments, even .
cvs diff -u . > your_patchfile.diff
(when running diff without cvs you need to make it recursively -- diff -urb folder)