13e12c5d1SDavid du Colombier #include "mk.h"
23e12c5d1SDavid du Colombier
33e12c5d1SDavid du Colombier Job *
newjob(Rule * r,Node * nlist,char * stem,char ** match,Word * pre,Word * npre,Word * tar,Word * atar)4*7dd7cddfSDavid du Colombier newjob(Rule *r, Node *nlist, char *stem, char **match, Word *pre, Word *npre, Word *tar, Word *atar)
53e12c5d1SDavid du Colombier {
63e12c5d1SDavid du Colombier register Job *j;
73e12c5d1SDavid du Colombier
83e12c5d1SDavid du Colombier j = (Job *)Malloc(sizeof(Job));
93e12c5d1SDavid du Colombier j->r = r;
103e12c5d1SDavid du Colombier j->n = nlist;
113e12c5d1SDavid du Colombier j->stem = stem;
123e12c5d1SDavid du Colombier j->match = match;
133e12c5d1SDavid du Colombier j->p = pre;
143e12c5d1SDavid du Colombier j->np = npre;
153e12c5d1SDavid du Colombier j->t = tar;
163e12c5d1SDavid du Colombier j->at = atar;
173e12c5d1SDavid du Colombier j->nproc = -1;
183e12c5d1SDavid du Colombier j->next = 0;
193e12c5d1SDavid du Colombier return(j);
203e12c5d1SDavid du Colombier }
213e12c5d1SDavid du Colombier
223e12c5d1SDavid du Colombier void
dumpj(char * s,Job * j,int all)233e12c5d1SDavid du Colombier dumpj(char *s, Job *j, int all)
243e12c5d1SDavid du Colombier {
25*7dd7cddfSDavid du Colombier Bprint(&bout, "%s\n", s);
263e12c5d1SDavid du Colombier while(j){
27*7dd7cddfSDavid du Colombier Bprint(&bout, "job@%p: r=%p n=%p stem='%s' nproc=%d\n",
283e12c5d1SDavid du Colombier j, j->r, j->n, j->stem, j->nproc);
29*7dd7cddfSDavid du Colombier Bprint(&bout, "\ttarget='%s' alltarget='%s' prereq='%s' nprereq='%s'\n",
30*7dd7cddfSDavid du Colombier wtos(j->t, ' '), wtos(j->at, ' '), wtos(j->p, ' '), wtos(j->np, ' '));
313e12c5d1SDavid du Colombier j = all? j->next : 0;
323e12c5d1SDavid du Colombier }
333e12c5d1SDavid du Colombier }
34