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
)
36 cd
$@
/src
/$(PROJECT
)/build
&& $(MAKE
) clean
37 cd
$@
/src
/$(PROJECT
)/build
&& set
`find -type f` > /dev
/null
&& test $$# = 1
45 (cd
$@
&& patch
-p0
) < ..
/solutions
/$@.patch
50 p2
: PROJECT
= userprog
54 # Tests that just compile the provided code.
58 $(run-tests
) TESTS
=tests
/threads
/alarm-single
71 # Tests for the reference solutions.