1 TESTS
= examples threads p1 userprog p2 vm p3 filesys p4
3 PATH
:= $(shell pwd
)/..
/src
/utils
:$(PATH
)
6 @echo
"This Makefile has only \`check' targets."
9 $(MAKE
) -C ..
distclean
10 for d in
$(TESTS
); do
$(MAKE
) $$d || exit
1; done
11 @echo All tests passed.
17 rm -rf
$@
&& mkdir
$@
&& cp
-R ..
/src
$@
/src
18 cd
$@
/src
&& $(MAKE
) -s
clean
22 cd
$@
/src
/$(PROJECT
) && time
$(MAKE
) check
26 cd
$@
/src
/$(PROJECT
) && $(MAKE
) grade
27 cd
$@
/src
/$(PROJECT
) && grep
-q PERFECT build
/grade
28 cd
$@
/src
/$(PROJECT
) && grep
-qv warning build
/grade
32 cd
$@
/src
/$(PROJECT
) && $(MAKE
)
40 (cd
$@
&& patch
-p0
) < ..
/solutions
/$@.patch
45 p2
: PROJECT
= userprog
49 # Tests that just compile the provided code.
53 $(run-tests
) TESTS
=tests
/threads
/alarm-single
55 examples userprog vm filesys
::
60 # Tests for the reference solutions.