compile before preprocessing