mk1mk.pl: cleanup engines' handling and make fips build work on WIN64I.
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index e27e81b..af039c7 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -906,9 +906,9 @@
 foreach (split(/\s+/,$engines))
 	{
 	my $engine = $_;
-	my @objs   = grep(/$engine/,@engines_obj);
+	my @objs   = grep {/e_$engine/} @engines_obj;
 	$rules.=&do_compile_rule("\$(OBJ_D)",join(" ",@objs),$lib);
-	map {$_=~s/[^\/]*\/*([^\/]+)/\$(OBJ_D)${o}$1.obj/} @objs;
+	map {$_=~s/.*\/([^\/]+)$/\$(OBJ_D)${o}$1$obj/} @objs;
 	$rules.= &do_lib_rule(join(" ",@objs),"\$(ENG_D)$o$engine$shlibp","",$shlib,"");
 	}
 
@@ -1223,7 +1223,9 @@
 
 	$bname =~ s/(.*)\.[^\.]$/$1/;
 	$ret ="\$(TMP_D)$o$bname.asm: $source\n";
-	$ret.="\t\$(CC) -E \$(CFLAG) $source >\$\@\n\n";
+	$ret.="\t\$(CC) -E \$(CFLAG) $source >\$\@\n";
+	$ret.="\t\$(PERL) util\\fipsas.pl . \$@ norunasm \$(CFLAG)\n" if $fipscanisteronly;
+	$ret.="\n";
 	$ret.="$target: \$(TMP_D)$o$bname.asm\n";
 	$ret.="\t\$(ASM) $afile\$\@ \$(TMP_D)$o$bname.asm\n\n";
 	return($ret);