save all token pointers into an array of dependency struct pointers
    while (fgets(line, fp) != 0) {
        char *target = strtok(line, delim);
        token = strtok(NULL, delim);  // start at token after target
        int num_dependencies; // keep track of # deps -> initialize list of dep pointers

        // initializer list of dep pointers

        while (token != NULL) {
            if (strcmp(token, ":") == 0) {  // skip over the colon ':'
                token = strtok(NULL, delim);
            }

            // the remaining tokens are all dependencies
            // all dependencies are also rules, so initialize each as a rule_node struct
            Rule *new_rule_dep;
            strncpy(new_rule_dep->target, token, MAXLINE);

            // initialize dependency as new_dep
            Dependency *new_dep;
            new_dep->rule = new_rule_dep;

            token = strtok(NULL, delim);
            num_dependencies++;
        }

        file_line_number++;  // move on to next line in the file
    }