diff --git a/Makefile.in b/Makefile.in
index 49ee097..9c27151 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -282,7 +282,7 @@ dirs.tag:
 		mkdir -p lib
 		touch dirs.tag
 
-host.tag:	Makefile
+host.tag:	@makefile@
 		$(CC) $(CFLAGS) -dumpmachine > host.tmp
 		mv host.tmp host.tag
 
@@ -299,7 +299,7 @@ distclean:	clean
 		rm -f cfgdefs.mk
 		rm -f usrdefs.mk
 		rm -f config.log
-		rm -f Makefile
+		rm -f @makefile@
 		rmdir build ccenv bin lib 2>&1 || true
 
 clean:		clean-implib
diff --git a/configure b/configure
index 4712b13..a235b5e 100755
--- a/configure
+++ b/configure
@@ -178,6 +178,11 @@ init_vars()
 		MAKEMODE="$mb_makemode"
 	fi
 
+
+	if [ -z "$mb_makefile" ]; then
+		mb_makefile='Makefile'
+	fi
+
 	# project-specific initialization
 	if [ _$mb_use_custom_cfginit = _yes ]; then
 		. "$mb_project_dir/project/config/cfginit.sh"
@@ -312,7 +317,7 @@ verify_build_directory()
 		fi
 	fi
 
-	rm -f Makefile Makefile.host Makefile.tmp Makefile.failed
+	rm -f Makefile Makefile.host Makefile.tmp Makefile.failed $mb_makefile
 
 	output_step_epilog
 }
@@ -818,7 +823,7 @@ config_cfghost()
 		$mb_pwd/Makefile.tmp > $mb_pwd/Makefile.host
 
 	rm  $mb_pwd/Makefile.tmp
-	mv  $mb_pwd/Makefile.host $mb_pwd/Makefile
+	mv  $mb_pwd/Makefile.host $mb_pwd/$mb_makefile
 
 	output_step_epilog
 }
@@ -828,10 +833,13 @@ config_host()
 {
 	output_step_prolog ${mb_script} 'config_host'
 
+	# verify configuration for the host's (cross-)compiler
 	${mb_make} -s host.tag       \
-		&& output_step_epilog \
+		-f "$mb_makefile"     \
+		&& output_step_epilog  \
 		&& return 0
 
+	# should never happen
 	error_msg "configure was able to generate a Makefile for the selected host,"
 	error_msg "however the host-targeting compiler was found to be missing"
 	error_msg "at least one of the required headers or features."
@@ -841,11 +849,6 @@ config_host()
 
 config_fini()
 {
-	# rename Makefile as needed
-	if [ -n "$mb_makefile" ]; then
-		mv $mb_pwd/Makefile $mb_pwd/$mb_makefile
-	fi
-
 	# project-specific post-configuration steps
 	if [ _$mb_use_custom_cfgfini = _yes ]; then
 		. "$mb_project_dir/project/config/cfgfini.sh"