compile and make