Compiling a program from source