diff --git a/src/Makefile b/src/Makefile
index 93dbd8bb9f9438a7b199f51f49bec4a5d906986c..04031ae686064e7bcea16dad1ee20fefadbd676a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -494,6 +494,7 @@ stat_o :
 endif
 
 
+PYFT ?=echo
 
 
 
@@ -524,7 +525,8 @@ SPLL ?= spll
 
 %.D:%.f90
 	$(CPP) $(INC) $(CPPFLAGS) $< >  $(OBJDIR)/$(*F).f90 
-	$(SPLL) $(NSOURCE) $(OBJDIR)/$(*F).f90 
+	$(PYFT) $(OBJDIR)/$(*F).f90
+	$(SPLL) $(NSOURCE) $(OBJDIR)/$(*F).f90
 	rm -f $(OBJDIR)/$(*F).f90 
 
 %.D:%.fx90
diff --git a/src/Rules.LXgfortran.mk b/src/Rules.LXgfortran.mk
index ccae03cb226c2eeee6e4e97349a4e56b3fad875e..bacc1a5f51cc3c040bae10b135e2244da2967496 100644
--- a/src/Rules.LXgfortran.mk
+++ b/src/Rules.LXgfortran.mk
@@ -225,3 +225,6 @@ endif
 endif
 
 SPLL = spll_new
+
+PHYEX_LIST = $(notdir $(shell find PHYEX -follow -type f -name "*.f*" | sed -e 's/\(.*\)\(\.\).*/\1.D/g' ))
+$(PHYEX_LIST) : PYFT = pyft_tool.py --showScopes
diff --git a/src/Rules.LXnvhpc2202.mk b/src/Rules.LXnvhpc2202.mk
index c4e3935fe82347163b3dac3d5f52a8666fe45b7a..576d8b8414c2bee48b700682b4d4ea1ccdadb7fb 100644
--- a/src/Rules.LXnvhpc2202.mk
+++ b/src/Rules.LXnvhpc2202.mk
@@ -334,3 +334,5 @@ $(OBJS_I4) : OPT = $(OPT_BASE_I4)
 endif
 
 SPLL = spll_new
+PHYEX_LIST = $(notdir $(shell find PHYEX -follow -type f -name "*.f*" | sed -e 's/\(.*\)\(\.\).*/\1.D/g' ))
+$(PHYEX_LIST) : PYFT = pyft_tool.py --addMPPDB_CHECKS