No need to define __USE_W32API
[reactos.git] / reactos / Makefile
index c4b3a80..63d8c4c 100644 (file)
@@ -260,77 +260,71 @@ else
   ECHO_STRIP   =
 endif
 
-
-host_gcc = $(Q)gcc
-host_gpp = $(Q)g++
+# Set host compiler/linker
+ifeq ($(HOST_CC),)
+  HOST_CC = gcc
+endif
+ifeq ($(HOST_CPP),)
+  HOST_CPP = g++
+endif
+host_gcc = $(Q)$(HOST_CC)
+host_gpp = $(Q)$(HOST_CPP)
 host_ld = $(Q)ld
 host_ar = $(Q)ar
 host_objcopy = $(Q)objcopy
-ifeq ($(HOST),mingw32-linux)
-       export EXEPREFIX = ./
-ifeq ($(OSTYPE),msys)
-       export EXEPOSTFIX = .exe
+
+# Set target compiler/linker
+ifneq ($(ROS_PREFIX),)
+  PREFIX_ := $(ROS_PREFIX)-
 else
-       export EXEPOSTFIX =
+  ifeq ($(HOST),mingw32-linux)
+    PREFIX_ := mingw32-
+  else
+    PREFIX_ :=
+  endif
 endif
+ifeq ($(TARGET_CC),)
+  TARGET_CC = $(PREFIX_)gcc
+endif
+ifeq ($(TARGET_CPP),)
+  TARGET_CPP = $(PREFIX_)g++
+endif
+gcc = $(Q)$(TARGET_CC)
+gpp = $(Q)$(TARGET_CPP)
+ld = $(Q)$(PREFIX_)ld
+nm = $(Q)$(PREFIX_)nm
+objdump = $(Q)$(PREFIX_)objdump
+ar = $(Q)$(PREFIX_)ar
+objcopy = $(Q)$(PREFIX_)objcopy
+dlltool = $(Q)$(PREFIX_)dlltool
+strip = $(Q)$(PREFIX_)strip
+windres = $(Q)$(PREFIX_)windres
+
+# Set utilities
+ifeq ($(OSTYPE),msys)
+  HOST=mingw32-linux
+endif
+ifeq ($(HOST),mingw32-linux)
+       export EXEPREFIX = ./
+       ifeq ($(OSTYPE),msys)
+               export EXEPOSTFIX = .exe
+       else
+               export EXEPOSTFIX =
+       endif
        export SEP = /
        mkdir = -$(Q)mkdir -p
-       gcc = $(Q)$(PREFIX)-gcc
-       gpp = $(Q)$(PREFIX)-g++
-       ld = $(Q)$(PREFIX)-ld
-       nm = $(Q)$(PREFIX)-nm
-       objdump = $(Q)$(PREFIX)-objdump
-       ar = $(Q)$(PREFIX)-ar
-       objcopy = $(Q)$(PREFIX)-objcopy
-       dlltool = $(Q)$(PREFIX)-dlltool
-       strip = $(Q)$(PREFIX)-strip
-       windres = $(Q)$(PREFIX)-windres
        rm = $(Q)rm -f
        cp = $(Q)cp
        NUL = /dev/null
 else # mingw32-windows
-       ifeq ($(OSTYPE),msys)
-               HOST=mingw32-linux
-               export EXEPREFIX = ./
-               export EXEPOSTFIX = .exe
-               export SEP = /
-               mkdir = -$(Q)mkdir -p
-               rm = $(Q)rm -f
-               cp = $(Q)cp
-               NUL = /dev/null
-       else
-               export EXEPREFIX =
-               export EXEPOSTFIX = .exe
-               ROS_EMPTY =
-               export SEP = \$(ROS_EMPTY)
-               mkdir = -$(Q)mkdir
-               rm = $(Q)del /f /q
-               cp = $(Q)copy /y
-               NUL = NUL
-       endif
-       ifeq ($(ROS_PREFIX),)
-               gcc = $(Q)gcc
-               gpp = $(Q)g++
-               ld = $(Q)ld
-               nm = $(Q)nm
-               objdump = $(Q)objdump
-               ar = $(Q)ar
-               objcopy = $(Q)objcopy
-               dlltool = $(Q)dlltool
-               strip = $(Q)strip
-               windres = $(Q)windres
-       else
-               gcc = $(Q)$(ROS_PREFIX)-gcc
-               gpp = $(Q)$(ROS_PREFIX)-g++
-               ld = $(Q)$(ROS_PREFIX)-ld
-               nm = $(Q)$(ROS_PREFIX)-nm
-               objdump = $(Q)$(ROS_PREFIX)-objdump
-               ar = $(Q)$(ROS_PREFIX)-ar
-               objcopy = $(Q)$(ROS_PREFIX)-objcopy
-               dlltool = $(Q)$(ROS_PREFIX)-dlltool
-               strip = $(Q)$(ROS_PREFIX)-strip
-               windres = $(Q)$(ROS_PREFIX)-windres
-       endif
+       export EXEPREFIX =
+       export EXEPOSTFIX = .exe
+       ROS_EMPTY =
+       export SEP = \$(ROS_EMPTY)
+       mkdir = -$(Q)mkdir
+       rm = $(Q)del /f /q
+       cp = $(Q)copy /y
+       NUL = NUL
 endif
 
 ifneq ($(ROS_INTERMEDIATE),)
@@ -357,7 +351,7 @@ CDOUTPUT_ := $(CDOUTPUT)$(SEP)
 ifneq ($(ROS_TEMPORARY),)
   TEMPORARY := $(ROS_TEMPORARY)
 else
-  TEMPORARY :=
+  TEMPORARY := .
 endif
 TEMPORARY_ := $(TEMPORARY)$(SEP)
 
@@ -407,7 +401,7 @@ ifeq ($(ARCH),powerpc)
 PREAUTO += $(OFW_INTERFACE_SERVICE_FILES) $(PPCMMU_TARGETS)
 endif
 
-$(ROS_AUTOMAKE): $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
+$(ROS_AUTOMAKE): $(RBUILD_TARGET) $(XMLBUILDFILES) | $(PREAUTO)
        ${mkdir} $(OUTPUT_)media$(SEP)inf 2>$(NUL)
        $(ECHO_RBUILD)
        $(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
@@ -436,8 +430,7 @@ universe:
 
 sysregtest:
        $(OUTPUT_)tools$(SEP)sysreg$(SEP)sysreg$(EXEPOSTFIX) tools$(SEP)sysreg$(SEP)txtmode.cfg
-       $(OUTPUT_)tools$(SEP)sysreg$(SEP)sysreg$(EXEPOSTFIX) tools$(SEP)sysreg$(SEP)txtmode.cfg
-       $(OUTPUT_)tools$(SEP)sysreg$(SEP)sysreg$(EXEPOSTFIX) tools$(SEP)sysreg$(SEP)txtmode.cfg
+
 
 .PHONY: cb
 cb: $(RBUILD_TARGET)