diff --git a/Make.rules.in b/Make.rules.in
index dff13b80d0cd64d1714b1af197df5e3f86bc09ea..6b9a996a047ee82ee6d6be3bbc8b57ee2f656a4f 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -69,10 +69,10 @@ $(IMPORTLIB:%=lib%.def.a): $(IMPLIB_SRCS:.c=.o)
 	$(RANLIB) $@
 
 $(IMPORTLIB:%=lib%.a): $(MAINSPEC) $(IMPLIB_SRCS:.c=.o)
-	$(WINEBUILD) $(TARGETFLAGS) -w --implib -o $@ --export $(srcdir)/$(MAINSPEC) $(IMPLIB_SRCS:.c=.o)
+	$(WINEBUILD) $(TARGETFLAGS) -w --implib -o $@ --export $(MAINSPEC) $(IMPLIB_SRCS:.c=.o)
 
 $(IMPORTLIB:%=lib%.cross.a): $(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o)
-	$(WINEBUILD) $(CROSSTARGET:%=-b %) -w --implib -o $@ --export $(srcdir)/$(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o)
+	$(WINEBUILD) $(CROSSTARGET:%=-b %) -w --implib -o $@ --export $(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o)
 
 # Rules for dependencies
 
diff --git a/aclocal.m4 b/aclocal.m4
index 623177258e5f8c6b6973867e7e2f1ca53003c64c..f186ce1ab9a1a9cce347b77e5c929f447b94cd52 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -432,7 +432,7 @@ $ac_dir/uninstall::
         wine_fn_append_rule \
 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
-$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.def: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec
 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
 	@cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
@@ -465,9 +465,9 @@ $ac_file.cross.a: $ac_dir/Makefile dummy
     then
         wine_fn_append_rule \
 "__builddeps__: $ac_file.$IMPLIBEXT
-$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.def: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec
-$ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.a: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec
 .PHONY: $ac_dir/install-dev $ac_dir/uninstall
 $ac_dir/install-dev:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
@@ -480,7 +480,7 @@ __uninstall__: $ac_dir/uninstall"
         then
             wine_fn_append_rule \
 "__builddeps__: $ac_file.cross.a
-$ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.cross.a: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec"
         fi
 
diff --git a/configure b/configure
index 9953777a90a21190430e5a79f558320a088da24a..95058cf4f0ab003fdf263fbb86e57f3b93719d97 100755
--- a/configure
+++ b/configure
@@ -16137,9 +16137,9 @@ fi
 
 MAKE_DLL_RULES="
 DLLFLAGS    = $DLLFLAGS
-MAINSPEC    = \$(MODULE:%.dll=%).spec
+MAINSPEC    = \$(srcdir)/\$(MODULE:%.dll=%).spec
 IDL_TLB_RES = \$(IDL_TLB_SRCS:.idl=_t.res)
-MODULEFLAGS = -shared \$(srcdir)/\$(MAINSPEC) \$(EXTRADLLFLAGS)
+MODULEFLAGS = -shared \$(MAINSPEC) \$(EXTRADLLFLAGS)
 
 all: $deps
 
@@ -16439,7 +16439,7 @@ fi
         wine_fn_append_rule \
 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
-$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.def: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$@ --export $srcdir/$ac_dir/$ac_name.spec
 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
 	@cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
@@ -16472,9 +16472,9 @@ $ac_file.cross.a: $ac_dir/Makefile dummy
     then
         wine_fn_append_rule \
 "__builddeps__: $ac_file.$IMPLIBEXT
-$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.def: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$@ --export $srcdir/$ac_dir/$ac_name.spec
-$ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.a: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$@ --export $srcdir/$ac_dir/$ac_name.spec
 .PHONY: $ac_dir/install-dev $ac_dir/uninstall
 $ac_dir/install-dev:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
@@ -16487,7 +16487,7 @@ __uninstall__: $ac_dir/uninstall"
         then
             wine_fn_append_rule \
 "__builddeps__: $ac_file.cross.a
-$ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
+$ac_file.cross.a: $srcdir/$ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
 	\$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$@ --export $srcdir/$ac_dir/$ac_name.spec"
         fi
 
diff --git a/configure.ac b/configure.ac
index aa170640b765a528fab06dee2e307e4e36411b9b..c2c7460a0165c89831759cb646479af738495962 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2610,9 +2610,9 @@ fi
 
 AC_SUBST(MAKE_DLL_RULES,"
 DLLFLAGS    = $DLLFLAGS
-MAINSPEC    = \$(MODULE:%.dll=%).spec
+MAINSPEC    = \$(srcdir)/\$(MODULE:%.dll=%).spec
 IDL_TLB_RES = \$(IDL_TLB_SRCS:.idl=_t.res)
-MODULEFLAGS = -shared \$(srcdir)/\$(MAINSPEC) \$(EXTRADLLFLAGS)
+MODULEFLAGS = -shared \$(MAINSPEC) \$(EXTRADLLFLAGS)
 
 all: $deps