ref: aa7c8cac1145d0cd6e9117deaa1f8c9f418bca17
dir: /sys/src/cmd/syscall/mkfile/
</$objtype/mkfile TARG=syscall OFILES=syscall.$O\ HFILES=tab.h\ BIN=/$objtype/bin UPDATE=\ mkfile\ ${OFILES:%.$O=%.c}\ ${TARG:%=/386/bin/%}\ </sys/src/cmd/mkone SYSCALL=/sys/src/libc/9syscall/sys.h tab.h: $SYSCALL awk ' BEGIN{ print "enum{" } { printf "%s, ", $2 } END{ print "READ, WRITE, NTAB" print "};" }' <$SYSCALL >$target awk ' BEGIN{ print "struct Call tab[] = {" } { printf "[%s] \"%s\", (int(*)(...))%s,\n", $2, tolower($2), tolower($2) } END{ print "[READ] \"read\", (int(*)(...))read," print "[WRITE] \"write\", (int(*)(...))write," print "[NTAB] nil, 0" print "};" }' <$SYSCALL >>$target clean:V: rm -f *.[$OS] [$OS].out $TARG $HFILES