xref: /plan9-contrib/sys/src/cmd/mk/job.c (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
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