diff --git a/share/Makefile.common b/share/Makefile.common
index 083461f25952a0e70708a342b4f8562e60056e01..c3f8cd6de2d6a6e10f0f5c0e8bc248c0c165f7ee 100644
--- a/share/Makefile.common
+++ b/share/Makefile.common
@@ -147,13 +147,15 @@ eval last=\$${$$\#}; \
 mv $$new_temp $$last' sed_inplace
 SED	= LC_ALL=C sed
 RM	= rm -f
-ifeq ($(shell uname -s 2> /dev/null),Darwin)
+TOUCH   = touch
+GIT	= git
+
+ifeq ($(PLATFORM),MacOS)
 TAR     = gtar
 else
+# Unix, Cygwin
 TAR     = tar
 endif
-TOUCH   = touch
-GIT	= git
 
 ##################
 # Make commands #
diff --git a/share/Makefile.linting b/share/Makefile.linting
index 5d2d83119ac2f5d783c454d57cfbc74474ed6434..36ff2f7384eed30b5466a5532774c49c7fd9ba6a 100644
--- a/share/Makefile.linting
+++ b/share/Makefile.linting
@@ -66,7 +66,13 @@ MV      ?= mv
 RM      ?= rm -f
 RMDIR   ?= rm -rf
 TOUCH   ?= touch
+
+ifeq ($(PLATFORM),MacOS)
+XARGS   ?= xargs
+else
+# Unix, Cygwin
 XARGS   ?= xargs --no-run-if-empty
+endif
 
 ############
 
diff --git a/share/Makefile.testing b/share/Makefile.testing
index 7b9b0bca93f251e4018518843568ca8bd9517df4..df0f78075bea40892ee0ce0d6d6bb6b34a7f4f50 100644
--- a/share/Makefile.testing
+++ b/share/Makefile.testing
@@ -35,11 +35,17 @@ PTEST_DIRS?=$(PURGED_PTEST_DIRS)
 ############
 # Default values necessary for make -f <this-makefile>
 
-XARGS   ?= xargs --no-run-if-empty
 GREP    ?= grep
 RM      ?= rm -f
 RMDIR   ?= rm -rf
 
+ifeq ($(PLATFORM),MacOS)
+XARGS   ?= xargs
+else
+# Unix, Cygwin
+XARGS   ?= xargs --no-run-if-empty
+endif
+
 ##########################################################################
 
 # Defines the related dune targets