preprocess before build