pintos: Avoid literal control character in Perl variable name.
[pintos-anon] / src / Makefile.kernel
index fe63d5273174e5a00a21bb57ca2a8a2db508d9d2..162a4114256891794606019b106dc6d67353c323 100644 (file)
@@ -1,17 +1,20 @@
+# -*- makefile -*-
+
+all:
+
 include Make.vars
-BUILD_SUBDIRS = $(addprefix build/, $(SUBDIRS))
-CP = cp
-MKDIR = mkdir
 
-all: build build/Makefile $(BUILD_SUBDIRS)
-       $(MAKE) -C build
+DIRS = $(sort $(addprefix build/,$(KERNEL_SUBDIRS) $(TEST_SUBDIRS) lib/user))
 
-$(BUILD_SUBDIRS):
-       $(MKDIR) $@
-build:
-       $(MKDIR) $@
+all grade check: $(DIRS) build/Makefile
+       cd build && $(MAKE) $@
+$(DIRS):
+       mkdir -p $@
 build/Makefile: ../Makefile.build
-       $(CP) $< $@
+       cp $< $@
+
+build/%: $(DIRS) build/Makefile
+       cd build && $(MAKE) $*
 
 clean:
        rm -rf build