diff --git a/amh.for b/amh.for
index 28583ec960d898611b8ddc2e316a7d3c61ea8eff..da73110c01705607cc581cc808226838dd6fef83 100644
--- a/amh.for
+++ b/amh.for
@@ -59,8 +59,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C -------------------------------------------------------------
 	SUBROUTINE AMH(HFIX,nobs,d,ny,nz,nx,nu,nv,ns,nstot,nt,np,
 	1               yk,IYK,theta,psi,PTR,PM,INFOS,pdll,Z,S,ACCRATE)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/amh2.for b/amh2.for
index 1779a0cc704f766be46bbfaa10d25b9d548aefed..a6a11113f2064a5945f0184e2065527981dbaffe 100644
--- a/amh2.for
+++ b/amh2.for
@@ -59,8 +59,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C -------------------------------------------------------------
 	SUBROUTINE AMH2(HFIX,nobs,d,ny,nz,nx,nu,nv,ns,nstot,nt,np,yk,
 	1                theta,psi,PTR,PM,INFOS,pdll,Z,S,ACCRATE)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/checkdesign.for b/checkdesign.for
index 68474ff3595c2afa4f5dc85157b37d3d6315272b..9d58865b1b2cfd3d214e2a39571ff66b3af64bb0 100644
--- a/checkdesign.for
+++ b/checkdesign.for
@@ -35,8 +35,9 @@ C You should have received a copy of the GNU General Public License
 C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C -------------------------------------------------------------
 	SUBROUTINE CHECKDESIGN(ny,nz,nx,nu,ns,nt,d,theta,pdll,PATH,NMLNAME)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/forecast.for b/forecast.for
index dd85e2960e605e2f25edc37912404c4cc5a1c0b7..cc9510c2744c8a206ce8d8b06c78fb621fc8c698 100644
--- a/forecast.for
+++ b/forecast.for
@@ -37,8 +37,9 @@ C GNU General Public License for more details.
 C ----------------------------------------------------------------------------
 	SUBROUTINE FORECAST(zk,nf,ny,nz,nx,nu,nv,ns,nstot,nt,np,
 	1                    theta,psi,INFOS,Z,STATE,pdll,FORE)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/gck.for b/gck.for
index a5a66130f12b24540fb9f3d5395729f54cb09af0..f239e562f953ad818b063ac520b046122b316c8a 100644
--- a/gck.for
+++ b/gck.for
@@ -60,8 +60,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C ----------------------------------------------------------------------
 	SUBROUTINE GCK(nobs,d,ny,nz,nx,nu,nv,ns,nstot,nt,np,yk,IYK,
 	1               theta,psi,INFOS,pdll,Z,S)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/gck2.for b/gck2.for
index c6c1370f912b0829b27d55fe2606da3b29a2eb36..782b17eb40ab21cbdc81d22464b9fe924f214b6b 100644
--- a/gck2.for
+++ b/gck2.for
@@ -60,8 +60,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C ----------------------------------------------------------------------
 	SUBROUTINE GCK2(nobs,d,ny,nz,nx,nu,nv,ns,nstot,nt,np,yk,
 	1                theta,psi,INFOS,pdll,Z,S)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/innov.for b/innov.for
index a8879cc351f67d9949065f0d471671a125579c8a..be43ce4a20a8d9cbd9a69fdb939243ff9d5f27dc 100644
--- a/innov.for
+++ b/innov.for
@@ -39,8 +39,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------
       SUBROUTINE INNOV(nobs,d,ny,nz,nx,nu,ns,nt,S,yk,IYK,
 	1                 theta,pdll,INN)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/innov2.for b/innov2.for
index dc5582e796ca4ca52ff55d06727464672fd843bf..5d18c1d961a9d234cca36b358ba20a32e04cf424 100644
--- a/innov2.for
+++ b/innov2.for
@@ -39,8 +39,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------
       SUBROUTINE INNOV2(nobs,d,ny,nz,nx,nu,ns,nt,S,yk,
 	1                  theta,pdll,INN)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/main.for b/main.for
index 4ea6121d9ec01f614b90938e902ff54f52a54393..9e2714aa999140f28f6c71d6c7ce0b78bcf51cb3 100644
--- a/main.for
+++ b/main.for
@@ -35,7 +35,9 @@ C You should have received a copy of the GNU General Public License
 C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------------------------
       PROGRAM DMM
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 C DECLARE an "interface block" to the .DLL that contains DESIGN
 
 	INTERFACE
diff --git a/missing.for b/missing.for
index e7dfacdd23af6a2b51637b50a7c0e7502c9fe81a..04aa35e9bebd7a685aeb82947ed8498a50cf3c8f 100644
--- a/missing.for
+++ b/missing.for
@@ -21,8 +21,9 @@ C You should have received a copy of the GNU General Public License
 C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------
 	SUBROUTINE MISSING(yk,ny,nz,nx,nu,ns,nt,nmis,theta,S,STATE,pdll,ykmis)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/opg.for b/opg.for
index 19b1da244ea195bf4a9f73b479c924d95aadb0de..dc85d45c3afee6a11e65c79061439714a3e66691 100644
--- a/opg.for
+++ b/opg.for
@@ -29,8 +29,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C ------------------------------------------------------------
 	SUBROUTINE OPG(nobs,d,ny,nz,nx,nu,nt,ns,pdll,yk,IYK,S,
 	1 theta,thetaprior,HESS,SE,XS,AKMSE,INN,IFAIL)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/opgh.for b/opgh.for
index 279a5d3e562821244f23ca67408ed9a308962e87..9e828bd9631437fc163283a9007c27a3d8a9c3bc 100644
--- a/opgh.for
+++ b/opgh.for
@@ -31,8 +31,9 @@ C ------------------------------------------------------------
       SUBROUTINE OPGH(nobs,ny,nz,nx,nu,nt,nv,ns,nstot,np,pdll,yk,IYK,
 	1                INFOS,theta,psi,thetaprior,HESS,thetase,psise,
      1                SSMOOTH,INN,IFAIL)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/opgkim.for b/opgkim.for
index 0022269dd155b77bb4eda8a5b93ee2f72a858a01..6e7539dbf28b4fe16746d24bd0e230856302b3c8 100644
--- a/opgkim.for
+++ b/opgkim.for
@@ -31,8 +31,9 @@ C ------------------------------------------------------------
      1                  IYK,INFOS,theta,psi,thetaprior,HESS,thetase,
      1                  psise,XS,XSSE,SSMOOTH,INN,IFAIL)
 
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/ptheta.for b/ptheta.for
index 7b084a28b3eb6dee8439b2a1bf3a9d783fd719aa..5f786a746556bb48c697df1d85cd7a1ecc09714c 100644
--- a/ptheta.for
+++ b/ptheta.for
@@ -22,8 +22,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C ----------------------------------------------------------------
 	DOUBLE PRECISION FUNCTION PTHETA(it,nobs,d,ny,nz,nx,nu,ns,nt,
 	1 S,yk,IYK,theta,thetaprior,tipo,pdll)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/ptheta2.for b/ptheta2.for
index 6673de55ba30b66dd9b230235c3e7ae28b1fb7ad..d22ce070cdefd9ff69db5619d42a7a376b5f7f29 100644
--- a/ptheta2.for
+++ b/ptheta2.for
@@ -22,8 +22,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C ----------------------------------------------------------------
 	DOUBLE PRECISION FUNCTION PTHETA2(it,nobs,d,ny,nz,nx,nu,ns,nt,
 	1 S,yk,theta,thetaprior,tipo,pdll)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/simdata.for b/simdata.for
index 0ecef50a241dcd197a7386d309d18e804eafec17..f501450ff214c1a0a81eeedd81e8a279c8ce0fb8 100644
--- a/simdata.for
+++ b/simdata.for
@@ -49,8 +49,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------
 	SUBROUTINE SIMDATA(nobs,d,ny,nz,nx,nu,ns,nstot,nt,nv,np,INFOS,
 	1                   pdll,theta,psi,Z,STATE,yk)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/simstate.for b/simstate.for
index 2094b57c227023dc9bfef09b9d6c58d4cf667254..69c756547fa972fd03c4a9f11f1461b9367c2101 100644
--- a/simstate.for
+++ b/simstate.for
@@ -43,8 +43,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------
 	SUBROUTINE SIMSTATE(nobs,d,ny,nz,nx,nu,ns,nt,yk,IYK,
 	1                    theta,S,pdll,STATE)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt
diff --git a/simstate2.for b/simstate2.for
index 5b1d3d1d457990a5e8902b169f2c05d91e269b73..d537d98a6de023080f1732dff924030816088e68 100644
--- a/simstate2.for
+++ b/simstate2.for
@@ -43,8 +43,9 @@ C along with DMM.  If not, see <http://www.gnu.org/licenses/>.
 C --------------------------------------------------------------------
 	SUBROUTINE SIMSTATE2(nobs,d,ny,nz,nx,nu,ns,nt,yk,
 	1                     theta,S,pdll,STATE)
-
+#if !defined(DYNARE)
 	USE dfwin
+#endif
 	INTERFACE
 	 SUBROUTINE DESIGN(ny,nz,nx,nu,ns,nt,theta,c,H,G,a,F,R)
 	 INTEGER ny,nz,nx,nu,ns(6),nt