summaryrefslogtreecommitdiff
path: root/sys/src/cmd/syscall/mkfile
blob: 9da809b24fe67023204d462fab25732748a28201 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</$objtype/mkfile
CFLAGS=-I/sys/src/libc/9syscall $CFLAGS

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
	sed '/#define._X[0-9_]/d;
		/#define.NSYSCALL/d;
		s/#define.([A-Z0-9_][A-Z0-9_]*).*/	"\1",	(int(*)(...))\1,/' $SYSCALL |
		tr A-Z a-z > tab.h
	echo '	"read",	(int(*)(...))read,' >> tab.h
	echo '	"write",	(int(*)(...))write,' >> tab.h

clean:V:
	rm -f *.[$OS] [$OS].out $TARG $HFILES