diff --git a/configs/c5471evm/Make.defs b/configs/c5471evm/Make.defs
index bd44f0f7f9fe1386dfaaad1cd4b184bc625dfb5d..f9060371329b58cb9cae2b3fae11790f7115b122 100644
--- a/configs/c5471evm/Make.defs
+++ b/configs/c5471evm/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ez80f910200kitg/ostest/Make.defs b/configs/ez80f910200kitg/ostest/Make.defs
index 2f6541511bfdafbdfa4afc9ad01f687f166576c6..78924b8108c40ec02ccf8af3ec63a5575ae446f9 100644
--- a/configs/ez80f910200kitg/ostest/Make.defs
+++ b/configs/ez80f910200kitg/ostest/Make.defs
@@ -135,6 +135,11 @@ HEXEXT			= .hex
 # to compile and assembly source files and to insert the resulting
 # object files into an archive
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@#echo "CC: $1"
 	@$(CC) $(CFLAGS) $1
diff --git a/configs/m68332evb/Make.defs b/configs/m68332evb/Make.defs
index f12369c970a126e37fc05ae58e3b30a50d699a43..887260cca0caba7aae0896f490a54c04572b13a1 100644
--- a/configs/m68332evb/Make.defs
+++ b/configs/m68332evb/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ld.script
 
 CROSSDEV		= m68k-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS	= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/mcu123-lpc214x/nsh/Make.defs b/configs/mcu123-lpc214x/nsh/Make.defs
index 0df9cd699e7648a259ae5e1a970e1deb8f7a5acb..bd68f351f2795afc793acc51cd1d2f56f7e15ce4 100644
--- a/configs/mcu123-lpc214x/nsh/Make.defs
+++ b/configs/mcu123-lpc214x/nsh/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/mcu123-lpc214x/ostest/Make.defs b/configs/mcu123-lpc214x/ostest/Make.defs
index 6f40bbb321eb7e2d0d7f942d24641454c6279a8f..568d92a0d39093d2c46d6e2293f0a32914266010 100644
--- a/configs/mcu123-lpc214x/ostest/Make.defs
+++ b/configs/mcu123-lpc214x/ostest/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/mcu123-lpc214x/usbserial/Make.defs b/configs/mcu123-lpc214x/usbserial/Make.defs
index 66d4d8045594859a8d351a995829d77eaa2cdd56..bc50d039815d3a4f57f1c22ffa990b3481d9b796 100644
--- a/configs/mcu123-lpc214x/usbserial/Make.defs
+++ b/configs/mcu123-lpc214x/usbserial/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbserial/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/mcu123-lpc214x/usbstorage/Make.defs b/configs/mcu123-lpc214x/usbstorage/Make.defs
index 97a57de1f4dba79ae2bc3d075c0bb8a9f4974d8f..b3e608710a7dada97a8a9fc5e266f7931611611c 100644
--- a/configs/mcu123-lpc214x/usbstorage/Make.defs
+++ b/configs/mcu123-lpc214x/usbstorage/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbstorage/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ntosd-dm320/nettest/Make.defs b/configs/ntosd-dm320/nettest/Make.defs
index 8ef53b5d16e817ce3019323c957776167d0a3e6c..e356d8775c26f3a63ffc27145c49067325eb7544 100644
--- a/configs/ntosd-dm320/nettest/Make.defs
+++ b/configs/ntosd-dm320/nettest/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nettest/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ntosd-dm320/nsh/Make.defs b/configs/ntosd-dm320/nsh/Make.defs
index 21c20f48128754196d00f05d83308c76e40246a2..4f6e1c53e250d484ae7400802a6e0b298e817175 100644
--- a/configs/ntosd-dm320/nsh/Make.defs
+++ b/configs/ntosd-dm320/nsh/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ntosd-dm320/ostest/Make.defs b/configs/ntosd-dm320/ostest/Make.defs
index f6624c0a8e401a2fa9eab180437885a0e584e90c..80c939af9badfa9a3225f3dc451a35ea1c9dfd9c 100644
--- a/configs/ntosd-dm320/ostest/Make.defs
+++ b/configs/ntosd-dm320/ostest/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ntosd-dm320/poll/Make.defs b/configs/ntosd-dm320/poll/Make.defs
index eabbf4cbfad930a55bb25dab76e7471fbd04a360..9715d108423bad010b3d0c2337f107efb63db856 100644
--- a/configs/ntosd-dm320/poll/Make.defs
+++ b/configs/ntosd-dm320/poll/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/poll/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ntosd-dm320/udp/Make.defs b/configs/ntosd-dm320/udp/Make.defs
index 3edd82e7207eacd0c156b159f35b9a92e7b94884..f410ec8f36179e43a3ad93ab0046616b2c16cd19 100644
--- a/configs/ntosd-dm320/udp/Make.defs
+++ b/configs/ntosd-dm320/udp/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/udp/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/ntosd-dm320/uip/Make.defs b/configs/ntosd-dm320/uip/Make.defs
index 03e32b0e472aad606a837dc307cb32a67213c759..91ad89bb3e83d55f99f42f48d825271a88aab517 100644
--- a/configs/ntosd-dm320/uip/Make.defs
+++ b/configs/ntosd-dm320/uip/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/uip/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/olimex-strp711/ostest/Make.defs b/configs/olimex-strp711/ostest/Make.defs
index 52b7eb526985a3769a75a5a00e07a07939133a95..7f31319be14590f46e2b87ce4ca74b5bca60d060 100644
--- a/configs/olimex-strp711/ostest/Make.defs
+++ b/configs/olimex-strp711/ostest/Make.defs
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
 
 CROSSDEV		= arm-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/pjrc-8051/Make.defs b/configs/pjrc-8051/Make.defs
index 5c77c6f22a7f487a19412be8a9a9c9b302baf30a..6ccf353ee32611edc1b5a98f63f743badb14a34d 100644
--- a/configs/pjrc-8051/Make.defs
+++ b/configs/pjrc-8051/Make.defs
@@ -56,12 +56,18 @@ AR			= sdcclib -a
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES)
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 
 ASMEXT			= .asm
 OBJEXT			= .rel
 LIBEXT			= .lib
 EXEEXT			= .hex
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/sim/mount/Make.defs b/configs/sim/mount/Make.defs
index b177d9cdff69ef8c8d7bfbf383f2b43bc4940389..df5512765e6a97ff0cc28aa43ae9a7681a591246 100644
--- a/configs/sim/mount/Make.defs
+++ b/configs/sim/mount/Make.defs
@@ -52,6 +52,7 @@ ARCHSCRIPT		=
 
 CROSSDEV		=
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -60,6 +61,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -75,6 +77,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/sim/nettest/Make.defs b/configs/sim/nettest/Make.defs
index b4b553946b8586fef20870fe48f4c271c9d33768..ea8207d932d865a8bbb5aa441e00c5109690dc4f 100644
--- a/configs/sim/nettest/Make.defs
+++ b/configs/sim/nettest/Make.defs
@@ -52,6 +52,7 @@ ARCHSCRIPT		=
 
 CROSSDEV		=
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -60,6 +61,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -75,6 +77,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/sim/nsh/Make.defs b/configs/sim/nsh/Make.defs
index 51a7c064a203656568dbf61afe506b3dd8144601..32dce8c5f8a416a43d87b714f0d5faedb1931f2f 100644
--- a/configs/sim/nsh/Make.defs
+++ b/configs/sim/nsh/Make.defs
@@ -52,6 +52,7 @@ ARCHSCRIPT		=
 
 CROSSDEV		=
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -60,6 +61,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -75,6 +77,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/sim/ostest/Make.defs b/configs/sim/ostest/Make.defs
index b4b553946b8586fef20870fe48f4c271c9d33768..ea8207d932d865a8bbb5aa441e00c5109690dc4f 100644
--- a/configs/sim/ostest/Make.defs
+++ b/configs/sim/ostest/Make.defs
@@ -52,6 +52,7 @@ ARCHSCRIPT		=
 
 CROSSDEV		=
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -60,6 +61,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -75,6 +77,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/sim/pashello/Make.defs b/configs/sim/pashello/Make.defs
index 063585ab9cfef5884c018cbbf6e553010474fd94..66ed73599ae65e1629b58fd9cf15f1f372cc11c2 100644
--- a/configs/sim/pashello/Make.defs
+++ b/configs/sim/pashello/Make.defs
@@ -52,6 +52,7 @@ ARCHSCRIPT		=
 
 CROSSDEV		=
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -60,6 +61,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -76,6 +78,11 @@ ifeq ("${CONFIG_DEBUG}","y")
 endif
 EXTRA_LIBS		= -lm
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/us7032evb1/nsh/Make.defs b/configs/us7032evb1/nsh/Make.defs
index 3f418c1a3fef7b9440b3ad39360d5a03b84b0d15..c1398ba45849367a4cb3388813fb1d73e1550c40 100644
--- a/configs/us7032evb1/nsh/Make.defs
+++ b/configs/us7032evb1/nsh/Make.defs
@@ -1,5 +1,5 @@
 ##############################################################################
-# configs/olimex-strp711/nsh/Make.defs
+# configs/us7032evb1/nsh/Make.defs
 #
 #   Copyright (C) 2008 Gregory Nutt. All rights reserved.
 #   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
 
 CROSSDEV		= sh-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/us7032evb1/ostest/Make.defs b/configs/us7032evb1/ostest/Make.defs
index 585153307756b8d21e5d5f59956d3c19c800225b..e988fbb2076defb4710d005179aed8bb60cc4f0f 100644
--- a/configs/us7032evb1/ostest/Make.defs
+++ b/configs/us7032evb1/ostest/Make.defs
@@ -1,5 +1,5 @@
 ##############################################################################
-# configs/olimex-strp711/ostest/Make.defs
+# configs/us7032evb1/ostest/Make.defs
 #
 #   Copyright (C) 2008 Gregory Nutt. All rights reserved.
 #   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -51,6 +51,7 @@ ARCHSCRIPT		= -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
 
 CROSSDEV		= sh-elf-
 CC			= $(CROSSDEV)gcc
+CPP			= $(CROSSDEV)gcc -E
 LD			= $(CROSSDEV)ld
 AR			= $(CROSSDEV)ar rcs
 NM			= $(CROSSDEV)nm
@@ -59,6 +60,7 @@ OBJDUMP			= $(CROSSDEV)objdump
 
 CFLAGS			= $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
 			  $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPPFLAGS		= $(ARCHINCLUDES) $(ARCHDEFINES)
 AFLAGS			= $(CFLAGS) -D__ASSEMBLY__
 
 OBJEXT			= .o
@@ -69,6 +71,11 @@ ifeq ("${CONFIG_DEBUG}","y")
   LDFLAGS		+= -g
 endif
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/xtrs/nsh/Make.defs b/configs/xtrs/nsh/Make.defs
index f73855d2a314d7a63853f46e88a5bce9d24e2c1b..5b35cd8b439629e5ff7d601e400d2e457d275729 100644
--- a/configs/xtrs/nsh/Make.defs
+++ b/configs/xtrs/nsh/Make.defs
@@ -67,6 +67,11 @@ OBJEXT			= .o
 LIBEXT			= .lib
 EXEEXT			= .cmd
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/xtrs/ostest/Make.defs b/configs/xtrs/ostest/Make.defs
index 561fce02ee943c656ac5f2ab76c8ce5c975aceef..3b77c29516be41864ae631e56ab9d65708c082a5 100644
--- a/configs/xtrs/ostest/Make.defs
+++ b/configs/xtrs/ostest/Make.defs
@@ -67,6 +67,11 @@ OBJEXT			= .o
 LIBEXT			= .lib
 EXEEXT			= .cmd
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/xtrs/pashello/Make.defs b/configs/xtrs/pashello/Make.defs
index 561fce02ee943c656ac5f2ab76c8ce5c975aceef..3b77c29516be41864ae631e56ab9d65708c082a5 100644
--- a/configs/xtrs/pashello/Make.defs
+++ b/configs/xtrs/pashello/Make.defs
@@ -67,6 +67,11 @@ OBJEXT			= .o
 LIBEXT			= .lib
 EXEEXT			= .cmd
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/z16f2800100zcog/ostest/Make.defs b/configs/z16f2800100zcog/ostest/Make.defs
index 8f506edcfe30c97c241f05da3be40da26366140c..58a4dbc5d58c9de7b4222e71c93d945b32b12070 100644
--- a/configs/z16f2800100zcog/ostest/Make.defs
+++ b/configs/z16f2800100zcog/ostest/Make.defs
@@ -129,6 +129,11 @@ EXEEXT			= .hex
 # to compile and assembly source files and to insert the resulting
 # object files into an archive
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@#echo "CC: $1"
 	@$(CC) $(CFLAGS) $1
diff --git a/configs/z16f2800100zcog/pashello/Make.defs b/configs/z16f2800100zcog/pashello/Make.defs
index d412b6391f7353607008db0ffaeb17743884a060..d77b201b90d8b1af9bd9aaa5460d60e084b7c8e5 100755
--- a/configs/z16f2800100zcog/pashello/Make.defs
+++ b/configs/z16f2800100zcog/pashello/Make.defs
@@ -129,6 +129,11 @@ EXEEXT			= .hex
 # to compile and assembly source files and to insert the resulting
 # object files into an archive
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@#echo "CC: $1"
 	@$(CC) $(CFLAGS) $1
diff --git a/configs/z80sim/nsh/Make.defs b/configs/z80sim/nsh/Make.defs
index 6c95d3296f6b29cb9df7515c04aa0d4e2d310c57..7a68aa29f623030f185e8f96eabbd88ea6ca7d03 100644
--- a/configs/z80sim/nsh/Make.defs
+++ b/configs/z80sim/nsh/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# configs/z80sim/Make.defs
+# configs/z80sim/nsh/Make.defs
 #
 #   Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
 #   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -67,6 +67,11 @@ OBJEXT			= .o
 LIBEXT			= .lib
 EXEEXT			= .hex
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/z80sim/ostest/Make.defs b/configs/z80sim/ostest/Make.defs
index 6c95d3296f6b29cb9df7515c04aa0d4e2d310c57..e7895e0c6f02cab9ea14159dc4c1847b12852839 100644
--- a/configs/z80sim/ostest/Make.defs
+++ b/configs/z80sim/ostest/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# configs/z80sim/Make.defs
+# configs/z80sim/ostest/Make.defs
 #
 #   Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
 #   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -67,6 +67,11 @@ OBJEXT			= .o
 LIBEXT			= .lib
 EXEEXT			= .hex
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/z80sim/pashello/Make.defs b/configs/z80sim/pashello/Make.defs
index 6c95d3296f6b29cb9df7515c04aa0d4e2d310c57..3b38184b51b883d5dc5129756b821a25a3f0d5dc 100644
--- a/configs/z80sim/pashello/Make.defs
+++ b/configs/z80sim/pashello/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# configs/z80sim/Make.defs
+# configs/z80sim/pashello/Make.defs
 #
 #   Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
 #   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -67,6 +67,11 @@ OBJEXT			= .o
 LIBEXT			= .lib
 EXEEXT			= .hex
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@echo "CC: $1"
 	@$(CC) -c $(CFLAGS) $1 -o $2
diff --git a/configs/z8encore000zco/ostest/Make.defs b/configs/z8encore000zco/ostest/Make.defs
index 1efab1b0f7081f872b98a986f5664d5abc54c07b..87fa8df2a1128557b829db9d897293d600774e5f 100644
--- a/configs/z8encore000zco/ostest/Make.defs
+++ b/configs/z8encore000zco/ostest/Make.defs
@@ -155,6 +155,11 @@ EXEEXT			= .hex
 # to compile and assembly source files and to insert the resulting
 # object files into an archive
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@#echo "CC: $1"
 	@$(CC) $(CFLAGS) $1
diff --git a/configs/z8f64200100kit/ostest/Make.defs b/configs/z8f64200100kit/ostest/Make.defs
index 8e2c0fa1ee099d15505145c94dd9ba6eb432ebe5..72e025a40728f9977de76d1184842daa87db92b0 100644
--- a/configs/z8f64200100kit/ostest/Make.defs
+++ b/configs/z8f64200100kit/ostest/Make.defs
@@ -155,6 +155,11 @@ EXEEXT			= .hex
 # to compile and assembly source files and to insert the resulting
 # object files into an archive
 
+define PREPROCESS
+	@echo "CPP: $1->$2"
+	@$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
 define COMPILE
 	@#echo "CC: $1"
 	@$(CC) $(CFLAGS) $1