Makefile shorter + can pass build parameters w/ dependencies + implicit rules.
Git ignore built files.
Sanity check that RAND_FILE is defined.
Quash miscellaneous compiler warnings.

Missing #include for strcmp().
Using char for array index.
Change (A || B && C) to (A || (B && C)) for clarity.
Remove declaration of unused variable.
Add missing return type for main().