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.