Annotation of researchv10no/cmd/mk/export/builtins.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.