if the file that rule refers to has never been compiled, what does this function return?
int compare_time(Rule *rule) {
    struct stat target_stat;

    Dependency *dep_cur = rule->dependencies;

    if (stat(rule->target, &target_stat) < 0) {
        // target file was never executed, so need to run actions
        return 1;
    }
    return 0;
}