Index: /trunk/ChangeLog
===================================================================
--- /trunk/ChangeLog	(revision 590)
+++ /trunk/ChangeLog	(revision 591)
@@ -1,3 +1,7 @@
 /* $Id$ */
+
+2006-11-24:
+    - kmk:
+        o Added --pretty-command-printing for simplifying makefile debugging.
 
 2006-11-23:
Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 590)
+++ /trunk/Config.kmk	(revision 591)
@@ -84,28 +84,20 @@
 
 ifeq ($(filter-out x86.win32 x86.win x86.nt,$(BUILD_TARGET_ARCH).$(BUILD_TARGET)),)
-ifndef PATH_DEV
-$(error To build on windows you'll have to set PATH_DEV to point to somewhere kbuild can find VCC70.)
-endif
+include $(PATH_KBUILD)/tools/VCC70.kmk	# fixme! template expanding does something bad to _LIBS /me thinks.
 TEMPLATE_BIN_TOOL               = VCC70
 TEMPLATE_BIN_DEFS               = WINDOWS32 _CONSOLE WIN32 __WIN32__
 TEMPLATE_BIN_DEFS.release       = NDEBUG
+TEMPLATE_BIN_SDKS               = WIN32SDK2002 # fixme!
 TEMPLATE_BIN_CFLAGS             = -MT -W3 -Zi -Zl
 TEMPLATE_BIN_CFLAGS.release     = -O2
 TEMPLATE_BIN_CFLAGS.profile     = -O2 -GH -Gh
-#todo use path macros from the tool
 TEMPLATE_BIN_INCS              += \
 	. \
 	$(PATH_ROOT)/src/gmake/w32/include \
-	$(PATH_ROOT)/src/gmake/glob \
-	$(PATH_DEV)/x86.win32/vcc70/include \
-	$(PATH_DEV)/x86.win32/sdk200209/include
-TEMPLATE_BIN_LDFLAGS            = /SUBSYSTEM:console /INCREMENTAL:no /NOD
-TEMPLATE_BIN_LDFLAGS.profile    = /DEBUG
+	$(PATH_ROOT)/src/gmake/glob
+TEMPLATE_BIN_LDFLAGS            = /SUBSYSTEM:console /INCREMENTAL:no /NOD /DEBUG
 TEMPLATE_BIN_LIBS               = \
-	$(PATH_DEV)/x86.win32/vcc70/lib/libcmt.lib \
-	$(PATH_DEV)/x86.win32/vcc70/lib/oldnames.lib \
-	$(PATH_DEV)/x86.win32/sdk200209/lib/Kernel32.Lib \
-	$(PATH_DEV)/x86.win32/sdk200209/lib/User32.Lib \
-	$(PATH_DEV)/x86.win32/sdk200209/lib/AdvAPI32.Lib
+	$(PATH_TOOL_VCC70_LIB)/libcmt.lib \
+	$(PATH_TOOL_VCC70_LIB)/oldnames.lib
 TEMPLATE_BIN_LIBS.profile       = g:/coding/vbox/trunk/out/win32/debug/lib/kPrf2.lib
  ifdef NIX_INSTALL_DIR
Index: /trunk/src/gmake/Makefile.kmk
===================================================================
--- /trunk/src/gmake/Makefile.kmk	(revision 590)
+++ /trunk/src/gmake/Makefile.kmk	(revision 591)
@@ -28,6 +28,7 @@
 	CONFIG_NO_DEFAULT_VARIABLES \
 	CONFIG_WITH_EXTENDED_NOTPARALLEL \
-    CONFIG_WITH_INCLUDEDEP \
+	CONFIG_WITH_INCLUDEDEP \
 	CONFIG_WITH_TOUPPER_TOLOWER \
+	CONFIG_PRETTY_COMMAND_PRINTING \
 	KMK \
 	\
Index: /trunk/src/gmake/job.c
===================================================================
--- /trunk/src/gmake/job.c	(revision 590)
+++ /trunk/src/gmake/job.c	(revision 591)
@@ -1134,7 +1134,17 @@
      can log the working directory before the command's own error messages
      appear.  */
-
-  message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
-	   ? "%s" : (char *) 0, p);
+#ifdef CONFIG_PRETTY_COMMAND_PRINTING
+  if (   pretty_command_printing
+      && (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
+      && argv[0][0] != '\0')
+    {
+      unsigned i;
+      for (i = 0; argv[i]; i++)
+        message (0, "%s'%s'%s", i ? "\t" : "> ", argv[i], argv[i + 1] ? " \\" : "");
+    }
+  else
+#endif /* CONFIG_PRETTY_COMMAND_PRINTING */
+    message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
+             ? "%s" : (char *) 0, p);
 
   /* Tell update_goal_chain that a command has been started on behalf of
Index: /trunk/src/gmake/main.c
===================================================================
--- /trunk/src/gmake/main.c	(revision 590)
+++ /trunk/src/gmake/main.c	(revision 591)
@@ -151,4 +151,10 @@
 
 int just_print_flag;
+
+#ifdef CONFIG_PRETTY_COMMAND_PRINTING
+/* Nonzero means to print commands argument for argument skipping blanks. */
+
+int pretty_command_printing;
+#endif
 
 /* Print debugging info (--debug).  */
@@ -413,4 +419,8 @@
     { 'p', flag, (char *) &print_data_base_flag, 1, 1, 0, 0, 0,
       "print-data-base" },
+#ifdef CONFIG_PRETTY_COMMAND_PRINTING
+    { CHAR_MAX+6, flag, (char *) &pretty_command_printing, 1, 1, 1, 0, 0, 
+       "pretty-command-printing" },
+#endif 
 #ifdef KMK
     { CHAR_MAX+5, positive_int, (char *) &process_priority, 1, 1, 0,
Index: /trunk/src/gmake/make.h
===================================================================
--- /trunk/src/gmake/make.h	(revision 590)
+++ /trunk/src/gmake/make.h	(revision 591)
@@ -513,4 +513,7 @@
 extern int warn_undefined_variables_flag, posix_pedantic, not_parallel;
 extern int second_expansion, clock_skew_detected, rebuilding_makefiles;
+#ifdef CONFIG_PRETTY_COMMAND_PRINTING
+extern int pretty_command_printing;
+#endif
 
 /* can we run commands via 'sh -c xxx' or must we use batch files? */
