diff --git a/test/Makefile b/test/Makefile
index 11f47d17d824de9cb2ca65977ace3598c85e858c..00f7fdfba00d413fa225a6c132ccafb04bd4f480 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,6 +4,8 @@ include ${FSLCONFDIR}/default.mk
 PROJNAME   = test-newimage
 TESTXFILES = test-newimage
 
+all: ${TESTXFILES}
+
 LIBS = -lfsl-newimage -lfsl-miscmaths -lfsl-NewNifti \
        -lfsl-cprob -lfsl-utils -lfsl-znz -lboost_unit_test_framework -lpthread
 
@@ -28,16 +30,16 @@ ifeq ($(SYSTYPE), Darwin)
 RPATH := -Wl,-rpath,'@executable_path/..'
 endif
 
-all: ${TESTXFILES}
+USRCXXFLAGS = -I..
+
+# Need this flag to enable std::execution
+# policies in clang
+ifeq ($(SYSTYPE), Darwin)
+USRCXXFLAGS += -fexperimental-library
+endif
 
 OBJS := $(wildcard test_*.cc)
 OBJS := $(OBJS:%.cc=%.o)
 
-# We add -I.., -L.., -Wl,-rpath so that
-# in-source builds take precedence over
-# $FSLDEVDIR/$FSLDIR
-%.o: %.cc
-	$(CXX) -I.. ${CXXFLAGS} -c -o $@ $<
-
 test-newimage: ${OBJS}
-	$(CXX) -o $@ $^ -L.. ${RPATH} ${LDFLAGS}
+	$(CXX) ${CXXFLAGS} -o $@ $^ -L.. ${RPATH} ${LDFLAGS}