@Value.Lazy protected ImmutableList<BuildRule> getPreprocessDeps() { ImmutableList.Builder<BuildRule> builder = ImmutableList.builder(); for (CxxPreprocessorInput input : getCxxPreprocessorInput()) { // Depend on the rules that generate the sources and headers we're compiling. builder.addAll( getPathResolver() .filterBuildRuleInputs( ImmutableList.<SourcePath>builder() .addAll(input.getIncludes().getNameToPathMap().values()) .build())); // Also add in extra deps from the preprocessor input, such as the symlink tree rules. builder.addAll( BuildRules.toBuildRulesFor( getParams().getBuildTarget(), getResolver(), input.getRules())); } return builder.build(); }