diff --git a/reactos/Makefile b/reactos/Makefile
index d85357f9569..b4c5859ed9d 100644
--- a/reactos/Makefile
+++ b/reactos/Makefile
@@ -391,11 +391,11 @@ endif
NTOSKRNL_MC = ntoskrnl$(SEP)ntoskrnl.mc
KERNEL32_MC = dll$(SEP)win32$(SEP)kernel32$(SEP)kernel32.mc
-BUILDNO_H = include$(SEP)reactos$(SEP)buildno.h
-BUGCODES_H = include$(SEP)reactos$(SEP)bugcodes.h
-BUGCODES_RC = ntoskrnl$(SEP)bugcodes.rc
-ERRCODES_H = include$(SEP)reactos$(SEP)errcodes.h
-ERRCODES_RC = dll$(SEP)win32$(SEP)kernel32$(SEP)errcodes.rc
+BUILDNO_H = $(INTERMEDIATE_)include$(SEP)reactos$(SEP)buildno.h
+BUGCODES_H = $(INTERMEDIATE_)include$(SEP)reactos$(SEP)bugcodes.h
+BUGCODES_RC = $(INTERMEDIATE_)ntoskrnl$(SEP)bugcodes.rc
+ERRCODES_H = $(INTERMEDIATE_)include$(SEP)reactos$(SEP)errcodes.h
+ERRCODES_RC = $(INTERMEDIATE_)dll$(SEP)win32$(SEP)kernel32$(SEP)errcodes.rc
include lib/lib.mak
@@ -414,15 +414,10 @@ PREAUTO := \
$(GENDIB_DIB_FILES) \
$(NCI_SERVICE_FILES)
-POSTAUTO : \
- psdk \
- $(IDL_FILES)
-
$(ROS_AUTOMAKE): $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
${mkdir} $(INTERMEDIATE_)media$(SEP)inf 2>$(NUL)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) -rReactOS-$(ARCH).rbuild mingw
- @$(MAKE) POSTAUTO
world: all bootcd livecd
@@ -494,10 +489,14 @@ msvc: $(RBUILD_TARGET)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) msvc
$(BUGCODES_H) $(BUGCODES_RC): $(WMC_TARGET) $(NTOSKRNL_MC)
+ ${mkdir} $(INTERMEDIATE_)include$(SEP)reactos 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)ntoskrnl 2>$(NUL)
$(ECHO_WMC)
$(Q)$(WMC_TARGET) -i -H $(BUGCODES_H) -o $(BUGCODES_RC) $(NTOSKRNL_MC)
$(ERRCODES_H) $(ERRCODES_RC): $(WMC_TARGET) $(KERNEL32_MC)
+ ${mkdir} $(INTERMEDIATE_)include$(SEP)reactos 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)dll$(SEP)win32$(SEP)kernel32 2>$(NUL)
$(ECHO_WMC)
$(Q)$(WMC_TARGET) -i -U -H $(ERRCODES_H) -o $(ERRCODES_RC) $(KERNEL32_MC)
diff --git a/reactos/ReactOS-i386.rbuild b/reactos/ReactOS-i386.rbuild
index 4deb521f10b..c5ca32207ca 100644
--- a/reactos/ReactOS-i386.rbuild
+++ b/reactos/ReactOS-i386.rbuild
@@ -65,6 +65,7 @@
include/GL
include/ndk
include/reactos
+ include/reactos
include/reactos/libs
diff --git a/reactos/dll/ntdll/ntdll.rbuild b/reactos/dll/ntdll/ntdll.rbuild
index e5d0a75c8cb..cac50c9372a 100644
--- a/reactos/dll/ntdll/ntdll.rbuild
+++ b/reactos/dll/ntdll/ntdll.rbuild
@@ -47,19 +47,8 @@
ntdll.h
-
-
- napi.S
-
-
-
-
- napi.S
-
-
-
-
- napi.S
-
-
+
+
+ napi.S
+
diff --git a/reactos/dll/win32/kernel32/kernel32.rbuild b/reactos/dll/win32/kernel32/kernel32.rbuild
index 9b49a3100cf..768f51a1732 100644
--- a/reactos/dll/win32/kernel32/kernel32.rbuild
+++ b/reactos/dll/win32/kernel32/kernel32.rbuild
@@ -117,6 +117,7 @@
.
+ .
include
diff --git a/reactos/lib/win32ksys/win32ksys.rbuild b/reactos/lib/win32ksys/win32ksys.rbuild
index 6d514898380..b24750d3a33 100644
--- a/reactos/lib/win32ksys/win32ksys.rbuild
+++ b/reactos/lib/win32ksys/win32ksys.rbuild
@@ -3,20 +3,7 @@
-
-
- win32k.S
-
-
-
-
- win32k.S
-
-
-
-
- win32k.S
-
-
-
+
+ win32k.S
+
diff --git a/reactos/ntoskrnl/ntoskrnl.rbuild b/reactos/ntoskrnl/ntoskrnl.rbuild
index 90acbe823a8..6b41ca5b57a 100644
--- a/reactos/ntoskrnl/ntoskrnl.rbuild
+++ b/reactos/ntoskrnl/ntoskrnl.rbuild
@@ -14,6 +14,7 @@
.
include
+
include/reactos/drivers
csq
hal
@@ -121,23 +122,15 @@
dbgkutil.c
dbgkobj.c
+
+ zw.S
+
interlck_asm.S
fastinterlck_asm.S
ioport.S
- zw.S
-
-
-
-
- zw.S
-
-
-
-
- zw.S
atom.c
diff --git a/reactos/subsystems/win32/win32k/win32k.rbuild b/reactos/subsystems/win32/win32k/win32k.rbuild
index 67f9d4e37ca..4b3f7db1c8f 100644
--- a/reactos/subsystems/win32/win32k/win32k.rbuild
+++ b/reactos/subsystems/win32/win32k/win32k.rbuild
@@ -12,16 +12,19 @@
w32k.h
+
+ dib8gen.c
+ dib16gen.c
+ dib32gen.c
+
+
dib1bpp.c
dib4bpp.c
dib8bpp.c
- dib8gen.c
dib16bpp.c
- dib16gen.c
dib24bpp.c
dib32bpp.c
- dib32gen.c
dib.c
diff --git a/reactos/tools/buildno/buildno.mak b/reactos/tools/buildno/buildno.mak
index f37d6c2ac36..e6394c881b0 100644
--- a/reactos/tools/buildno/buildno.mak
+++ b/reactos/tools/buildno/buildno.mak
@@ -46,5 +46,6 @@ buildno_clean:
clean: buildno_clean
$(BUILDNO_H): $(BUILDNO_TARGET)
+ ${mkdir} $(INTERMEDIATE_)include$(SEP)reactos 2>$(NUL)
$(ECHO_BUILDNO)
$(Q)$(BUILDNO_TARGET) $(BUILDNO_QUIET) $(BUILDNO_H)
diff --git a/reactos/tools/gendib/gendib.mak b/reactos/tools/gendib/gendib.mak
index 697d8ba2821..3a91e15635f 100644
--- a/reactos/tools/gendib/gendib.mak
+++ b/reactos/tools/gendib/gendib.mak
@@ -41,7 +41,7 @@ gendib_clean:
-@$(rm) $(GENDIB_TARGET) $(GENDIB_OBJECTS) 2>$(NUL)
clean: gendib_clean
-GENDIB_DIB_DIR = subsystems$(SEP)win32$(SEP)win32k$(SEP)dib
+GENDIB_DIB_DIR = $(INTERMEDIATE_)subsystems$(SEP)win32$(SEP)win32k$(SEP)dib
GENDIB_DIB_FILES = \
$(GENDIB_DIB_DIR)$(SEP)dib32gen.c \
@@ -49,5 +49,6 @@ GENDIB_DIB_FILES = \
$(GENDIB_DIB_DIR)$(SEP)dib8gen.c
$(GENDIB_DIB_FILES): $(GENDIB_TARGET)
+ ${mkdir} $(GENDIB_DIB_DIR) 2>$(NUL)
$(ECHO_GENDIB)
$(Q)$(GENDIB_TARGET) $(GENDIB_DIB_DIR)
diff --git a/reactos/tools/nci/nci.mak b/reactos/tools/nci/nci.mak
index cf3f4730bd3..9ad9cf4d591 100644
--- a/reactos/tools/nci/nci.mak
+++ b/reactos/tools/nci/nci.mak
@@ -43,16 +43,16 @@ clean: nci_clean
# WIN32K.SYS
WIN32K_SVC_DB = subsystems$(SEP)win32$(SEP)win32k$(SEP)w32ksvc.db
-WIN32K_SERVICE_TABLE = subsystems$(SEP)win32$(SEP)win32k$(SEP)include$(SEP)napi.h
-WIN32K_STUBS = lib$(SEP)win32ksys$(SEP)$(ARCH)$(SEP)win32k.S
+WIN32K_SERVICE_TABLE = $(INTERMEDIATE_)subsystems$(SEP)win32$(SEP)win32k$(SEP)include$(SEP)napi.h
+WIN32K_STUBS = $(INTERMEDIATE_)lib$(SEP)win32ksys$(SEP)win32k.S
# NTOSKRNL.EXE
KERNEL_SVC_DB = ntoskrnl$(SEP)sysfuncs.lst
-KERNEL_SERVICE_TABLE = ntoskrnl$(SEP)include$(SEP)internal$(SEP)napi.h
-NTDLL_STUBS = dll$(SEP)ntdll$(SEP)$(ARCH)$(SEP)napi.S
-KERNEL_STUBS = ntoskrnl$(SEP)ex$(SEP)$(ARCH)$(SEP)zw.S
+KERNEL_SERVICE_TABLE = $(INTERMEDIATE_)ntoskrnl$(SEP)include$(SEP)internal$(SEP)napi.h
+NTDLL_STUBS = $(INTERMEDIATE_)dll$(SEP)ntdll$(SEP)napi.S
+KERNEL_STUBS = $(INTERMEDIATE_)ntoskrnl$(SEP)ex$(SEP)zw.S
NCI_SERVICE_FILES = \
$(KERNEL_SERVICE_TABLE) \
@@ -64,11 +64,11 @@ NCI_SERVICE_FILES = \
$(NCI_SERVICE_FILES): $(NCI_TARGET) $(KERNEL_SVC_DB) $(WIN32K_SVC_DB)
$(ECHO_NCI)
- ${mkdir} dll$(SEP)ntdll$(SEP)$(ARCH) 2>$(NUL)
- ${mkdir} ntoskrnl$(SEP)ex$(SEP)$(ARCH) 2>$(NUL)
- ${mkdir} dll$(SEP)win32$(SEP)gdi32$(SEP)misc$(SEP)$(ARCH) 2>$(NUL)
- ${mkdir} dll$(SEP)win32$(SEP)user32$(SEP)misc$(SEP)$(ARCH) 2>$(NUL)
- ${mkdir} lib$(SEP)win32ksys$(SEP)$(ARCH) 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)ntoskrnl$(SEP)include$(SEP)internal 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)dll$(SEP)ntdll 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)ntoskrnl$(SEP)ex$(SEP) 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)subsystems$(SEP)win32$(SEP)win32k$(SEP)include 2>$(NUL)
+ ${mkdir} $(INTERMEDIATE_)lib$(SEP)win32ksys 2>$(NUL)
$(Q)$(NCI_TARGET) -arch $(ARCH) \
$(KERNEL_SVC_DB) \
diff --git a/reactos/tools/rbuild/project.cpp b/reactos/tools/rbuild/project.cpp
index 4a20129ecba..d68d4ac5eb6 100644
--- a/reactos/tools/rbuild/project.cpp
+++ b/reactos/tools/rbuild/project.cpp
@@ -240,7 +240,7 @@ Project::WriteConfigurationFile ()
s = s + sprintf ( s, "#endif /* __INCLUDE_CONFIG_H */\n" );
- FileSupportCode::WriteIfChanged ( buf, "include" + sSep + "roscfg.h" );
+ FileSupportCode::WriteIfChanged ( buf, Environment::GetIntermediatePath() + sSep + "include" + sSep + "roscfg.h" );
free ( buf );
}