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