--- old/usr/src/cmd/make/bin/globals.cc	2015-05-20 11:22:24.041859186 -0400
+++ new/usr/src/cmd/make/bin/globals.cc	2015-05-20 11:22:24.053507286 -0400
@@ -189,8 +189,8 @@
 	Name		suffixes_name;
 	Name		sunpro_dependencies;
         Boolean		target_variants;
-	char		*tmpdir = NOCATGETS("/tmp");
-	char		*temp_file_directory = NOCATGETS(".");
+	const char	*tmpdir = NOCATGETS("/tmp");
+	const char	*temp_file_directory = NOCATGETS(".");
 	Name		temp_file_name;
 	short		temp_file_number;
 	time_t		timing_start;
--- old/usr/src/cmd/make/bin/main.cc	2015-05-20 11:22:24.456182317 -0400
+++ new/usr/src/cmd/make/bin/main.cc	2015-05-20 11:22:24.468792316 -0400
@@ -208,7 +208,7 @@
 
 jmp_buf jmpbuffer;
 #if !defined(linux)
-nl_catd catd;
+extern nl_catd catd;
 #endif
 
 /*
@@ -1447,54 +1447,54 @@
 				}
 				break;
 			case 1:	/* -f seen */
-				argv[i] = NOCATGETS("-f");
+				argv[i] = (char *)NOCATGETS("-f");
 				break;
 			case 2:	/* -c seen */
-				argv[i] = NOCATGETS("-c");
+				argv[i] = (char *)NOCATGETS("-c");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 281, "Ignoring DistributedMake -c option"));
 #endif
 				break;
 			case 4:	/* -g seen */
-				argv[i] = NOCATGETS("-g");
+				argv[i] = (char *)NOCATGETS("-g");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 282, "Ignoring DistributedMake -g option"));
 #endif
 				break;
 			case 8:	/* -j seen */
-				argv[i] = NOCATGETS("-j");
+				argv[i] = (char *)NOCATGETS("-j");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 283, "Ignoring DistributedMake -j option"));
 #endif
 				break;
 			case 16: /* -M seen */
-				argv[i] = NOCATGETS("-M");
+				argv[i] = (char *)NOCATGETS("-M");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 284, "Ignoring ParallelMake -M option"));
 #endif
 				break;
 			case 32: /* -m seen */
-				argv[i] = NOCATGETS("-m");
+				argv[i] = (char *)NOCATGETS("-m");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 285, "Ignoring DistributedMake -m option"));
 #endif
 				break;
 #ifndef PARALLEL
 			case 128: /* -O seen */
-				argv[i] = NOCATGETS("-O");
+				argv[i] = (char *)NOCATGETS("-O");
 				break;
 #endif
 			case 256: /* -K seen */
-				argv[i] = NOCATGETS("-K");
+				argv[i] = (char *)NOCATGETS("-K");
 			        break;
 			case 512:	/* -o seen */
-				argv[i] = NOCATGETS("-o");
+				argv[i] = (char *)NOCATGETS("-o");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 311, "Ignoring DistributedMake -o option"));
 #endif
 				break;
 			case 1024: /* -x seen */
-				argv[i] = NOCATGETS("-x");
+				argv[i] = (char *)NOCATGETS("-x");
 #ifndef TEAMWARE_MAKE_CMN
 				warning(catgets(catd, 1, 353, "Ignoring DistributedMake -x option"));
 #endif
@@ -1650,7 +1650,7 @@
 	}
 	/* Allocate memory for the new MAKEFLAGS argv */
 	mf_argv = (char **) malloc((mf_argc + 1) * sizeof(char *));
-	mf_argv[0] = NOCATGETS("MAKEFLAGS");
+	mf_argv[0] = (char *)NOCATGETS("MAKEFLAGS");
 	/*
 	 * Convert the MAKEFLAGS string value into a vector of char *,
 	 * similar to argv.
@@ -3020,7 +3020,7 @@
 static void
 append_makeflags_string(Name name, register String makeflags_string)
 {
-	char		*option;
+	const char	*option;
 
 	if (strcmp(name->string_mb, NOCATGETS("DMAKE_GROUP")) == 0) {
 		option = NOCATGETS(" -g ");
--- old/usr/src/cmd/make/bin/misc.cc	2015-05-20 11:22:25.132732671 -0400
+++ new/usr/src/cmd/make/bin/misc.cc	2015-05-20 11:22:25.144799930 -0400
@@ -862,8 +862,8 @@
  *	-1 for error (with errno set properly)
  */
 static int
-resolve (char	*indir,	/* search directory */
-	 char	*cmd,	/* search for name */
+resolve (const char *indir,	/* search directory */
+	 const char *cmd,	/* search for name */
 	 char	*dir,	/* directory buffer */
 	 char	**run)	/* resultion name ptr ptr */
 {
--- old/usr/src/cmd/make/bin/read.cc	2015-05-20 11:22:25.589897010 -0400
+++ new/usr/src/cmd/make/bin/read.cc	2015-05-20 11:22:25.602193054 -0400
@@ -201,7 +201,7 @@
 			if (doname(makefile_name, true, false) == build_dont_know) {
 				/* Try normalized filename */
 				string_start=get_wstring(makefile_name->string_mb);
-				for (string_end=string_start+1; *string_end != NULL; string_end++);
+				for (string_end=string_start+1; *string_end != L'\0'; string_end++);
 				normalized_makefile_name=normalize_name(string_start, string_end - string_start);
 				if ((strcmp(makefile_name->string_mb, normalized_makefile_name->string_mb) == 0) || 
 					(doname(normalized_makefile_name, true, false) == build_dont_know)) {
--- old/usr/src/cmd/make/include/mk/defs.h	2015-05-20 11:22:26.160153766 -0400
+++ new/usr/src/cmd/make/include/mk/defs.h	2015-05-20 11:22:26.172025166 -0400
@@ -308,8 +308,8 @@
 extern	Name		suffixes_name;
 extern	Name		sunpro_dependencies;
 extern	Boolean		target_variants;
-extern	char		*tmpdir;
-extern	char		*temp_file_directory;
+extern	const char	*tmpdir;
+extern	const char	*temp_file_directory;
 extern	Name		temp_file_name;
 extern	short		temp_file_number;
 extern  wchar_t		*top_level_target;
--- old/usr/src/cmd/make/include/mksh/misc.h	2015-05-20 11:22:26.590194191 -0400
+++ new/usr/src/cmd/make/include/mksh/misc.h	2015-05-20 11:22:26.601873013 -0400
@@ -32,8 +32,8 @@
 extern void	append_string(register wchar_t *from, register String to, register int length);
 extern void	enable_interrupt(register void (*handler) (int));
 extern char	*errmsg(int errnum);
-extern void	fatal_mksh(char * message, ...);
-extern void	fatal_reader_mksh(char * pattern, ...);
+extern void	fatal_mksh(const char *message, ...);
+extern void	fatal_reader_mksh(const char *pattern, ...);
 extern char	*get_current_path_mksh(void);
 extern Property	get_prop(register Property start, register Property_id type);
 extern char	*getmem(register int size);
--- old/usr/src/cmd/make/include/vroot/report.h	2015-05-20 11:22:27.125709931 -0400
+++ new/usr/src/cmd/make/include/vroot/report.h	2015-05-20 11:22:27.137390194 -0400
@@ -30,7 +30,7 @@
 
 extern FILE	*get_report_file(void);
 extern char	*get_target_being_reported_for(void);
-extern void	report_dependency(register char *name);
+extern void	report_dependency(const char *name);
 extern int	file_lock(char *name, char *lockname, int *file_locked, int timeout);
 #ifdef NSE
 extern char	*setenv(char *name, char *value);
--- old/usr/src/cmd/make/include/vroot/vroot.h	2015-05-20 11:22:27.877195339 -0400
+++ new/usr/src/cmd/make/include/vroot/vroot.h	2015-05-20 11:22:27.901762355 -0400
@@ -38,12 +38,12 @@
 } pathcellt, *pathcellpt, patht;
 typedef patht		*pathpt;
 
-extern	void		add_dir_to_path(register char *path, register pathpt *pointer, register int position);
+extern	void		add_dir_to_path(const char *path, register pathpt *pointer, register int position);
 extern	void		flush_path_cache(void);
 extern	void		flush_vroot_cache(void);
-extern	char		*get_path_name(void);
+extern	const char	*get_path_name(void);
 extern	char		*get_vroot_path(register char **vroot, register char **path, register char **filename);
-extern	char		*get_vroot_name(void);
+extern	const char	*get_vroot_name(void);
 extern	int		open_vroot(char *path, int flags, int mode, pathpt vroot_path, pathpt vroot_vroot);
 extern	pathpt		parse_path_string(register char *string, register int remove_slash);
 extern	void		scan_path_first(void);
--- old/usr/src/cmd/make/lib/mksh/dosys.cc	2015-05-20 11:22:28.624928450 -0400
+++ new/usr/src/cmd/make/lib/mksh/dosys.cc	2015-05-20 11:22:28.636547005 -0400
@@ -339,7 +339,7 @@
 	 * Nice priorities can be a positive or a negative number.
 	 */
 	if (nice_prio != 0) {
-		argv[argv_index++] = NOCATGETS("nice");
+		argv[argv_index++] = (char *)NOCATGETS("nice");
 		(void) sprintf(nice_prio_buf, NOCATGETS("-%d"), nice_prio);
 		argv[argv_index++] = strdup(nice_prio_buf);
 	}
--- old/usr/src/cmd/make/lib/mksh/macro.cc	2015-05-20 11:22:29.079076908 -0400
+++ new/usr/src/cmd/make/lib/mksh/macro.cc	2015-05-20 11:22:29.093509129 -0400
@@ -40,6 +40,8 @@
 #include <mksh/read.h>		/* get_next_block_fn() */
 #include <mksdmsi18n/mksdmsi18n.h>	/* libmksdmsi18n_init() */
 
+#include <widec.h>
+
 /*
  * File table of contents
  */
@@ -864,7 +866,7 @@
 	char		*name_on_list = (char*)NULL;
 	char		*name_to_add = macro_to_add->string_mb;
 	char		*value_on_list = (char*)NULL;
-	char		*value_to_add = (char*)NULL;
+	const char	*value_to_add = (char*)NULL;
 
 	if (macro_to_add->prop->body.macro.value != NULL) {
 		value_to_add = macro_to_add->prop->body.macro.value->string_mb;
--- old/usr/src/cmd/make/lib/mksh/misc.cc	2015-05-20 11:22:29.595257509 -0400
+++ new/usr/src/cmd/make/lib/mksh/misc.cc	2015-05-20 11:22:29.607192388 -0400
@@ -69,10 +69,12 @@
  * Static variables
  */
 #ifdef SUN5_0
-extern "C" void		(*sigivalue)(int) = SIG_DFL;
-extern "C" void		(*sigqvalue)(int) = SIG_DFL;
-extern "C" void		(*sigtvalue)(int) = SIG_DFL;
-extern "C" void		(*sighvalue)(int) = SIG_DFL;
+extern "C" {
+	void		(*sigivalue)(int) = SIG_DFL;
+	void		(*sigqvalue)(int) = SIG_DFL;
+	void		(*sigtvalue)(int) = SIG_DFL;
+	void		(*sighvalue)(int) = SIG_DFL;
+}
 #else
 static	void		(*sigivalue)(int) = (void (*) (int)) SIG_DFL;
 static	void		(*sigqvalue)(int) = (void (*) (int)) SIG_DFL;
@@ -325,7 +327,7 @@
 void
 setup_char_semantics(void)
 {
-	char		*s;
+	const char	*s;
 	wchar_t		wc_buffer[1];
 	int		entry;
 
@@ -413,7 +415,7 @@
  */
 /*VARARGS*/
 void
-fatal_mksh(char * message, ...)
+fatal_mksh(const char *message, ...)
 {
 	va_list args;
 	char    *buf = static_buf;
@@ -468,7 +470,7 @@
  */
 /*VARARGS*/
 void
-fatal_reader_mksh(char * pattern, ...)
+fatal_reader_mksh(const char * pattern, ...)
 {
 	va_list args;
 	char	message[1000];
--- old/usr/src/cmd/make/lib/vroot/lock.cc	2015-05-20 11:22:30.071625009 -0400
+++ new/usr/src/cmd/make/lib/vroot/lock.cc	2015-05-20 11:22:30.083451646 -0400
@@ -111,7 +111,7 @@
 		UNBLOCK_INTERUPTS;
 
 		if (errno != EEXIST) {
-			file_lock_error(msg, name, NOCATGETS("symlink(%s, %s)"),
+			file_lock_error(msg, name, (char *)NOCATGETS("symlink(%s, %s)"),
 			    (int) name, (int) lockname);
 			fprintf(stderr, "%s", msg);
 			return errno;
--- old/usr/src/cmd/make/lib/vroot/report.cc	2015-05-20 11:22:30.490172649 -0400
+++ new/usr/src/cmd/make/lib/vroot/report.cc	2015-05-20 11:22:30.502144864 -0400
@@ -306,7 +306,7 @@
 }
 
 void
-report_dependency(register char *name)
+report_dependency(const char *name)
 {
 	register char	*filename;
 	char		buffer[MAXPATHLEN+1];
--- old/usr/src/cmd/make/lib/vroot/vroot.cc	2015-05-20 11:22:30.929256246 -0400
+++ new/usr/src/cmd/make/lib/vroot/vroot.cc	2015-05-20 11:22:30.940837385 -0400
@@ -39,7 +39,7 @@
 typedef struct {
 	short		init;
 	pathpt		vector;
-	char		*env_var;
+	const char	*env_var;
 } vroot_patht;
 
 typedef struct {
@@ -59,7 +59,7 @@
 	"", NULL, NULL, NULL, 0, 1};
 
 void
-add_dir_to_path(register char *path, register pathpt *pointer, register int position)
+add_dir_to_path(const char *path, register pathpt *pointer, register int position)
 {
 	register int		size= 0;
 	register int		length;
@@ -107,13 +107,13 @@
 	return((pathpt)NULL);
 }
 
-char *
+const char *
 get_vroot_name(void)
 {
 	return(vroot_data.vroot.env_var);
 }
 
-char *
+const char *
 get_path_name(void)
 {
 	return(vroot_data.path.env_var);
