1 #include "mk.h" 2 3 Job * 4 newjob(Rule *r, Node *nlist, char *stem, Resub *match, Word *pre, Word *npre, Word *tar, Word *atar) 5 { 6 register Job *j; 7 8 j = (Job *)Malloc(sizeof(Job)); 9 j->r = r; 10 j->n = nlist; 11 j->stem = stem; 12 j->match = match; 13 j->p = pre; 14 j->np = npre; 15 j->t = tar; 16 j->at = atar; 17 j->nproc = -1; 18 j->fd = -1; 19 j->next = 0; 20 return(j); 21 } 22 23 void 24 dumpj(char *s, Job *j, int all) 25 { 26 Bprint(&stdout, "%s\n", s); 27 while(j){ 28 Bprint(&stdout, "job@%ld: r=%ld n=%ld stem='%s' nproc=%d\n", 29 j, j->r, j->n, j->stem, j->nproc); 30 Bprint(&stdout, "\ttarget='%s' alltarget='%s' prereq='%s' nprereq='%s'\n", 31 wtos(j->t), wtos(j->at), wtos(j->p), wtos(j->np)); 32 j = all? j->next : 0; 33 } 34 } 35