Update compile and preprocess to recursively include and dedupe