aboutsummaryrefslogtreecommitdiff
path: root/src/libthread/mkfile
blob: 5a6913ea45430476fc0f0397a145ef9394ed354c (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<$PLAN9/src/mkhdr

SYSOFILES=`{sh ./sysofiles.sh}
LIB=libthread.a
OFILES=\
	$SYSOFILES\
	channel.$O\
	daemonize.$O\
	exec.$O\
	ioproc.$O\
	iorw.$O\
	ref.$O\
	thread.$O\

<$PLAN9/src/mksyslib

HFILES=thread.h threadimpl.h
OpenBSD.$O FreeBSD.$O: BSD.c
NetBSD.$O: Linux.c

tprimes: tprimes.$O
	9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread
tspawn: tspawn.$O
	9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread
tspawnloop: tspawnloop.$O
	9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread

%.$O: %.c
	$CC $CFLAGS -I. $stem.c

# cannot use generic .S rule because it conflicts
# with generic .s rule in mkcommon on case-insensitive
# systems like Mac OS X.

OpenBSD-power-asm.$O:	OpenBSD-power-asm.S
	$CC $CFLAGS $stem.S
	

test:V: tprimes tspawn
	primes 1 10007 >p1.txt
	$PLAN9/bin/time ./tprimes 10000 >tp1.txt
	cmp p1.txt tp1.txt
	primes 1 1009 >p2.txt
	$PLAN9/bin/time ./tprimes 1000 >tp2.txt
	cmp p2.txt tp2.txt
	echo tspawn should take 3 seconds, not 6
	$PLAN9/bin/time ./tspawn sleep 3 >/dev/null

CLEANFILES=p1.txt p2.txt tp1.txt tp2.txt