Index: Makefile
===================================================================
--- Makefile	(revision 2fff3c4405a90b5bd3f42603d5368be8b87be9e7)
+++ Makefile	(revision e428becb1f92b5b4d8d6b10b19091c39ea1b79f9)
@@ -39,4 +39,6 @@
 MESON = meson
 
+BUILD_DIR=$(abspath build)
+
 CONFIG_RULES = HelenOS.config
 
@@ -64,12 +66,12 @@
 
 all: common export-cross test-xcw
-	$(MAKE) -r -C boot PRECHECK=$(PRECHECK)
+	$(MAKE) -r -C boot PRECHECK=$(PRECHECK) BUILD_DIR=$(BUILD_DIR)
 
-build/build.ninja: Makefile.config version
-	PATH="$(CROSS_PATH):$$PATH" meson . build --cross-file meson/cross/$(UARCH) $(MESON_ARGS)
+$(BUILD_DIR)/build.ninja: Makefile.config version
+	PATH="$(CROSS_PATH):$$PATH" meson . $(BUILD_DIR) --cross-file meson/cross/$(UARCH) $(MESON_ARGS)
 
-common: $(COMMON_MAKEFILE) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(ERRNO_HEADER) build/build.ninja
-	PATH="$(CROSS_PATH):$$PATH" ninja -C build
-	PATH="$(CROSS_PATH):$$PATH" DESTDIR="$$PWD/dist" meson install --no-rebuild --only-changed -C build > build/install.log
+common: $(COMMON_MAKEFILE) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(ERRNO_HEADER) $(BUILD_DIR)/build.ninja
+	PATH="$(CROSS_PATH):$$PATH" ninja -C $(BUILD_DIR)
+	PATH="$(CROSS_PATH):$$PATH" DESTDIR="$(BUILD_DIR)/dist" meson install --no-rebuild --only-changed -C $(BUILD_DIR) > $(BUILD_DIR)/install.log
 
 test-xcw: common export-cross
