Move some more autogenerated files to intermediate directory
[reactos.git] / reactos / Makefile
index bd2aa36..b4c5859 100644 (file)
 #
 # Accepted environment variables:
 #
+#    ROS_ARCH
+#        This variable specifies the name of the architecture to build ReactOS for.
+#        The variable defaults to i386.
+#
 #    ROS_PREFIX
 #        This variable specifies the prefix of the MinGW installation. On Windows
 #        a prefix is usually not needed, but on linux it is usually "mingw32". If
@@ -323,13 +327,19 @@ else # mingw32-windows
        endif
 endif
 
+ifneq ($(ROS_ARCH),)
+  ARCH := $(ROS_ARCH)
+else
+  ARCH := i386
+endif
+
 ifneq ($(ROS_INTERMEDIATE),)
   INTERMEDIATE := $(ROS_INTERMEDIATE)
 else
   ifneq ($(ROS_CDOUTPUT),)
     INTERMEDIATE := obj-$(ROS_CDOUTPUT)
   else
-    INTERMEDIATE := obj-i386
+    INTERMEDIATE := obj-$(ARCH)
   endif
 endif
 INTERMEDIATE_ := $(INTERMEDIATE)$(SEP)
@@ -340,7 +350,7 @@ else
   ifneq ($(ROS_CDOUTPUT),)
     OUTPUT := output-$(ROS_CDOUTPUT)
   else
-    OUTPUT := output-i386
+    OUTPUT := output-$(ARCH)
   endif
 endif
 OUTPUT_ := $(OUTPUT)$(SEP)
@@ -381,18 +391,17 @@ 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
 include tools/tools.mak
 include boot/freeldr/bootsect/bootsect.mak
 -include $(ROS_AUTOMAKE)
-include tools/nci/nci.mak
 
 PREAUTO := \
        $(BIN2C_TARGET) \
@@ -402,18 +411,13 @@ PREAUTO := \
        $(BUGCODES_RC) \
        $(ERRCODES_H) \
        $(ERRCODES_RC) \
-       $(GENDIB_DIB_FILES)
-
-POSTAUTO : \
-       psdk \
-       $(IDL_FILES) \
+       $(GENDIB_DIB_FILES) \
        $(NCI_SERVICE_FILES)
 
 $(ROS_AUTOMAKE): $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
        ${mkdir} $(INTERMEDIATE_)media$(SEP)inf 2>$(NUL)
        $(ECHO_RBUILD)
-       $(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) mingw
-       @$(MAKE) POSTAUTO
+       $(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) -rReactOS-$(ARCH).rbuild mingw
 
 world: all bootcd livecd
 
@@ -485,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)