diff --git a/build_all b/build_all
index cd98f7eab0f615b37c701b65ae8559c9a2296fd4..de649bcc3cc1a1cc474183611055ce85df33ca87 100755
--- a/build_all
+++ b/build_all
@@ -1,5 +1,7 @@
 #!/bin/sh
 
 chmod o-rwx $(dirname $0)
-make -C src/pip-install-to-json REPO=$(pwd)/repo STATE=$(pwd)/state install
-make -C src/mbed-cli REPO=$(pwd)/repo STATE=$(pwd)/state build
+make -C $(dirname $0)/pip-install-to-json \
+     REPO=$(pwd)/repo STATE=$(pwd)/state install
+make -C $(dirname $0)/mbed-cli \
+     REPO=$(pwd)/repo STATE=$(pwd)/state build
diff --git a/mbed-cli/Makefile b/mbed-cli/Makefile
index 399ce537dec86caafdbd87aa2371a50560f97ca9..48e58115ada100e4686e7e7852553b4b7124facf 100644
--- a/mbed-cli/Makefile
+++ b/mbed-cli/Makefile
@@ -32,10 +32,14 @@ uninstall:
 	flatpak uninstall -y $(TARGET)
 
 .PHONY: setup
-setup:
-	flatpak remote-add --if-not-exists flathub $(FLATHUB_REPO)
-	flatpak install org.freedesktop.Platform//22.08
-	flatpak install org.freedesktop.Sdk//22.08
+.PHONY: setup
+setup: .setup-done
+
+.setup-done:
+	flatpak --user remote-add --if-not-exists flathub $(FLATHUB_REPO)
+	flatpak --user install -y org.freedesktop.Platform//22.08
+	flatpak --user install -y org.freedesktop.Sdk//22.08
+	touch $@
 
 manual-%.json: manual-%.install
 
diff --git a/pip-install-to-json/Makefile b/pip-install-to-json/Makefile
index e498824b856a94fa0278a56c9865262765d48759..3d2f3fa7f46a3b3c46331ed21765a148d0f19c8d 100644
--- a/pip-install-to-json/Makefile
+++ b/pip-install-to-json/Makefile
@@ -26,9 +26,9 @@ uninstall:
 setup: .setup-done
 
 .setup-done:
-	flatpak remote-add --if-not-exists flathub $(FLATHUB_REPO)
-	flatpak install org.freedesktop.Platform//22.08
-	flatpak install org.freedesktop.Sdk//22.08
+	flatpak --user remote-add --if-not-exists flathub $(FLATHUB_REPO)
+	flatpak --user install -y org.freedesktop.Platform//22.08
+	flatpak --user install -y org.freedesktop.Sdk//22.08
 	touch $@
 
 pip+wheel.json: Makefile