|
|
1.1 ! root 1: #include "mk.h" ! 2: ! 3: char *bltin[] = ! 4: { ! 5: "AS", "as", ! 6: "CC", "cc", ! 7: "CFLAGS", "", ! 8: "FC", "f77", ! 9: "FFLAGS", "", ! 10: "LDFLAGS", "", ! 11: "LEX", "lex", ! 12: "LFLAGS", "", ! 13: "NPROC", "1", ! 14: "NREP", "1", ! 15: "YACC", "yacc", ! 16: "YFLAGS", "", ! 17: "BUILTINS", "%.o: %.c\n\ ! 18: $CC $CFLAGS -c $stem.c\n\ ! 19: %.o: %.s\n\ ! 20: $AS -o $stem.o $stem.s\n\ ! 21: %.o: %.f\n\ ! 22: $FC $FFLAGS -c $stem.f\n\ ! 23: %.o: %.y\n\ ! 24: $YACC $YFLAGS $stem.y && $CC $CFLAGS -c y.tab.c && mv y.tab.o $stem.o; rm y.tab.c\n\ ! 25: %.o: %.l\n\ ! 26: $LEX $LFLAGS -t $stem.l > /tmp/$$.c && $CC $CFLAGS -c /tmp/$$.c && mv /tmp/$$.o $stem.o; rm /tmp/$$.c\n", ! 27: "ENVIRON", "", ! 28: 0 ! 29: }; ! 30: ! 31: builtins() ! 32: { ! 33: register char **b; ! 34: ! 35: for(b = bltin; *b; b += 2) ! 36: setvar(b[0], strdup(b[1])); ! 37: } ! 38: ! 39: parsebuiltins() ! 40: { ! 41: char *s, *file; ! 42: int fd; ! 43: int n; ! 44: ! 45: s = symlook("BUILTINS", S_VAR, (char *)0)->value; ! 46: if(*s == 0) ! 47: return; ! 48: file = mktemp("/tmp/mkXXXXXX"); ! 49: if((fd = creat(file, 0600)) < 0){ ! 50: fprint(2, "mk: builtins in "); ! 51: perror(file); ! 52: Exit(); ! 53: } ! 54: if(n = strlen(s)){ ! 55: write(fd, s, n); ! 56: if(s[n-1] != '\n') ! 57: write(fd, "\n", 1); ! 58: } ! 59: close(fd); ! 60: parse("BUILTINS", open(file, 0), 0, 0); ! 61: unlink(file); ! 62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.