endef
$(foreach prog,$(SINGLETONS),$(eval $(call SINGLETON_PROG,$(prog))))
+DISKS = $(patsubst %,%.dsk,$(PROGS))
+
+disks: $(DISKS)
+
+PINTOS = ../../src/utils/pintos
+%.dsk: % os.dsk
+ rm -f $@ fs.dsk
+ $(PINTOS) make-disk fs.dsk 2
+ $(PINTOS) -v run -f -q
+ $(PINTOS) -v put $<
+ mv fs.dsk $@
+
+os.dsk: ../../src/userprog/build/os.dsk
+ ln -sf $< $@
+
+clean::
+ rm -f $(DISKS)
include $(SRCDIR)/Makefile.userprog