Commits

obo  committed 004e419

CWS-TOOLING: integrate CWS kick4nt

  • Participants
  • Parent commits 58755fe

Comments (0)

Files changed (92)

File solenv/bin/build.pl

 
 sub check_dmake {
 #print "Checking dmake...";
-#    my $dmake_batch = CorrectPath("$tmp_dir/dmake.bat");
-    if ($QuantityToBuild && ($ENV{GUI} eq 'WNT') && ($ENV{USE_SHELL} eq '4nt')) {
-        if (open(DMAKEVERSION, "where dmake |")) {
-            my @output = <DMAKEVERSION>;
-            close DMAKEVERSION;
-            $dmake_bin = $output[0];
-            $dmake_bin =~ /(\b)$/;
-            $dmake_bin = $`;
-        };
-        return if (-e $dmake_bin);
-    } elsif (open(DMAKEVERSION, "dmake -V |")) {
+    if (open(DMAKEVERSION, "dmake -V |")) {
 #    if (open(DMAKEVERSION, "dmake -V |")) {
         my @dmake_version = <DMAKEVERSION>;
         close DMAKEVERSION;
     } else {
         $error_code = run_job($job, $module_paths{$module}, $module_job);
         if ($error_code) {
-            # give windows (4nt) one more chance 
-            if ($ENV{GUI} eq 'WNT' && !$cygwin) {
+            # give windows one more chance 
+            if ($ENV{GUI} eq 'WNT') {
                 $error_code = run_job($job, $module_paths{$module}, $module_job);
             };
         };
         my $dir = CorrectPath($module_paths{$module}.'/'.$_);
         if ((!-d $dir.'/.svn') && is_output_tree($dir)) {
             #print "I would delete $dir\n";
-            rmtree("$dir", 0, 1) if ($ENV{USE_SHELL} ne '4nt');
+            rmtree("$dir", 0, 1);
             if (-d $dir) {
                 system("$remove_command $dir");
                 if (-d $dir) {
                     push(@warnings, "Cannot delete $dir");
 #print_error("Cannot delete $dir");
                 } else {
-                    print STDERR (">>> Removed $dir by force\n") if ($ENV{USE_SHELL} ne '4nt');
+                    print STDERR (">>> Removed $dir by force\n");
                 };
             };
         };

File solenv/bin/build_client.pl

     if (defined $job_hash{setenv_string}) {
         # use configuration string from server
         $setenv_string .= $job_hash{setenv_string};
-        if ((defined $ENV{USE_SHELL}) && ($ENV{USE_SHELL} eq '4nt')) {
-            $cmd_file .= '.btm';
-        };
         print "Environment: $setenv_string\n";
     
         my $directory = $job_hash{job_dir};
     
         print COMMAND_FILE "pushd $job_hash{job_dir} && ";
         print COMMAND_FILE $job_hash{job} ." >& $tmp_log_file\n";
-        if ((defined $ENV{USE_SHELL}) && ($ENV{USE_SHELL} eq '4nt')) {
-            print COMMAND_FILE "exit %?\n";
-        } else {
-            print COMMAND_FILE "exit \$?\n";
-        };
+        print COMMAND_FILE "exit \$?\n";
         close COMMAND_FILE;
         $job_temp_files{$cmd_file} = 0;
         $job_temp_files{$tmp_log_file} = $job_hash{log};
-        if ((defined $ENV{USE_SHELL}) && ($ENV{USE_SHELL} eq '4nt')) {
-            $error_code = system($ENV{COMSPEC}, '/c', $cmd_file);
-        } else {
-            $error_code = system($ENV{SHELL}, $cmd_file);
-        };
+        $error_code = system($ENV{SHELL}, $cmd_file);
         unlink $cmd_file or system("rm -rf $cmd_file");
         delete $job_temp_files{$cmd_file};
     } else {
     my $error_code = 0;
     my $cmd_file = File::Temp::tmpnam($ENV_BACKUP{TMP});
     my $tmp_log_file = File::Temp::tmpnam($ENV_BACKUP{TMP});
-    if ((defined $ENV{USE_SHELL}) && ($ENV{USE_SHELL} eq '4nt')) {
-        my $setsolar = $ENV{ENV_ROOT} . '/etools/setsolar.pl';
-        $setsolar_string =~ s/^(\S+\s)\S+/$1$setsolar/; #replace the use of the local script with generic setsolar
-        $cmd_file .= '.btm';
-        my $setsolar_tmp_file = File::Temp::tmpnam($ENV_BACKUP{TMP});
-        $setsolar_tmp_file .= '.btm';
-        open (COMMAND_FILE, ">$setsolar_tmp_file") or return $?;
-        print COMMAND_FILE "set SOURCE_ROOT=$$job_hash{source_root}\n" if ($$job_hash{source_root});
-        print COMMAND_FILE "unset UPDATER\n" if (!defined $$job_hash{updater});
-        print COMMAND_FILE "$setsolar_string -file $cmd_file";
-        close COMMAND_FILE;
-        $error_code = system($ENV{COMSPEC}, '/c', $setsolar_tmp_file);
-        unlink $setsolar_tmp_file or system("rm -rf $setsolar_tmp_file");
-        store_env_hash($cmd_file);
-        return $error_code;
-    };
     if (defined $$job_hash{updater}) {
         $ENV{UPDATER} = $$job_hash{updater};
     } else {
     my $env_vars_file = File::Temp::tmpnam($ENV_BACKUP{TMP});
     print "$cmd_file $env_vars_file\n";
     #get all env variables in $env_vars_file
-    if ((defined $ENV{USE_SHELL}) && ($ENV{USE_SHELL} eq '4nt')) {
-        $cmd_file .= '.btm';
-        open (COMMAND_FILE, ">$cmd_file");
-        print COMMAND_FILE "call $ss_setenv_file\n";
-        print COMMAND_FILE "set > $env_vars_file\n";
-        close COMMAND_FILE;
-        system($ENV{COMSPEC}, '/c', $cmd_file);
-    } else {
-        open (COMMAND_FILE, ">$cmd_file");
-        print COMMAND_FILE "source $ss_setenv_file\n";
-        print COMMAND_FILE "env > $env_vars_file\n";
-        close COMMAND_FILE;
-        system($ENV{SHELL}, $cmd_file);
-    };
+    open (COMMAND_FILE, ">$cmd_file");
+    print COMMAND_FILE "source $ss_setenv_file\n";
+    print COMMAND_FILE "env > $env_vars_file\n";
+    close COMMAND_FILE;
+    system($ENV{SHELL}, $cmd_file);
     print_error($?) if ($?);
     unlink $cmd_file or system("rm -rf $cmd_file");
     unlink $ss_setenv_file or system("rm -rf $ss_setenv_file");

File solenv/bin/installoffice.pl

 our $packpackage ;
 our $user;
 
-if (($gui eq "WNT") and ($ENV{USE_SHELL} ne "4nt")) {
+if ($gui eq "WNT") {
     $gui = $cygwin;
 }
 

File solenv/bin/mhids.pl

 
 # now get $workfile ready for shell usage...
 $shell_workfile = $workfile;
-$shell_workfile =~ s/\//\\/g if ( "$ENV{USE_SHELL}" eq "4nt" );
-if (( "$ENV{USE_SHELL}" eq "4nt" ) && ( "$^O" eq "cygwin" )) {
-    $shell_workfile =~ s/\//\\\\/;
-}
 
 print "workfile: $workfile\n";
 

File solenv/bin/modules/installer/converter.pm

 	{
 		$first = $1;
 		$last = $2;	
-		if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $first =~ s/\//\\/g; }
 		$first =~ s/\"//g;
 		push(@newarray, $first);
 	}	
 
-	if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $last =~ s/\//\\/g; }
 	$last =~ s/\"//g;
 	push(@newarray, $last);	
 	
 	{
 		$first = $1;
 		$last = $2;	
-		if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $first =~ s/\//\\/g; }
 		# Problem with two directly following listseparators. For example a path with two ";;" directly behind each other
 		$first =~ s/^$listseparator//;
 		push(@newarray, "$first\n");
 	}	
 
-	if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $last =~ s/\//\\/g; }
 	push(@newarray, "$last\n");	
 	
 	return \@newarray;
 	{
 		$first = $1;
 		$last = $2;	
-		if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $first =~ s/\//\\/g; }
 		push(@newarray, "$first");
 	}	
 
-	if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $last =~ s/\//\\/g; }
 	push(@newarray, "$last");	
 	
 	return \@newarray;
 	{
 		$first = $1;
 		$last = $2;	
-		if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $first =~ s/\//\\/g; }
 		$newhash{$first} = 1;
 	}	
 
-	if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $last =~ s/\//\\/g; }
 	$newhash{$last} = 1;
 	
 	return \%newhash;
 	{
 		$first = $1;
 		$last = $2;	
-		if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $first =~ s/\//\\/g; }
 		push(@newarray, "$first\n");
 	}	
 
-	if ( defined($ENV{'USE_SHELL'}) && $ENV{'USE_SHELL'} eq "4nt" ) { $last =~ s/\//\\/g; }
 	push(@newarray, "$last\n");	
 	
 	return \@newarray;

File solenv/bin/modules/installer/download.pm

         $nsispath = $ENV{'NSISSDK_SOURCE'};	# overriding the NSIS SDK with NSISSDK_SOURCE
     }
 
-	if( ($^O =~ /cygwin/i) and $nsispath =~ /\\/ ) {
-		# We need a POSIX path for W32-4nt-cygwin-perl
-		$nsispath =~ s/\\/\\\\/g;
-		chomp( $nsispath = qx{cygpath -u "$nsispath"} );
-	}
+#	if( ($^O =~ /cygwin/i) and $nsispath =~ /\\/ ) {
+#		# We need a POSIX path for W32-4nt-cygwin-perl
+#		$nsispath =~ s/\\/\\\\/g;
+#		chomp( $nsispath = qx{cygpath -u "$nsispath"} );
+#	}
 
 	if ( $nsispath eq "" )
 	{

File solenv/bin/modules/installer/followme.pm

 
 		if ( $line =~ /^\s*finalinstalldir:\s*(.*?)\s*$/ ) { $finalinstalldir = $1; }
 		if( $^O =~ /cygwin/i ) { $finalinstalldir =~ s/\\/\//; }
-		if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $finalinstalldir =~ s/\//\\/; }
 		if ( $line =~ /^\s*downloadname:\s*(.*?)\s*$/ ) { $downloadname = $1; }
 		if ( $line =~ /^\s*currentinstallnumber:\s*(.*?)\s*$/ ) { $currentinstallnumber = $1; }
 		if ( $line =~ /^\s*loggingdir:\s*(.*?)\s*$/ ) { $loggingdir = $1; }
 		if( $^O =~ /cygwin/i ) { $loggingdir =~ s/\\/\//; }
-		if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $loggingdir =~ s/\//\\/; }
 		if ( $line =~ /^\s*installlogdir:\s*(.*?)\s*$/ ) { $installlogdir = $1; }
 		if( $^O =~ /cygwin/i ) { $installlogdir =~ s/\\/\//; }
-		if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $installlogdir =~ s/\//\\/; }
 		if ( $line =~ /^\s*languagestring:\s*(.*?)\s*$/ ) { $languagestring = $1; }
 		if ( $line =~ /^\s*languagesarray:\s*(.*?)\s*$/ ) { push(@languagesarray, $1); }
 		if ( $line =~ /^\s*includepatharray:\s*(.*?)\s*$/ )
 		{
 			my $path = $1;
 			if( $^O =~ /cygwin/i ) { $path  =~ s/\\/\//; }
-			if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $path =~ s/\//\\/; }
 			push(@includepatharray, $path . "\n");
 		}
 		if ( $line =~ /^\s*allvariableshash:\s*(.*?)\s*:\s*(.*?)\s*$/ ) { $allvariableshash{$1} = $2; }
 			if ( $name eq "islinux" ) { $installer::globals::islinux = $value; }
 			if ( $name eq "unpackpath" ) { $installer::globals::unpackpath = $value; }
 			if( $^O =~ /cygwin/i ) { $installer::globals::unpackpath =~ s/\\/\//; }
-			if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $installer::globals::unpackpath =~ s/\//\\/; }
 			if ( $name eq "idttemplatepath" ) { $installer::globals::idttemplatepath = $value; }
 			if( $^O =~ /cygwin/i ) { $installer::globals::idttemplatepath =~ s/\\/\//; }
-			if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $installer::globals::idttemplatepath =~ s/\//\\/; }
 			if ( $name eq "idtlanguagepath" ) { $installer::globals::idtlanguagepath = $value; }
 			if( $^O =~ /cygwin/i ) { $installer::globals::idtlanguagepath =~ s/\\/\//; }
-			if (( $^O =~ /MSWin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )) { $installer::globals::idtlanguagepath =~ s/\//\\/; }
 			if ( $name eq "logfilename" ) { $installer::globals::logfilename = $value; }
 			if ( $name eq "product" ) { $installer::globals::product = $value; }
 			if ( $name eq "patch" ) { $installer::globals::patch = $value; }

File solenv/bin/modules/installer/globals.pm

 
 	$plat = $^O;
 
-	if (( $plat =~ /MSWin/i ) || (( $plat =~ /cygwin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )))
-	{
-		$zippath= "zip.exe";				# Has to be in the path: r:\btw\zip.exe
-		$checksumfile = "so_checksum.exe";
-		$unopkgfile = "unopkg.exe";
-		if ( $plat =~ /cygwin/i )
-		{
-			$separator = "/";
-			$pathseparator = "\:";
-			$quote = "\'";
-		}
-		else
-		{
-			$separator = "\\";
-			$pathseparator = "\;";
-			$quote = "\"";
-		}
-		$libextension = "\.dll";
-		$isunix = 0;
-		$iswin = 1;
-                $archiveformat = ".zip";
-		%savedmapping = ();
-		%savedrevmapping = ();
-		%savedrev83mapping = ();
-		%saved83dirmapping = ();
-	}
-	elsif (( $plat =~ /cygwin/i ) && ( $ENV{'USE_SHELL'} ne "4nt" ))
+	if ( $plat =~ /cygwin/i )
 	{
 		$zippath = "zip";					# Has to be in the path: /usr/bin/zip
 		$checksumfile = "so_checksum";

File solenv/bin/modules/installer/servicesfile.pm

 {
     my ( $path ) = @_;
 
-    if ( $installer::globals::iswin eq 1 && $ENV{'USE_SHELL'} ne "4nt" && $installer::globals::wrapcmd eq "" )
+    if ( $installer::globals::iswin eq 1 && $installer::globals::wrapcmd eq "" )
     {
 	$path = qx{cygpath -m "$path"};
 	chomp($path);
     my ( $name, $array, $int ) = @_;
     
     my $ret = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$name, $array, $int);
-    if ( $installer::globals::iswin eq 1 && $ENV{'USE_SHELL'} ne "4nt" )
+    if ( $installer::globals::iswin eq 1 )
     {
 	if( substr( $$ret, 1,1 ) eq ":" )
 	{
 		if ( $ENV{'CLASSPATH'} ) { $oldclasspathstring = $ENV{'CLASSPATH'}; }
 		else { $oldclasspathstring = "\."; }
 		my $classpathstring = $$jarfileref . $local_pathseparator . $oldclasspathstring;
-		if (( $^O =~ /cygwin/i ) && ( $ENV{'USE_SHELL'} ne "4nt" )) {
+		if ( $^O =~ /cygwin/i ) {
 			$classpathstring =~ s/\//\\/g;		# guw.pl likes '\' in $PATH.
 		}
 		$ENV{'CLASSPATH'} = $classpathstring;
 			# my $servicesdir = installer::systemactions::create_directories($servicesname, $languagestringref);
 			my $servicesdir = installer::systemactions::create_directories($uniquedirname, $languagestringref);
 
-			if ( $^O =~ /cygwin/i && $ENV{'USE_SHELL'} eq "4nt" )
-			{      # $servicesdir is used as a parameter for regcomp and has to be DOS style
-			    $servicesdir = qx{cygpath -d "$servicesdir"};
-			    chomp($servicesdir);
-			    $servicesdir =~ s/\\/\//g;
-			}
+#			if ( $^O =~ /cygwin/i )
+#			{      # $servicesdir is used as a parameter for regcomp and has to be DOS style
+#			    $servicesdir = qx{cygpath -d "$servicesdir"};
+#			    chomp($servicesdir);
+#			    $servicesdir =~ s/\\/\//g;
+#			}
 
 			push(@installer::globals::removedirs, $servicesdir);
 

File solenv/bin/modules/installer/systemactions.pm

 			$infoline = "\nCreated directory: $directory\n";
 			push(@installer::globals::logfileinfo, $infoline);
 	
-			if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-			{
-				my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
-				system($localcall);
-			}			
+			my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
 		}
 		else
 		{
 						$infoline = "\nAttention: Successfully created parent directory (should already be created before): $parentdir\n";
 						push(@installer::globals::logfileinfo, $infoline);
 	
-						if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-						{
-							my $localcall = "chmod 775 $parentdir \>\/dev\/null 2\>\&1";
-							system($localcall);
-						}			
+						my $localcall = "chmod 775 $parentdir \>\/dev\/null 2\>\&1";
+						system($localcall);
 					}
 					else
 					{
 					$infoline = "\nAttention: Created directory \"$directory\" in the second try.\n";
 					push(@installer::globals::logfileinfo, $infoline);
 	
-					if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-					{
-						my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
-						system($localcall);
-					}			
+					my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
+					system($localcall);
 				}
 				else
 				{
 			$infoline = "\nCreated directory: $directory\n";
 			push(@installer::globals::logfileinfo, $infoline);
 	
-            if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-			{
-				my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
-				system($localcall);
-			}			
+			my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
+			system($localcall);
 		}
 		else
 		{
 						$infoline = "\nAttention: Successfully created parent directory (should already be created before): $parentdir\n";
 						push(@installer::globals::logfileinfo, $infoline);
 	
-			            if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-						{
-							my $localcall = "chmod $privileges $parentdir \>\/dev\/null 2\>\&1";
-							system($localcall);
-						}			
+						my $localcall = "chmod $privileges $parentdir \>\/dev\/null 2\>\&1";
+						system($localcall);
 					}
 					else
 					{
 					$infoline = "\nAttention: Created directory \"$directory\" in the second try.\n";
 					push(@installer::globals::logfileinfo, $infoline);
 	
-		            if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-					{
-						my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
-						system($localcall);
-					}			
+					my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
+					system($localcall);
 				}
 				else
 				{
 		$infoline = "\nAlready existing directory, did not create: $directory\n";
 		push(@installer::globals::logfileinfo, $infoline);
 
-		if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-		{
-			my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
-			system($localcall);
-		}			
+		my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
+		system($localcall);
 	}
 }
 
 			$infoline = "\nCreated directory: $directory\n";
 			push(@installer::globals::logfileinfo, $infoline);
 	
-            if ( defined $ENV{'USE_SHELL'} && $ENV{'USE_SHELL'} ne "4nt" )
-			{
-				my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
-				system($localcall);
-			}			
+			my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
+			system($localcall);
 		}
 		else
 		{

File solenv/bin/modules/installer/windows/msiglobal.pm

 
 	$msifilename = installer::converter::make_path_conform($msifilename);
 
-	if ( $ENV{'USE_SHELL'} ne "4nt" ) {
-		# msidb.exe really wants backslashes. (And double escaping because system() expands the string.)
-		$idtdirbase =~ s/\//\\\\/g;
-		$msifilename =~ s/\//\\\\/g;
-		$extraslash = "\\";
-	}
+	# msidb.exe really wants backslashes. (And double escaping because system() expands the string.)
+	$idtdirbase =~ s/\//\\\\/g;
+	$msifilename =~ s/\//\\\\/g;
+	$extraslash = "\\";
 
 	my $allcabfiles = installer::systemactions::find_file_with_file_extension("cab", $installdir);
 

File solenv/bin/modules/installer/windows/sign.pm

 	my $fullsuccess = 1;
 	my $msidb = "msidb.exe";	# Has to be in the path
 
-	if ( $ENV{'USE_SHELL'} ne "4nt" ) {
-		# msidb.exe really wants backslashes. (And double escaping because system() expands the string.)
-		$msidatabase =~ s/\//\\\\/g;
-	}
+	# msidb.exe really wants backslashes. (And double escaping because system() expands the string.)
+	$msidatabase =~ s/\//\\\\/g;
 
 	foreach my $onefile ( keys %{$allcabfiles} )
 	{
 	my $fullsuccess = 1;
 	my $msidb = "msidb.exe";	# Has to be in the path
 
-	if ( $ENV{'USE_SHELL'} ne "4nt" ) {
-		# msidb.exe really wants backslashes. (And double escaping because system() expands the string.)
-		$msidatabase =~ s/\//\\\\/g;
-	}
+	# msidb.exe really wants backslashes. (And double escaping because system() expands the string.)
+	$msidatabase =~ s/\//\\\\/g;
 
 	foreach my $onefile ( keys %{$allcabfiles} )
 	{

File solenv/bin/modules/packager/globals.pm

 
 	$plat = $^O;
 
-	if (( $plat =~ /MSWin/i ) || (( $plat =~ /cygwin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )))
-	{
-		$separator = "\\";
-		$iswin = 1;
-		$isunix = 0;
-	}
-	else
-	{ 
-		$separator = "/";
-		$iswin = 0;
-		$isunix = 1;
-	}
+	$separator = "/";
+	$iswin = 0;
+	$isunix = 1;
 
 }
 

File solenv/bin/modules/par2script/globals.pm

 		
 	$plat = $^O;
 
-	if (( $plat =~ /MSWin/i ) || (( $plat =~ /cygwin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )))
-	{
-		$separator = "\\";
-		$pathseparator = "\;";
-		$isunix = 0;
-		$iswin = 1;
-	}
-	else
-	{ 
-		$separator = "/";
-		$pathseparator = "\:";
-		$isunix = 1;
-		$iswin = 0;
-	}
+	$separator = "/";
+	$pathseparator = "\:";
+	$isunix = 1;
+	$iswin = 0;
 
 	$islinux = 0;
 	$issolaris = 0;

File solenv/bin/modules/pre2par/globals.pm

 	
 	$plat = $^O;
 
-	if (( $plat =~ /MSWin/i ) || (( $plat =~ /cygwin/i ) && ( $ENV{'USE_SHELL'} eq "4nt" )))
-	{
-		$separator = "\\";
-		$pathseparator = "\;";
-		$isunix = 0;
-		$iswin = 1;
-	}
-	else
-	{ 
-		$separator = "/";
-		$pathseparator = "\:";
-		$isunix = 1;
-		$iswin = 0;
-	}
+	$separator = "/";
+	$pathseparator = "\:";
+	$isunix = 1;
+	$iswin = 0;
 
 	$islinux = 0;
 	$issolaris = 0;

File solenv/config/sdev300.ini

 		{
 			MWS_BUILD TRUE
 		}
-		common_a:0 IF %USE_SHELL% != 4nt
+		common_a
 		{
 			*o: cd %SOLARSRC%
 		}
-		common_a:1 IF %USE_SHELL% == 4nt
-		{
-			*o cdd %SOLARSRC%
-		}
 		common_jre:0 IF %JREPATH% ==
 		{
 			HIER set
 			LIB %LIB%$;%JDKLIB%
 		}
 	}
-	order cwsname:0 cwsname:1 cwsname:2 common_0:0 common_0:1 common_0:2 common_0:3 jdk13 jdk14 jdk15 ojdk16 common_1 common_2:0 l10n common_jre:0 common_jre:1 ca cax cap common_a:0 common_a:1
+	order cwsname:0 cwsname:1 cwsname:2 common_0:0 common_0:1 common_0:2 common_0:3 jdk13 jdk14 jdk15 ojdk16 common_1 common_2:0 l10n common_jre:0 common_jre:1 ca cax cap common_a
 	switches 
 	{
 		cwsname CWS_WORK_STAMP
 		{
 			SOLAR_ENV_ROOT r:
 			SOLAR_SOURCE_ROOT o:
-			USE_SHELL 4nt
+			USE_SHELL bash
 		}
 		common1 
 		{
 	}
 	script 
 	{
-		4nt 
-		{
-			150: set MYENV_PATH=%PATH
-			160: set PATH=%SSX_PATH
-			200: if "%COPYALL%"=="TRUE" %SOLAR_ENV_ROOT%\btw\perl\bin\perl %SOLAR_ENV_ROOT%\etools\lucopy.pl -all %ZIPSOURCE% %BTARGET% %MAXPROC%
-			260: set PATH=%MYENV_PATH
-			270: unset MYENV_PATH
-			400: if "%SO_GEN_ERROR%" NE "" @echo %SO_GEN_ERROR%
-			401: if "%SO_GEN_ERROR2%" NE "" echo %SO_GEN_ERROR2%
-		}
 		csh 
 		{
 			150: setenv MYENV_PATH $PATH
 			XCLASSPATH .
 			ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
 		}
-		common0:0 IF %OSTYPE% == cygwin
+		common0
 		{
 			BS_ROOT n:
 			SOLAR_ENV_ROOT r:
 			BTOOLDIR %WORK_STAMP%$/cygtools
 			PERLDIR btw$/%WORK_STAMP%$/cygtools$/perl
 		}
-		common01:0 IF %OSTYPE% != cygwin
-		{
-			BS_ROOT n:
-			SOLAR_ENV_ROOT r:
-			SOLAR_SOURCE_ROOT o:
-			USE_SHELL 4nt
-			BTOOLDIR %WORK_STAMP%
-			PERLDIR btw\%WORK_STAMP%\perl\bin\perl
-		}
-		common02:0 IF %OSTYPE% == cygwin
+		common02
 		{
 			PERL perl
 		}
 		$dp(TMP)
 		$dp(TEMP)
 	}
-	order nojava common0:0 common01:0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 ca cap cax common02:0 psdk compath common2 common:3 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 stl:1 stl:0 common jdk13 jdk14 jdk15 ojdk16  pre
+	order nojava common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 ca cap cax common02 psdk compath common2 common:3 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 stl:1 stl:0 common jdk13 jdk14 jdk15 ojdk16  pre
 	reset 
 	{
 		COPYALL 
 	}
 	script 
 	{
-		4nt 
-		{
-			150: set MYENV_PATH=%PATH
-			160: set PATH=%SSX_PATH
-			200: if "%COPYALL%"=="TRUE" %SOLAR_ENV_ROOT%\btw\perl\bin\perl %SOLAR_ENV_ROOT%\etools\lucopy.pl -all %ZIPSOURCE% %BTARGET% %MAXPROC% 
-			260: set PATH=%MYENV_PATH
-			270: unset MYENV_PATH
-			300: call pcleaner.btm
-			400: if "%SO_GEN_ERROR%" NE "" @echo %SO_GEN_ERROR%
-			401: if "%SO_GEN_ERROR2%" NE "" echo %SO_GEN_ERROR2%
-		}
          sh
             {
             400: if [ $COPYALL ]; then
             881:       echo $SO_GEN_ERROR2
             882: fi
         }
-		csh
-		{
-			400: if ( ${?COPYALL} ) perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC
-            600: umask 002
-			800: rehash
-			850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
-			851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
-			900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
-			901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
-		}
 	}
 	switches 
 	{

File solenv/inc/_tg_app.mk

 # unroll begin
 
 .IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI" 
-APP1DEF = $(MISC)$/$(APP1TARGET).def
+APP1DEF = $(MISC)/$(APP1TARGET).def
 .ENDIF
 
 .IF "$(APP1LINKTYPE)" != ""
 .IF "$(GUI)$(COM)" == "WNTGCC"
 APP1RESO=
 .IF "$(APP1LINKRES)" != "" || "$(APP1RES)" != ""
-APP1RESO=$(MISC)$/$(APP1TARGET:b)_res.o
+APP1RESO=$(MISC)/$(APP1TARGET:b)_res.o
 .ENDIF
 .ENDIF
 
 .IF "$(linkinc)"!=""
 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
 .IF "$(APP1LIBS)"!=""
-$(MISC)$/$(APP1TARGET)_linkinc.ls .PHONY:
+$(MISC)/$(APP1TARGET)_linkinc.ls .PHONY:
 	@@-$(RM) $@
-	sed -f $(SOLARENV)$/bin$/chrel.sed $(foreach,i,$(APP1LIBS) $(i:s/.lib/.lin/)) >> $@
+	sed -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(APP1LIBS) $(i:s/.lib/.lin/)) >> $@
 .ENDIF          #"$(APP1LIBS)"!="" 
 .ENDIF
 
-LINKINCTARGETS+=$(MISC)$/$(APP1TARGETN:b)_linkinc.ls
+LINKINCTARGETS+=$(MISC)/$(APP1TARGETN:b)_linkinc.ls
 $(APP1TARGETN) : $(LINKINCTARGETS)
 .ENDIF          # "$(linkinc)"!=""
 
 APP1LIBSALCPPRT*=$(LIBSALCPPRT)
 
 .IF "$(GUI)" == "OS2"
-_APP1IMP_ORD = $(APP1STDLIBS:^"$(SOLARVERSION)$/$(INPATH)$/lib$/") $(APP1STDLIBS:^"$(LB)$/") 
+_APP1IMP_ORD = $(APP1STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP1STDLIBS:^"$(LB)/") 
 APP1IMP_ORD = $(foreach,i,$(_APP1IMP_ORD) $(shell @-ls $i))
 .ELSE
 APP1IMP_ORD = 
 .IF "$(GUI)"=="UNX"
 .IF "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(@:b).list
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@-$(RM) $(MISC)$/$(@:b).strip
+	@-$(RM) $(MISC)/$(@:b).list
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@-$(RM) $(MISC)/$(@:b).strip
 	@echo $(STDSLO) $(APP1OBJS:s/.obj/.o/) \
-	`cat /dev/null $(APP1LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)$/$(@:b).list
-	@echo -n $(APP1LINKER) $(APP1LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) -o $@ \
-	$(APP1LINKTYPEFLAG) $(APP1STDLIBS) $(APP1STDLIB) $(STDLIB1) -filelist $(MISC)$/$(@:b).list > $(MISC)$/$(TARGET).$(@:b)_1.cmd
-    @$(PERL) $(SOLARENV)$/bin$/macosx-dylib-link-list.pl \
-        `cat $(MISC)$/$(TARGET).$(@:b)_1.cmd` \
-        >> $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@cat $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_1.cmd
+	`cat /dev/null $(APP1LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
+	@echo -n $(APP1LINKER) $(APP1LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+	$(APP1LINKTYPEFLAG) $(APP1STDLIBS) $(APP1STDLIB) $(STDLIB1) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_1.cmd
+    @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
+        `cat $(MISC)/$(TARGET).$(@:b)_1.cmd` \
+        >> $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@cat $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_1.cmd
 # Need to strip __objcInit symbol to avoid duplicate symbols when loading
 # libraries at runtime
-	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)$/$(@:b).strip
-	@strip -i -R $(MISC)$/$(@:b).strip -X $@
+	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)/$(@:b).strip
+	@strip -i -R $(MISC)/$(@:b).strip -X $@
 	@ls -l $@
-    @$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl \
+    @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \
         app $(APP1RPATH) $@
 .IF "$(TARGETTYPE)"=="GUI"
 	@echo "Making: $@.app"
 .ENDIF		# "$(TARGETTYPE)"=="GUI"
 .ELSE		# "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@echo $(APP1LINKER) $(APP1LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-	$(APP1OBJS:s/.obj/.o/) '\' >  $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@cat $(mktmp /dev/null $(APP1LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@echo $(APP1LINKTYPEFLAG) $(APP1LIBSALCPPRT) $(APP1STDLIBS) $(APP1STDLIB) $(STDLIB1) -o $@ >> $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	cat $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_1.cmd
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@echo $(APP1LINKER) $(APP1LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
+	$(APP1OBJS:s/.obj/.o/) '\' >  $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@cat $(mktmp /dev/null $(APP1LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@echo $(APP1LINKTYPEFLAG) $(APP1LIBSALCPPRT) $(APP1STDLIBS) $(APP1STDLIB) $(STDLIB1) -o $@ >> $(MISC)/$(TARGET).$(@:b)_1.cmd
+	cat $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_1.cmd
 	@ls -l $@
 .ENDIF		# "$(OS)"=="MACOSX"
 .ENDIF
 .IF "$(GUI)" == "WNT"
 	@@-$(MKDIR) $(@:d:d)
 .IF "$(APP1LINKRES)" != ""
-	@@-$(RM) $(MISC)$/$(APP1LINKRES:b).rc
+	@@-$(RM) $(MISC)/$(APP1LINKRES:b).rc
 .IF "$(APP1ICON)" != ""
-	@-echo 1 ICON $(EMQ)"$(APP1ICON:s/\/\\/)$(EMQ)" >> $(MISC)$/$(APP1LINKRES:b).rc
+	@-echo 1 ICON $(EMQ)"$(APP1ICON:s/\/\\/)$(EMQ)" >> $(MISC)/$(APP1LINKRES:b).rc
 .ENDIF		# "$(APP1ICON)" != ""
 .IF "$(APP1VERINFO)" != ""
-	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP1LINKRES:b).rc
-	@-echo $(EMQ)#include  $(EMQ)"$(APP1VERINFO)$(EMQ)" >> $(MISC)$/$(APP1LINKRES:b).rc
+	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP1LINKRES:b).rc
+	@-echo $(EMQ)#include  $(EMQ)"$(APP1VERINFO)$(EMQ)" >> $(MISC)/$(APP1LINKRES:b).rc
 .ENDIF		# "$(APP1VERINFO)" != ""
-	$(RC) -DWIN32 $(APP1PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP1LINKRES:b).rc
+	$(RC) -DWIN32 $(APP1PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP1LINKRES:b).rc
 .ENDIF			# "$(APP1LINKRES)" != ""
 .IF "$(COM)" == "GCC"
 	@echo mingw
 .IF "$(APP1LINKRES)" != "" || "$(APP1RES)" != ""
-	@cat $(APP1LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP1RES)) >  $(MISC)$/$(@:b)_all.res
-	windres $(MISC)$/$(@:b)_all.res $(APP1RESO)
+	@cat $(APP1LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP1RES)) >  $(MISC)/$(@:b)_all.res
+	windres $(MISC)/$(@:b)_all.res $(APP1RESO)
 .ENDIF
-	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
 		$(APP1BASEX) $(APP1STACKN) -o $@ $(APP1OBJS) \
-		-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP1RESO) \
+		-Wl,-Map,$(MISC)/$(@:b).map $(STDOBJ) $(APP1RESO) \
 		`$(TYPE) /dev/null $(APP1LIBS) | sed s#$(ROUT)#$(OUT)#g` \
 		$(APP_LINKTYPE) $(APP1LIBSALCPPRT) \
 		-Wl,--start-group $(APP1STDLIBS) -Wl,--end-group $(APP1STDLIB) \
-		$(STDLIB1) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@$(TYPE)  $(MISC)$/$(TARGET).$(@:b)_1.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_1.cmd
+		$(STDLIB1) $(MINGWSSTDENDOBJ) > $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@$(TYPE)  $(MISC)/$(TARGET).$(@:b)_1.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_1.cmd
 	@ls -l $@
 .ELSE	# "$(COM)" == "GCC"
 .IF "$(linkinc)" == ""
 		$(LINKFLAGSAPP) $(APP1BASEX) \
 		$(APP1STACKN) \
 		-out:$@ \
-		-map:$(MISC)$/{$(subst,$/,_ $(APP1TARGET)).map} \
+		-map:$(MISC)/{$(subst,/,_ $(APP1TARGET)).map} \
 		$(STDOBJ) \
 		$(APP1LINKRES) \
 		$(APP1RES) \
 		)
 	@-echo linking $@.manifest ...
 .IF "$(VISTA_MANIFEST)"!=""
-	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)$/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
+	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.tmanifest -outputresource:$@$(EMQ);1 $(FI)
 .ELSE
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -outputresource:$@$(EMQ);1 $(FI)
 		$(APP1STDLIBS) \
 		$(APP1STDLIB) $(STDLIB1))
 		$(SED) -e 's/\(\.\.\\\)\{2,4\}/..\\/g' $(MISC)\$(APP1TARGETN:b)_linkobj.lst >> $(MISC)\$(APP1TARGET).lst
-		$(IFEXIST) $(MISC)$/$(APP1TARGET).lst $(THEN) type $(MISC)$/$(APP1TARGET).lst  >> $(MISC)$/$(APP1TARGET).lnk $(FI)
+		$(IFEXIST) $(MISC)/$(APP1TARGET).lst $(THEN) type $(MISC)/$(APP1TARGET).lst  >> $(MISC)/$(APP1TARGET).lnk $(FI)
 		$(APP1LINKER) @$(MISC)\$(APP1TARGET).lnk
 .ENDIF		# "$(linkinc)" == ""
 .ENDIF		# "$(COM)" == "GCC"
 .IF "$(APP1TARGET)" == "loader"
 	$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	$(RM) $@
 	$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 .IF "$(GUI)" == "OS2"
 	@+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
 .IF "$(APP1LINKRES)" != ""
-	@+-$(RM) $(MISC)$/$(APP1LINKRES:b).rc >& $(NULLDEV)
+	@+-$(RM) $(MISC)/$(APP1LINKRES:b).rc >& $(NULLDEV)
 .IF "$(APP1ICON)" != ""
-.IF "$(USE_SHELL)"=="4nt"
-	@-+echo ICON 1 "$(APP1ICON:s/\/\\/)" >> $(MISC)$/$(APP1LINKRES:b).rc
-.ELSE			# "$(USE_SHELL)"=="4nt"
-	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP1ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)$/$(APP1LINKRES:b).rc
-.ENDIF			# "$(USE_SHELL)"=="4nt"
+	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP1ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP1LINKRES:b).rc
 .ENDIF		# "$(APP1ICON)" != ""
 .IF "$(APP1VERINFO)" != ""
-	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP1LINKRES:b).rc
-	@-+echo $(EMQ)#include  $(EMQ)"$(APP1VERINFO)$(EMQ)" >> $(MISC)$/$(APP1LINKRES:b).rc
+	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP1LINKRES:b).rc
+	@-+echo $(EMQ)#include  $(EMQ)"$(APP1VERINFO)$(EMQ)" >> $(MISC)/$(APP1LINKRES:b).rc
 .ENDIF		# "$(APP1VERINFO)" != ""
-	$(RC) -r -DOS2 $(APP1PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP1LINKRES:b).rc
+	$(RC) -r -DOS2 $(APP1PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP1LINKRES:b).rc
 .ENDIF			# "$(APP1LINKRES)" != ""
 
 .IF "$(TARGETTYPE)" == "GUI" 
-	@echo NAME $(APP1TARGET) WINDOWAPI > $(MISC)$/$(APP1TARGET).def
+	@echo NAME $(APP1TARGET) WINDOWAPI > $(MISC)/$(APP1TARGET).def
 .ENDIF
 
 	@+echo	$(APP1LINKFLAGS) \
 		$(APP1STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP1LINKRES) \
 		$(APP1RES) \
 		$(APP1STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP1LINKRES) \
 		$(APP1RES) \
 
 .IF "$(APP1TARGET)" == "loader"
 	+$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	+$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	+$(RM) $@
 	+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 # unroll begin
 
 .IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI" 
-APP2DEF = $(MISC)$/$(APP2TARGET).def
+APP2DEF = $(MISC)/$(APP2TARGET).def
 .ENDIF
 
 .IF "$(APP2LINKTYPE)" != ""
 .IF "$(GUI)$(COM)" == "WNTGCC"
 APP2RESO=
 .IF "$(APP2LINKRES)" != "" || "$(APP2RES)" != ""
-APP2RESO=$(MISC)$/$(APP2TARGET:b)_res.o
+APP2RESO=$(MISC)/$(APP2TARGET:b)_res.o
 .ENDIF
 .ENDIF
 
 .IF "$(linkinc)"!=""
 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
 .IF "$(APP2LIBS)"!=""
-$(MISC)$/$(APP2TARGET)_linkinc.ls .PHONY:
+$(MISC)/$(APP2TARGET)_linkinc.ls .PHONY:
 	@@-$(RM) $@
-	sed -f $(SOLARENV)$/bin$/chrel.sed $(foreach,i,$(APP2LIBS) $(i:s/.lib/.lin/)) >> $@
+	sed -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(APP2LIBS) $(i:s/.lib/.lin/)) >> $@
 .ENDIF          #"$(APP2LIBS)"!="" 
 .ENDIF
 
-LINKINCTARGETS+=$(MISC)$/$(APP2TARGETN:b)_linkinc.ls
+LINKINCTARGETS+=$(MISC)/$(APP2TARGETN:b)_linkinc.ls
 $(APP2TARGETN) : $(LINKINCTARGETS)
 .ENDIF          # "$(linkinc)"!=""
 
 APP2LIBSALCPPRT*=$(LIBSALCPPRT)
 
 .IF "$(GUI)" == "OS2"
-_APP2IMP_ORD = $(APP2STDLIBS:^"$(SOLARVERSION)$/$(INPATH)$/lib$/") $(APP2STDLIBS:^"$(LB)$/") 
+_APP2IMP_ORD = $(APP2STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP2STDLIBS:^"$(LB)/") 
 APP2IMP_ORD = $(foreach,i,$(_APP2IMP_ORD) $(shell @-ls $i))
 .ELSE
 APP2IMP_ORD = 
 .IF "$(GUI)"=="UNX"
 .IF "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(@:b).list
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@-$(RM) $(MISC)$/$(@:b).strip
+	@-$(RM) $(MISC)/$(@:b).list
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@-$(RM) $(MISC)/$(@:b).strip
 	@echo $(STDSLO) $(APP2OBJS:s/.obj/.o/) \
-	`cat /dev/null $(APP2LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)$/$(@:b).list
-	@echo -n $(APP2LINKER) $(APP2LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) -o $@ \
-	$(APP2LINKTYPEFLAG) $(APP2STDLIBS) $(APP2STDLIB) $(STDLIB2) -filelist $(MISC)$/$(@:b).list > $(MISC)$/$(TARGET).$(@:b)_2.cmd
-    @$(PERL) $(SOLARENV)$/bin$/macosx-dylib-link-list.pl \
-        `cat $(MISC)$/$(TARGET).$(@:b)_2.cmd` \
-        >> $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@cat $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_2.cmd
+	`cat /dev/null $(APP2LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
+	@echo -n $(APP2LINKER) $(APP2LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+	$(APP2LINKTYPEFLAG) $(APP2STDLIBS) $(APP2STDLIB) $(STDLIB2) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_2.cmd
+    @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
+        `cat $(MISC)/$(TARGET).$(@:b)_2.cmd` \
+        >> $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@cat $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_2.cmd
 # Need to strip __objcInit symbol to avoid duplicate symbols when loading
 # libraries at runtime
-	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)$/$(@:b).strip
-	@strip -i -R $(MISC)$/$(@:b).strip -X $@
+	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)/$(@:b).strip
+	@strip -i -R $(MISC)/$(@:b).strip -X $@
 	@ls -l $@
-    @$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl \
+    @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \
         app $(APP2RPATH) $@
 .IF "$(TARGETTYPE)"=="GUI"
 	@echo "Making: $@.app"
 .ENDIF		# "$(TARGETTYPE)"=="GUI"
 .ELSE		# "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@echo $(APP2LINKER) $(APP2LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-	$(APP2OBJS:s/.obj/.o/) '\' >  $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@cat $(mktmp /dev/null $(APP2LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@echo $(APP2LINKTYPEFLAG) $(APP2LIBSALCPPRT) $(APP2STDLIBS) $(APP2STDLIB) $(STDLIB2) -o $@ >> $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	cat $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_2.cmd
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@echo $(APP2LINKER) $(APP2LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
+	$(APP2OBJS:s/.obj/.o/) '\' >  $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@cat $(mktmp /dev/null $(APP2LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@echo $(APP2LINKTYPEFLAG) $(APP2LIBSALCPPRT) $(APP2STDLIBS) $(APP2STDLIB) $(STDLIB2) -o $@ >> $(MISC)/$(TARGET).$(@:b)_2.cmd
+	cat $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_2.cmd
 	@ls -l $@
 .ENDIF		# "$(OS)"=="MACOSX"
 .ENDIF
 .IF "$(GUI)" == "WNT"
 	@@-$(MKDIR) $(@:d:d)
 .IF "$(APP2LINKRES)" != ""
-	@@-$(RM) $(MISC)$/$(APP2LINKRES:b).rc
+	@@-$(RM) $(MISC)/$(APP2LINKRES:b).rc
 .IF "$(APP2ICON)" != ""
-	@-echo 1 ICON $(EMQ)"$(APP2ICON:s/\/\\/)$(EMQ)" >> $(MISC)$/$(APP2LINKRES:b).rc
+	@-echo 1 ICON $(EMQ)"$(APP2ICON:s/\/\\/)$(EMQ)" >> $(MISC)/$(APP2LINKRES:b).rc
 .ENDIF		# "$(APP2ICON)" != ""
 .IF "$(APP2VERINFO)" != ""
-	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP2LINKRES:b).rc
-	@-echo $(EMQ)#include  $(EMQ)"$(APP2VERINFO)$(EMQ)" >> $(MISC)$/$(APP2LINKRES:b).rc
+	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP2LINKRES:b).rc
+	@-echo $(EMQ)#include  $(EMQ)"$(APP2VERINFO)$(EMQ)" >> $(MISC)/$(APP2LINKRES:b).rc
 .ENDIF		# "$(APP2VERINFO)" != ""
-	$(RC) -DWIN32 $(APP2PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP2LINKRES:b).rc
+	$(RC) -DWIN32 $(APP2PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP2LINKRES:b).rc
 .ENDIF			# "$(APP2LINKRES)" != ""
 .IF "$(COM)" == "GCC"
 	@echo mingw
 .IF "$(APP2LINKRES)" != "" || "$(APP2RES)" != ""
-	@cat $(APP2LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP2RES)) >  $(MISC)$/$(@:b)_all.res
-	windres $(MISC)$/$(@:b)_all.res $(APP2RESO)
+	@cat $(APP2LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP2RES)) >  $(MISC)/$(@:b)_all.res
+	windres $(MISC)/$(@:b)_all.res $(APP2RESO)
 .ENDIF
-	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
 		$(APP2BASEX) $(APP2STACKN) -o $@ $(APP2OBJS) \
-		-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP2RESO) \
+		-Wl,-Map,$(MISC)/$(@:b).map $(STDOBJ) $(APP2RESO) \
 		`$(TYPE) /dev/null $(APP2LIBS) | sed s#$(ROUT)#$(OUT)#g` \
 		$(APP_LINKTYPE) $(APP2LIBSALCPPRT) \
 		-Wl,--start-group $(APP2STDLIBS) -Wl,--end-group $(APP2STDLIB) \
-		$(STDLIB2) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@$(TYPE)  $(MISC)$/$(TARGET).$(@:b)_2.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_2.cmd
+		$(STDLIB2) $(MINGWSSTDENDOBJ) > $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@$(TYPE)  $(MISC)/$(TARGET).$(@:b)_2.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_2.cmd
 	@ls -l $@
 .ELSE	# "$(COM)" == "GCC"
 .IF "$(linkinc)" == ""
 		$(LINKFLAGSAPP) $(APP2BASEX) \
 		$(APP2STACKN) \
 		-out:$@ \
-		-map:$(MISC)$/{$(subst,$/,_ $(APP2TARGET)).map} \
+		-map:$(MISC)/{$(subst,/,_ $(APP2TARGET)).map} \
 		$(STDOBJ) \
 		$(APP2LINKRES) \
 		$(APP2RES) \
 		)
 	@-echo linking $@.manifest ...
 .IF "$(VISTA_MANIFEST)"!=""
-	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)$/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
+	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.tmanifest -outputresource:$@$(EMQ);1 $(FI)
 .ELSE
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -outputresource:$@$(EMQ);1 $(FI)
 		$(APP2STDLIBS) \
 		$(APP2STDLIB) $(STDLIB2))
 		$(SED) -e 's/\(\.\.\\\)\{2,4\}/..\\/g' $(MISC)\$(APP2TARGETN:b)_linkobj.lst >> $(MISC)\$(APP2TARGET).lst
-		$(IFEXIST) $(MISC)$/$(APP2TARGET).lst $(THEN) type $(MISC)$/$(APP2TARGET).lst  >> $(MISC)$/$(APP2TARGET).lnk $(FI)
+		$(IFEXIST) $(MISC)/$(APP2TARGET).lst $(THEN) type $(MISC)/$(APP2TARGET).lst  >> $(MISC)/$(APP2TARGET).lnk $(FI)
 		$(APP2LINKER) @$(MISC)\$(APP2TARGET).lnk
 .ENDIF		# "$(linkinc)" == ""
 .ENDIF		# "$(COM)" == "GCC"
 .IF "$(APP2TARGET)" == "loader"
 	$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	$(RM) $@
 	$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 .IF "$(GUI)" == "OS2"
 	@+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
 .IF "$(APP2LINKRES)" != ""
-	@+-$(RM) $(MISC)$/$(APP2LINKRES:b).rc >& $(NULLDEV)
+	@+-$(RM) $(MISC)/$(APP2LINKRES:b).rc >& $(NULLDEV)
 .IF "$(APP2ICON)" != ""
-.IF "$(USE_SHELL)"=="4nt"
-	@-+echo ICON 1 "$(APP2ICON:s/\/\\/)" >> $(MISC)$/$(APP2LINKRES:b).rc
-.ELSE			# "$(USE_SHELL)"=="4nt"
-	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP2ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)$/$(APP2LINKRES:b).rc
-.ENDIF			# "$(USE_SHELL)"=="4nt"
+	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP2ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP2LINKRES:b).rc
 .ENDIF		# "$(APP2ICON)" != ""
 .IF "$(APP2VERINFO)" != ""
-	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP2LINKRES:b).rc
-	@-+echo $(EMQ)#include  $(EMQ)"$(APP2VERINFO)$(EMQ)" >> $(MISC)$/$(APP2LINKRES:b).rc
+	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP2LINKRES:b).rc
+	@-+echo $(EMQ)#include  $(EMQ)"$(APP2VERINFO)$(EMQ)" >> $(MISC)/$(APP2LINKRES:b).rc
 .ENDIF		# "$(APP2VERINFO)" != ""
-	$(RC) -r -DOS2 $(APP2PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP2LINKRES:b).rc
+	$(RC) -r -DOS2 $(APP2PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP2LINKRES:b).rc
 .ENDIF			# "$(APP2LINKRES)" != ""
 
 .IF "$(TARGETTYPE)" == "GUI" 
-	@echo NAME $(APP2TARGET) WINDOWAPI > $(MISC)$/$(APP2TARGET).def
+	@echo NAME $(APP2TARGET) WINDOWAPI > $(MISC)/$(APP2TARGET).def
 .ENDIF
 
 	@+echo	$(APP2LINKFLAGS) \
 		$(APP2STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP2LINKRES) \
 		$(APP2RES) \
 		$(APP2STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP2LINKRES) \
 		$(APP2RES) \
 
 .IF "$(APP2TARGET)" == "loader"
 	+$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	+$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	+$(RM) $@
 	+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 # unroll begin
 
 .IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI" 
-APP3DEF = $(MISC)$/$(APP3TARGET).def
+APP3DEF = $(MISC)/$(APP3TARGET).def
 .ENDIF
 
 .IF "$(APP3LINKTYPE)" != ""
 .IF "$(GUI)$(COM)" == "WNTGCC"
 APP3RESO=
 .IF "$(APP3LINKRES)" != "" || "$(APP3RES)" != ""
-APP3RESO=$(MISC)$/$(APP3TARGET:b)_res.o
+APP3RESO=$(MISC)/$(APP3TARGET:b)_res.o
 .ENDIF
 .ENDIF
 
 .IF "$(linkinc)"!=""
 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
 .IF "$(APP3LIBS)"!=""
-$(MISC)$/$(APP3TARGET)_linkinc.ls .PHONY:
+$(MISC)/$(APP3TARGET)_linkinc.ls .PHONY:
 	@@-$(RM) $@
-	sed -f $(SOLARENV)$/bin$/chrel.sed $(foreach,i,$(APP3LIBS) $(i:s/.lib/.lin/)) >> $@
+	sed -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(APP3LIBS) $(i:s/.lib/.lin/)) >> $@
 .ENDIF          #"$(APP3LIBS)"!="" 
 .ENDIF
 
-LINKINCTARGETS+=$(MISC)$/$(APP3TARGETN:b)_linkinc.ls
+LINKINCTARGETS+=$(MISC)/$(APP3TARGETN:b)_linkinc.ls
 $(APP3TARGETN) : $(LINKINCTARGETS)
 .ENDIF          # "$(linkinc)"!=""
 
 APP3LIBSALCPPRT*=$(LIBSALCPPRT)
 
 .IF "$(GUI)" == "OS2"
-_APP3IMP_ORD = $(APP3STDLIBS:^"$(SOLARVERSION)$/$(INPATH)$/lib$/") $(APP3STDLIBS:^"$(LB)$/") 
+_APP3IMP_ORD = $(APP3STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP3STDLIBS:^"$(LB)/") 
 APP3IMP_ORD = $(foreach,i,$(_APP3IMP_ORD) $(shell @-ls $i))
 .ELSE
 APP3IMP_ORD = 
 .IF "$(GUI)"=="UNX"
 .IF "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(@:b).list
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@-$(RM) $(MISC)$/$(@:b).strip
+	@-$(RM) $(MISC)/$(@:b).list
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@-$(RM) $(MISC)/$(@:b).strip
 	@echo $(STDSLO) $(APP3OBJS:s/.obj/.o/) \
-	`cat /dev/null $(APP3LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)$/$(@:b).list
-	@echo -n $(APP3LINKER) $(APP3LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) -o $@ \
-	$(APP3LINKTYPEFLAG) $(APP3STDLIBS) $(APP3STDLIB) $(STDLIB3) -filelist $(MISC)$/$(@:b).list > $(MISC)$/$(TARGET).$(@:b)_3.cmd
-    @$(PERL) $(SOLARENV)$/bin$/macosx-dylib-link-list.pl \
-        `cat $(MISC)$/$(TARGET).$(@:b)_3.cmd` \
-        >> $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@cat $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_3.cmd
+	`cat /dev/null $(APP3LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
+	@echo -n $(APP3LINKER) $(APP3LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+	$(APP3LINKTYPEFLAG) $(APP3STDLIBS) $(APP3STDLIB) $(STDLIB3) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_3.cmd
+    @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
+        `cat $(MISC)/$(TARGET).$(@:b)_3.cmd` \
+        >> $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@cat $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_3.cmd
 # Need to strip __objcInit symbol to avoid duplicate symbols when loading
 # libraries at runtime
-	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)$/$(@:b).strip
-	@strip -i -R $(MISC)$/$(@:b).strip -X $@
+	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)/$(@:b).strip
+	@strip -i -R $(MISC)/$(@:b).strip -X $@
 	@ls -l $@
-    @$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl \
+    @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \
         app $(APP3RPATH) $@
 .IF "$(TARGETTYPE)"=="GUI"
 	@echo "Making: $@.app"
 .ENDIF		# "$(TARGETTYPE)"=="GUI"
 .ELSE		# "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@echo $(APP3LINKER) $(APP3LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-	$(APP3OBJS:s/.obj/.o/) '\' >  $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@cat $(mktmp /dev/null $(APP3LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@echo $(APP3LINKTYPEFLAG) $(APP3LIBSALCPPRT) $(APP3STDLIBS) $(APP3STDLIB) $(STDLIB3) -o $@ >> $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	cat $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_3.cmd
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@echo $(APP3LINKER) $(APP3LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
+	$(APP3OBJS:s/.obj/.o/) '\' >  $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@cat $(mktmp /dev/null $(APP3LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@echo $(APP3LINKTYPEFLAG) $(APP3LIBSALCPPRT) $(APP3STDLIBS) $(APP3STDLIB) $(STDLIB3) -o $@ >> $(MISC)/$(TARGET).$(@:b)_3.cmd
+	cat $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_3.cmd
 	@ls -l $@
 .ENDIF		# "$(OS)"=="MACOSX"
 .ENDIF
 .IF "$(GUI)" == "WNT"
 	@@-$(MKDIR) $(@:d:d)
 .IF "$(APP3LINKRES)" != ""
-	@@-$(RM) $(MISC)$/$(APP3LINKRES:b).rc
+	@@-$(RM) $(MISC)/$(APP3LINKRES:b).rc
 .IF "$(APP3ICON)" != ""
-	@-echo 1 ICON $(EMQ)"$(APP3ICON:s/\/\\/)$(EMQ)" >> $(MISC)$/$(APP3LINKRES:b).rc
+	@-echo 1 ICON $(EMQ)"$(APP3ICON:s/\/\\/)$(EMQ)" >> $(MISC)/$(APP3LINKRES:b).rc
 .ENDIF		# "$(APP3ICON)" != ""
 .IF "$(APP3VERINFO)" != ""
-	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP3LINKRES:b).rc
-	@-echo $(EMQ)#include  $(EMQ)"$(APP3VERINFO)$(EMQ)" >> $(MISC)$/$(APP3LINKRES:b).rc
+	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP3LINKRES:b).rc
+	@-echo $(EMQ)#include  $(EMQ)"$(APP3VERINFO)$(EMQ)" >> $(MISC)/$(APP3LINKRES:b).rc
 .ENDIF		# "$(APP3VERINFO)" != ""
-	$(RC) -DWIN32 $(APP3PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP3LINKRES:b).rc
+	$(RC) -DWIN32 $(APP3PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP3LINKRES:b).rc
 .ENDIF			# "$(APP3LINKRES)" != ""
 .IF "$(COM)" == "GCC"
 	@echo mingw
 .IF "$(APP3LINKRES)" != "" || "$(APP3RES)" != ""
-	@cat $(APP3LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP3RES)) >  $(MISC)$/$(@:b)_all.res
-	windres $(MISC)$/$(@:b)_all.res $(APP3RESO)
+	@cat $(APP3LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP3RES)) >  $(MISC)/$(@:b)_all.res
+	windres $(MISC)/$(@:b)_all.res $(APP3RESO)
 .ENDIF
-	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
 		$(APP3BASEX) $(APP3STACKN) -o $@ $(APP3OBJS) \
-		-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP3RESO) \
+		-Wl,-Map,$(MISC)/$(@:b).map $(STDOBJ) $(APP3RESO) \
 		`$(TYPE) /dev/null $(APP3LIBS) | sed s#$(ROUT)#$(OUT)#g` \
 		$(APP_LINKTYPE) $(APP3LIBSALCPPRT) \
 		-Wl,--start-group $(APP3STDLIBS) -Wl,--end-group $(APP3STDLIB) \
-		$(STDLIB3) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@$(TYPE)  $(MISC)$/$(TARGET).$(@:b)_3.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_3.cmd
+		$(STDLIB3) $(MINGWSSTDENDOBJ) > $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@$(TYPE)  $(MISC)/$(TARGET).$(@:b)_3.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_3.cmd
 	@ls -l $@
 .ELSE	# "$(COM)" == "GCC"
 .IF "$(linkinc)" == ""
 		$(LINKFLAGSAPP) $(APP3BASEX) \
 		$(APP3STACKN) \
 		-out:$@ \
-		-map:$(MISC)$/{$(subst,$/,_ $(APP3TARGET)).map} \
+		-map:$(MISC)/{$(subst,/,_ $(APP3TARGET)).map} \
 		$(STDOBJ) \
 		$(APP3LINKRES) \
 		$(APP3RES) \
 		)
 	@-echo linking $@.manifest ...
 .IF "$(VISTA_MANIFEST)"!=""
-	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)$/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
+	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.tmanifest -outputresource:$@$(EMQ);1 $(FI)
 .ELSE
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -outputresource:$@$(EMQ);1 $(FI)
 		$(APP3STDLIBS) \
 		$(APP3STDLIB) $(STDLIB3))
 		$(SED) -e 's/\(\.\.\\\)\{2,4\}/..\\/g' $(MISC)\$(APP3TARGETN:b)_linkobj.lst >> $(MISC)\$(APP3TARGET).lst
-		$(IFEXIST) $(MISC)$/$(APP3TARGET).lst $(THEN) type $(MISC)$/$(APP3TARGET).lst  >> $(MISC)$/$(APP3TARGET).lnk $(FI)
+		$(IFEXIST) $(MISC)/$(APP3TARGET).lst $(THEN) type $(MISC)/$(APP3TARGET).lst  >> $(MISC)/$(APP3TARGET).lnk $(FI)
 		$(APP3LINKER) @$(MISC)\$(APP3TARGET).lnk
 .ENDIF		# "$(linkinc)" == ""
 .ENDIF		# "$(COM)" == "GCC"
 .IF "$(APP3TARGET)" == "loader"
 	$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	$(RM) $@
 	$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 .IF "$(GUI)" == "OS2"
 	@+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
 .IF "$(APP3LINKRES)" != ""
-	@+-$(RM) $(MISC)$/$(APP3LINKRES:b).rc >& $(NULLDEV)
+	@+-$(RM) $(MISC)/$(APP3LINKRES:b).rc >& $(NULLDEV)
 .IF "$(APP3ICON)" != ""
-.IF "$(USE_SHELL)"=="4nt"
-	@-+echo ICON 1 "$(APP3ICON:s/\/\\/)" >> $(MISC)$/$(APP3LINKRES:b).rc
-.ELSE			# "$(USE_SHELL)"=="4nt"
-	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP3ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)$/$(APP3LINKRES:b).rc
-.ENDIF			# "$(USE_SHELL)"=="4nt"
+	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP3ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP3LINKRES:b).rc
 .ENDIF		# "$(APP3ICON)" != ""
 .IF "$(APP3VERINFO)" != ""
-	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP3LINKRES:b).rc
-	@-+echo $(EMQ)#include  $(EMQ)"$(APP3VERINFO)$(EMQ)" >> $(MISC)$/$(APP3LINKRES:b).rc
+	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP3LINKRES:b).rc
+	@-+echo $(EMQ)#include  $(EMQ)"$(APP3VERINFO)$(EMQ)" >> $(MISC)/$(APP3LINKRES:b).rc
 .ENDIF		# "$(APP3VERINFO)" != ""
-	$(RC) -r -DOS2 $(APP3PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP3LINKRES:b).rc
+	$(RC) -r -DOS2 $(APP3PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP3LINKRES:b).rc
 .ENDIF			# "$(APP3LINKRES)" != ""
 
 .IF "$(TARGETTYPE)" == "GUI" 
-	@echo NAME $(APP3TARGET) WINDOWAPI > $(MISC)$/$(APP3TARGET).def
+	@echo NAME $(APP3TARGET) WINDOWAPI > $(MISC)/$(APP3TARGET).def
 .ENDIF
 
 	@+echo	$(APP3LINKFLAGS) \
 		$(APP3STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP3LINKRES) \
 		$(APP3RES) \
 		$(APP3STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP3LINKRES) \
 		$(APP3RES) \
 
 .IF "$(APP3TARGET)" == "loader"
 	+$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	+$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	+$(RM) $@
 	+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 # unroll begin
 
 .IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI" 
-APP4DEF = $(MISC)$/$(APP4TARGET).def
+APP4DEF = $(MISC)/$(APP4TARGET).def
 .ENDIF
 
 .IF "$(APP4LINKTYPE)" != ""
 .IF "$(GUI)$(COM)" == "WNTGCC"
 APP4RESO=
 .IF "$(APP4LINKRES)" != "" || "$(APP4RES)" != ""
-APP4RESO=$(MISC)$/$(APP4TARGET:b)_res.o
+APP4RESO=$(MISC)/$(APP4TARGET:b)_res.o
 .ENDIF
 .ENDIF
 
 .IF "$(linkinc)"!=""
 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
 .IF "$(APP4LIBS)"!=""
-$(MISC)$/$(APP4TARGET)_linkinc.ls .PHONY:
+$(MISC)/$(APP4TARGET)_linkinc.ls .PHONY:
 	@@-$(RM) $@
-	sed -f $(SOLARENV)$/bin$/chrel.sed $(foreach,i,$(APP4LIBS) $(i:s/.lib/.lin/)) >> $@
+	sed -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(APP4LIBS) $(i:s/.lib/.lin/)) >> $@
 .ENDIF          #"$(APP4LIBS)"!="" 
 .ENDIF
 
-LINKINCTARGETS+=$(MISC)$/$(APP4TARGETN:b)_linkinc.ls
+LINKINCTARGETS+=$(MISC)/$(APP4TARGETN:b)_linkinc.ls
 $(APP4TARGETN) : $(LINKINCTARGETS)
 .ENDIF          # "$(linkinc)"!=""
 
 APP4LIBSALCPPRT*=$(LIBSALCPPRT)
 
 .IF "$(GUI)" == "OS2"
-_APP4IMP_ORD = $(APP4STDLIBS:^"$(SOLARVERSION)$/$(INPATH)$/lib$/") $(APP4STDLIBS:^"$(LB)$/") 
+_APP4IMP_ORD = $(APP4STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP4STDLIBS:^"$(LB)/") 
 APP4IMP_ORD = $(foreach,i,$(_APP4IMP_ORD) $(shell @-ls $i))
 .ELSE
 APP4IMP_ORD = 
 .IF "$(GUI)"=="UNX"
 .IF "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(@:b).list
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@-$(RM) $(MISC)$/$(@:b).strip
+	@-$(RM) $(MISC)/$(@:b).list
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@-$(RM) $(MISC)/$(@:b).strip
 	@echo $(STDSLO) $(APP4OBJS:s/.obj/.o/) \
-	`cat /dev/null $(APP4LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)$/$(@:b).list
-	@echo -n $(APP4LINKER) $(APP4LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) -o $@ \
-	$(APP4LINKTYPEFLAG) $(APP4STDLIBS) $(APP4STDLIB) $(STDLIB4) -filelist $(MISC)$/$(@:b).list > $(MISC)$/$(TARGET).$(@:b)_4.cmd
-    @$(PERL) $(SOLARENV)$/bin$/macosx-dylib-link-list.pl \
-        `cat $(MISC)$/$(TARGET).$(@:b)_4.cmd` \
-        >> $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@cat $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_4.cmd
+	`cat /dev/null $(APP4LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
+	@echo -n $(APP4LINKER) $(APP4LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+	$(APP4LINKTYPEFLAG) $(APP4STDLIBS) $(APP4STDLIB) $(STDLIB4) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_4.cmd
+    @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
+        `cat $(MISC)/$(TARGET).$(@:b)_4.cmd` \
+        >> $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@cat $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_4.cmd
 # Need to strip __objcInit symbol to avoid duplicate symbols when loading
 # libraries at runtime
-	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)$/$(@:b).strip
-	@strip -i -R $(MISC)$/$(@:b).strip -X $@
+	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)/$(@:b).strip
+	@strip -i -R $(MISC)/$(@:b).strip -X $@
 	@ls -l $@
-    @$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl \
+    @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \
         app $(APP4RPATH) $@
 .IF "$(TARGETTYPE)"=="GUI"
 	@echo "Making: $@.app"
 .ENDIF		# "$(TARGETTYPE)"=="GUI"
 .ELSE		# "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@echo $(APP4LINKER) $(APP4LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-	$(APP4OBJS:s/.obj/.o/) '\' >  $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@cat $(mktmp /dev/null $(APP4LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@echo $(APP4LINKTYPEFLAG) $(APP4LIBSALCPPRT) $(APP4STDLIBS) $(APP4STDLIB) $(STDLIB4) -o $@ >> $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	cat $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_4.cmd
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@echo $(APP4LINKER) $(APP4LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
+	$(APP4OBJS:s/.obj/.o/) '\' >  $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@cat $(mktmp /dev/null $(APP4LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@echo $(APP4LINKTYPEFLAG) $(APP4LIBSALCPPRT) $(APP4STDLIBS) $(APP4STDLIB) $(STDLIB4) -o $@ >> $(MISC)/$(TARGET).$(@:b)_4.cmd
+	cat $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_4.cmd
 	@ls -l $@
 .ENDIF		# "$(OS)"=="MACOSX"
 .ENDIF
 .IF "$(GUI)" == "WNT"
 	@@-$(MKDIR) $(@:d:d)
 .IF "$(APP4LINKRES)" != ""
-	@@-$(RM) $(MISC)$/$(APP4LINKRES:b).rc
+	@@-$(RM) $(MISC)/$(APP4LINKRES:b).rc
 .IF "$(APP4ICON)" != ""
-	@-echo 1 ICON $(EMQ)"$(APP4ICON:s/\/\\/)$(EMQ)" >> $(MISC)$/$(APP4LINKRES:b).rc
+	@-echo 1 ICON $(EMQ)"$(APP4ICON:s/\/\\/)$(EMQ)" >> $(MISC)/$(APP4LINKRES:b).rc
 .ENDIF		# "$(APP4ICON)" != ""
 .IF "$(APP4VERINFO)" != ""
-	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP4LINKRES:b).rc
-	@-echo $(EMQ)#include  $(EMQ)"$(APP4VERINFO)$(EMQ)" >> $(MISC)$/$(APP4LINKRES:b).rc
+	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP4LINKRES:b).rc
+	@-echo $(EMQ)#include  $(EMQ)"$(APP4VERINFO)$(EMQ)" >> $(MISC)/$(APP4LINKRES:b).rc
 .ENDIF		# "$(APP4VERINFO)" != ""
-	$(RC) -DWIN32 $(APP4PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP4LINKRES:b).rc
+	$(RC) -DWIN32 $(APP4PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP4LINKRES:b).rc
 .ENDIF			# "$(APP4LINKRES)" != ""
 .IF "$(COM)" == "GCC"
 	@echo mingw
 .IF "$(APP4LINKRES)" != "" || "$(APP4RES)" != ""
-	@cat $(APP4LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP4RES)) >  $(MISC)$/$(@:b)_all.res
-	windres $(MISC)$/$(@:b)_all.res $(APP4RESO)
+	@cat $(APP4LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP4RES)) >  $(MISC)/$(@:b)_all.res
+	windres $(MISC)/$(@:b)_all.res $(APP4RESO)
 .ENDIF
-	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
 		$(APP4BASEX) $(APP4STACKN) -o $@ $(APP4OBJS) \
-		-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP4RESO) \
+		-Wl,-Map,$(MISC)/$(@:b).map $(STDOBJ) $(APP4RESO) \
 		`$(TYPE) /dev/null $(APP4LIBS) | sed s#$(ROUT)#$(OUT)#g` \
 		$(APP_LINKTYPE) $(APP4LIBSALCPPRT) \
 		-Wl,--start-group $(APP4STDLIBS) -Wl,--end-group $(APP4STDLIB) \
-		$(STDLIB4) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@$(TYPE)  $(MISC)$/$(TARGET).$(@:b)_4.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_4.cmd
+		$(STDLIB4) $(MINGWSSTDENDOBJ) > $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@$(TYPE)  $(MISC)/$(TARGET).$(@:b)_4.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_4.cmd
 	@ls -l $@
 .ELSE	# "$(COM)" == "GCC"
 .IF "$(linkinc)" == ""
 		$(LINKFLAGSAPP) $(APP4BASEX) \
 		$(APP4STACKN) \
 		-out:$@ \
-		-map:$(MISC)$/{$(subst,$/,_ $(APP4TARGET)).map} \
+		-map:$(MISC)/{$(subst,/,_ $(APP4TARGET)).map} \
 		$(STDOBJ) \
 		$(APP4LINKRES) \
 		$(APP4RES) \
 		)
 	@-echo linking $@.manifest ...
 .IF "$(VISTA_MANIFEST)"!=""
-	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)$/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
+	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.tmanifest -outputresource:$@$(EMQ);1 $(FI)
 .ELSE
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -outputresource:$@$(EMQ);1 $(FI)
 		$(APP4STDLIBS) \
 		$(APP4STDLIB) $(STDLIB4))
 		$(SED) -e 's/\(\.\.\\\)\{2,4\}/..\\/g' $(MISC)\$(APP4TARGETN:b)_linkobj.lst >> $(MISC)\$(APP4TARGET).lst
-		$(IFEXIST) $(MISC)$/$(APP4TARGET).lst $(THEN) type $(MISC)$/$(APP4TARGET).lst  >> $(MISC)$/$(APP4TARGET).lnk $(FI)
+		$(IFEXIST) $(MISC)/$(APP4TARGET).lst $(THEN) type $(MISC)/$(APP4TARGET).lst  >> $(MISC)/$(APP4TARGET).lnk $(FI)
 		$(APP4LINKER) @$(MISC)\$(APP4TARGET).lnk
 .ENDIF		# "$(linkinc)" == ""
 .ENDIF		# "$(COM)" == "GCC"
 .IF "$(APP4TARGET)" == "loader"
 	$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	$(RM) $@
 	$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 .IF "$(GUI)" == "OS2"
 	@+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
 .IF "$(APP4LINKRES)" != ""
-	@+-$(RM) $(MISC)$/$(APP4LINKRES:b).rc >& $(NULLDEV)
+	@+-$(RM) $(MISC)/$(APP4LINKRES:b).rc >& $(NULLDEV)
 .IF "$(APP4ICON)" != ""
-.IF "$(USE_SHELL)"=="4nt"
-	@-+echo ICON 1 "$(APP4ICON:s/\/\\/)" >> $(MISC)$/$(APP4LINKRES:b).rc
-.ELSE			# "$(USE_SHELL)"=="4nt"
-	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP4ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)$/$(APP4LINKRES:b).rc
-.ENDIF			# "$(USE_SHELL)"=="4nt"
+	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP4ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP4LINKRES:b).rc
 .ENDIF		# "$(APP4ICON)" != ""
 .IF "$(APP4VERINFO)" != ""
-	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP4LINKRES:b).rc
-	@-+echo $(EMQ)#include  $(EMQ)"$(APP4VERINFO)$(EMQ)" >> $(MISC)$/$(APP4LINKRES:b).rc
+	@-+echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP4LINKRES:b).rc
+	@-+echo $(EMQ)#include  $(EMQ)"$(APP4VERINFO)$(EMQ)" >> $(MISC)/$(APP4LINKRES:b).rc
 .ENDIF		# "$(APP4VERINFO)" != ""
-	$(RC) -r -DOS2 $(APP4PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP4LINKRES:b).rc
+	$(RC) -r -DOS2 $(APP4PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP4LINKRES:b).rc
 .ENDIF			# "$(APP4LINKRES)" != ""
 
 .IF "$(TARGETTYPE)" == "GUI" 
-	@echo NAME $(APP4TARGET) WINDOWAPI > $(MISC)$/$(APP4TARGET).def
+	@echo NAME $(APP4TARGET) WINDOWAPI > $(MISC)/$(APP4TARGET).def
 .ENDIF
 
 	@+echo	$(APP4LINKFLAGS) \
 		$(APP4STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP4LINKRES) \
 		$(APP4RES) \
 		$(APP4STACKN) \
 		-o $@ \
 		-Zmap -L$(LB) \
-		-L$(SOLARVERSION)$/$(INPATH)$/lib \
+		-L$(SOLARVERSION)/$(INPATH)/lib \
 		$(STDOBJ) \
 		$(APP4LINKRES) \
 		$(APP4RES) \
 
 .IF "$(APP4TARGET)" == "loader"
 	+$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	+$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	+$(RM) $@
 	+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 # unroll begin
 
 .IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI" 
-APP5DEF = $(MISC)$/$(APP5TARGET).def
+APP5DEF = $(MISC)/$(APP5TARGET).def
 .ENDIF
 
 .IF "$(APP5LINKTYPE)" != ""
 .IF "$(GUI)$(COM)" == "WNTGCC"
 APP5RESO=
 .IF "$(APP5LINKRES)" != "" || "$(APP5RES)" != ""
-APP5RESO=$(MISC)$/$(APP5TARGET:b)_res.o
+APP5RESO=$(MISC)/$(APP5TARGET:b)_res.o
 .ENDIF
 .ENDIF
 
 .IF "$(linkinc)"!=""
 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
 .IF "$(APP5LIBS)"!=""
-$(MISC)$/$(APP5TARGET)_linkinc.ls .PHONY:
+$(MISC)/$(APP5TARGET)_linkinc.ls .PHONY:
 	@@-$(RM) $@
-	sed -f $(SOLARENV)$/bin$/chrel.sed $(foreach,i,$(APP5LIBS) $(i:s/.lib/.lin/)) >> $@
+	sed -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(APP5LIBS) $(i:s/.lib/.lin/)) >> $@
 .ENDIF          #"$(APP5LIBS)"!="" 
 .ENDIF
 
-LINKINCTARGETS+=$(MISC)$/$(APP5TARGETN:b)_linkinc.ls
+LINKINCTARGETS+=$(MISC)/$(APP5TARGETN:b)_linkinc.ls
 $(APP5TARGETN) : $(LINKINCTARGETS)
 .ENDIF          # "$(linkinc)"!=""
 
 APP5LIBSALCPPRT*=$(LIBSALCPPRT)
 
 .IF "$(GUI)" == "OS2"
-_APP5IMP_ORD = $(APP5STDLIBS:^"$(SOLARVERSION)$/$(INPATH)$/lib$/") $(APP5STDLIBS:^"$(LB)$/") 
+_APP5IMP_ORD = $(APP5STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP5STDLIBS:^"$(LB)/") 
 APP5IMP_ORD = $(foreach,i,$(_APP5IMP_ORD) $(shell @-ls $i))
 .ELSE
 APP5IMP_ORD = 
 .IF "$(GUI)"=="UNX"
 .IF "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(@:b).list
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@-$(RM) $(MISC)$/$(@:b).strip
+	@-$(RM) $(MISC)/$(@:b).list
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@-$(RM) $(MISC)/$(@:b).strip
 	@echo $(STDSLO) $(APP5OBJS:s/.obj/.o/) \
-	`cat /dev/null $(APP5LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)$/$(@:b).list
-	@echo -n $(APP5LINKER) $(APP5LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) -o $@ \
-	$(APP5LINKTYPEFLAG) $(APP5STDLIBS) $(APP5STDLIB) $(STDLIB5) -filelist $(MISC)$/$(@:b).list > $(MISC)$/$(TARGET).$(@:b)_5.cmd
-    @$(PERL) $(SOLARENV)$/bin$/macosx-dylib-link-list.pl \
-        `cat $(MISC)$/$(TARGET).$(@:b)_5.cmd` \
-        >> $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@cat $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_5.cmd
+	`cat /dev/null $(APP5LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
+	@echo -n $(APP5LINKER) $(APP5LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+	$(APP5LINKTYPEFLAG) $(APP5STDLIBS) $(APP5STDLIB) $(STDLIB5) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_5.cmd
+    @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
+        `cat $(MISC)/$(TARGET).$(@:b)_5.cmd` \
+        >> $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@cat $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_5.cmd
 # Need to strip __objcInit symbol to avoid duplicate symbols when loading
 # libraries at runtime
-	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)$/$(@:b).strip
-	@strip -i -R $(MISC)$/$(@:b).strip -X $@
+	@-nm $@ | grep -v ' U ' | $(AWK) '{ print $$NF }' | grep -F -x '__objcInit' > $(MISC)/$(@:b).strip
+	@strip -i -R $(MISC)/$(@:b).strip -X $@
 	@ls -l $@
-    @$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl \
+    @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \
         app $(APP5RPATH) $@
 .IF "$(TARGETTYPE)"=="GUI"
 	@echo "Making: $@.app"
 .ENDIF		# "$(TARGETTYPE)"=="GUI"
 .ELSE		# "$(OS)"=="MACOSX"
 	@echo unx
-	@-$(RM) $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@echo $(APP5LINKER) $(APP5LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-	$(APP5OBJS:s/.obj/.o/) '\' >  $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@cat $(mktmp /dev/null $(APP5LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@echo $(APP5LINKTYPEFLAG) $(APP5LIBSALCPPRT) $(APP5STDLIBS) $(APP5STDLIB) $(STDLIB5) -o $@ >> $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	cat $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_5.cmd
+	@-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@echo $(APP5LINKER) $(APP5LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
+	$(APP5OBJS:s/.obj/.o/) '\' >  $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@cat $(mktmp /dev/null $(APP5LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#'  >> $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@echo $(APP5LINKTYPEFLAG) $(APP5LIBSALCPPRT) $(APP5STDLIBS) $(APP5STDLIB) $(STDLIB5) -o $@ >> $(MISC)/$(TARGET).$(@:b)_5.cmd
+	cat $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_5.cmd
 	@ls -l $@
 .ENDIF		# "$(OS)"=="MACOSX"
 .ENDIF
 .IF "$(GUI)" == "WNT"
 	@@-$(MKDIR) $(@:d:d)
 .IF "$(APP5LINKRES)" != ""
-	@@-$(RM) $(MISC)$/$(APP5LINKRES:b).rc
+	@@-$(RM) $(MISC)/$(APP5LINKRES:b).rc
 .IF "$(APP5ICON)" != ""
-	@-echo 1 ICON $(EMQ)"$(APP5ICON:s/\/\\/)$(EMQ)" >> $(MISC)$/$(APP5LINKRES:b).rc
+	@-echo 1 ICON $(EMQ)"$(APP5ICON:s/\/\\/)$(EMQ)" >> $(MISC)/$(APP5LINKRES:b).rc
 .ENDIF		# "$(APP5ICON)" != ""
 .IF "$(APP5VERINFO)" != ""
-	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)$/$(APP5LINKRES:b).rc
-	@-echo $(EMQ)#include  $(EMQ)"$(APP5VERINFO)$(EMQ)" >> $(MISC)$/$(APP5LINKRES:b).rc
+	@-echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC)/$(APP5LINKRES:b).rc
+	@-echo $(EMQ)#include  $(EMQ)"$(APP5VERINFO)$(EMQ)" >> $(MISC)/$(APP5LINKRES:b).rc
 .ENDIF		# "$(APP5VERINFO)" != ""
-	$(RC) -DWIN32 $(APP5PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)$/$(APP5LINKRES:b).rc
+	$(RC) -DWIN32 $(APP5PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP5LINKRES:b).rc
 .ENDIF			# "$(APP5LINKRES)" != ""
 .IF "$(COM)" == "GCC"
 	@echo mingw
 .IF "$(APP5LINKRES)" != "" || "$(APP5RES)" != ""
-	@cat $(APP5LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP5RES)) >  $(MISC)$/$(@:b)_all.res
-	windres $(MISC)$/$(@:b)_all.res $(APP5RESO)
+	@cat $(APP5LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP5RES)) >  $(MISC)/$(@:b)_all.res
+	windres $(MISC)/$(@:b)_all.res $(APP5RESO)
 .ENDIF
-	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+	@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
 		$(APP5BASEX) $(APP5STACKN) -o $@ $(APP5OBJS) \
-		-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP5RESO) \
+		-Wl,-Map,$(MISC)/$(@:b).map $(STDOBJ) $(APP5RESO) \
 		`$(TYPE) /dev/null $(APP5LIBS) | sed s#$(ROUT)#$(OUT)#g` \
 		$(APP_LINKTYPE) $(APP5LIBSALCPPRT) \
 		-Wl,--start-group $(APP5STDLIBS) -Wl,--end-group $(APP5STDLIB) \
-		$(STDLIB5) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@$(TYPE)  $(MISC)$/$(TARGET).$(@:b)_5.cmd
-	@+source $(MISC)$/$(TARGET).$(@:b)_5.cmd
+		$(STDLIB5) $(MINGWSSTDENDOBJ) > $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@$(TYPE)  $(MISC)/$(TARGET).$(@:b)_5.cmd
+	@+source $(MISC)/$(TARGET).$(@:b)_5.cmd
 	@ls -l $@
 .ELSE	# "$(COM)" == "GCC"
 .IF "$(linkinc)" == ""
 		$(LINKFLAGSAPP) $(APP5BASEX) \
 		$(APP5STACKN) \
 		-out:$@ \
-		-map:$(MISC)$/{$(subst,$/,_ $(APP5TARGET)).map} \
+		-map:$(MISC)/{$(subst,/,_ $(APP5TARGET)).map} \
 		$(STDOBJ) \
 		$(APP5LINKRES) \
 		$(APP5RES) \
 		)
 	@-echo linking $@.manifest ...
 .IF "$(VISTA_MANIFEST)"!=""
-	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)$/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
+	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.tmanifest -outputresource:$@$(EMQ);1 $(FI)
 .ELSE
 	$(IFEXIST) $@.manifest $(THEN) mt.exe -manifest $@.manifest -outputresource:$@$(EMQ);1 $(FI)
 		$(APP5STDLIBS) \
 		$(APP5STDLIB) $(STDLIB5))
 		$(SED) -e 's/\(\.\.\\\)\{2,4\}/..\\/g' $(MISC)\$(APP5TARGETN:b)_linkobj.lst >> $(MISC)\$(APP5TARGET).lst
-		$(IFEXIST) $(MISC)$/$(APP5TARGET).lst $(THEN) type $(MISC)$/$(APP5TARGET).lst  >> $(MISC)$/$(APP5TARGET).lnk $(FI)
+		$(IFEXIST) $(MISC)/$(APP5TARGET).lst $(THEN) type $(MISC)/$(APP5TARGET).lst  >> $(MISC)/$(APP5TARGET).lnk $(FI)
 		$(APP5LINKER) @$(MISC)\$(APP5TARGET).lnk
 .ENDIF		# "$(linkinc)" == ""
 .ENDIF		# "$(COM)" == "GCC"
 .IF "$(APP5TARGET)" == "loader"
 	$(PERL) loader.pl $@
-.IF "$(USE_SHELL)"=="4nt"
-	$(COPY) /b $(@)+$(@:d)unloader.exe $(@:d)_new.exe
-.ELSE			# "$(USE_SHELL)"=="4nt"
 	$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
-.ENDIF			# "$(USE_SHELL)"=="4nt"
 	$(RM) $@
 	$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
 .ENDIF			# "$(TARGET)" == "setup"
 .IF "$(GUI)" == "OS2"
 	@+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
 .IF "$(APP5LINKRES)" != ""
-	@+-$(RM) $(MISC)$/$(APP5LINKRES:b).rc >& $(NULLDEV)
+	@+-$(RM) $(MISC)/$(APP5LINKRES:b).rc >& $(NULLDEV)
 .IF "$(APP5ICON)" != ""
-.IF "$(USE_SHELL)"=="4nt"
-	@-+echo ICON 1 "$(APP5ICON:s/\/\\/)" >> $(MISC)$/$(APP5LINKRES:b).rc
-.ELSE			# "$(USE_SHELL)"=="4nt"
-	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP5ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)$/$(APP5LINKRES:b).rc
-.ENDIF			# "$(USE_SHELL)"=="4nt"
+	@-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP5ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP5LINKRES:b).rc
 .ENDIF		# "$(APP5ICON)" != ""