job.c 692 B

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