while parsing the makefile, when a dependency is found create a node for it then add to the dependency to the corresponding rule based on the target
typedef struct dep_node {
    struct rule_node *rule;
    struct dep_node *next_dep;
} Dependency;

typedef struct rule_node {
    char *target;
    Dependency *dependencies;
    Action *actions;
    struct rule_node *next_rule;
} Rule;


void add_dependency(Rule *head, char *target) {
    Rule *curr = head;
    Dependency *dependency = malloc(sizeof(Dependency));
               
    while (curr != NULL) {
        if (curr->target == target) {
            curr->dependencies = dependency;
        }
        curr = curr->next_rule;
    }
    
    
}