Makefile: handle MS Store's Python 3
authorMaxim Belkin <maxim.belkin@gmail.com>
Mon, 9 Dec 2019 22:45:16 +0000 (16:45 -0600)
committerMaxim Belkin <maxim.belkin@gmail.com>
Mon, 9 Dec 2019 22:45:16 +0000 (16:45 -0600)
Makefile

index ba5080ad585489ffed3fcf2e5a0d53a9cf519b4e..a0cad9eeeb25725cc5f15a971a93976432eb300a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,17 +10,25 @@ DST=_site
 
 # Check Python 3 is installed and determine if it's called via python3 or python
 # (https://stackoverflow.com/a/4933395)
-ifneq (, $(shell which python3 2>/dev/null))
-  PYTHON := python3
-else ifneq (, $(shell which python 2>/dev/null))
-  PYTHON_VERSION_FULL := $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
-  PYTHON_VERSION_MAJOR := $(word 1,${PYTHON_VERSION_FULL})
-  ifneq (3, ${PYTHON_VERSION_MAJOR})
-    $(error "Your system does not appear to have Python 3 installed.")
+PYTHON3_EXE := $(shell which python3 2>/dev/null)
+ifneq (, $(PYTHON3_EXE))
+  ifeq $(,findstring Microsoft/WindowsApps/python3,$(subst \,/,$(PYTHON3_EXE)))
+    PYTHON := python3
+  endif
+endif
+
+ifeq $(,$(PYTHON))
+  PYTHON_EXE := $(shell which python 2>/dev/null)
+  ifneq (, $(PYTHON_EXE))
+    PYTHON_VERSION_FULL := $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
+    PYTHON_VERSION_MAJOR := $(word 1,${PYTHON_VERSION_FULL})
+    ifneq (3, ${PYTHON_VERSION_MAJOR})
+      $(error "Your system does not appear to have Python 3 installed.")
+    endif
+    PYTHON := python
+  else
+      $(error "Your system does not appear to have any Python installed.")
   endif
-  PYTHON := python
-else
-    $(error "Your system does not appear to have any Python installed.")
 endif