Compiling Multiple Files: Some Theory