is there a segmentation fault
Rule *add_target_line(char line[MAXLINE], Rule *head) {
    int first_dependent = 1;
    Rule *new_rule;
    // Get target
    char *token = strtok(line, " ");
    Rule *old_rule = find_rule(token, head);
    if (old_rule == NULL) {
        new_rule = malloc(sizeof(Rule));
        strcpy(new_rule->target, token);
        new_rule->next_rule = NULL;
    } else {
        new_rule = old_rule;
    }

    // Remove :
    token = strtok(NULL, " ");

    while ((token = strtok(NULL, " ")) != NULL) {
        Dependency *new_dep = make_dependency(token, head);
        if (first_dependent == 1) {
            new_rule->dependencies = new_dep;
            first_dependent = 0;
        } else {
            add_dependency(new_rule->dependencies, new_dep);
        }
    }

    return new_rule;
}