Use inline message tables
[reactos.git] / reactos / Makefile
index f31ae65..64e4678 100644 (file)
@@ -1,25 +1,49 @@
+host_gcc = gcc
+host_gpp = g++
+host_ld = ld
+host_ar = ar
+host_objcopy = objcopy
 ifeq ($(HOST),mingw32-linux)
+       EXEPREFIX = ./
        EXEPOSTFIX =
        SEP = /
-       host_gcc = gcc
-       host_gpp = g++
        nmkdir = mkdir -p
+       gcc = mingw32-gcc
+       gpp = mingw32-g++
+       ld = mingw32-ld
+       ar = mingw32-ar
+       objcopy = mingw32-objcopy
+       dlltool = mingw32-dlltool
+       windres = mingw32-windres
+       rm = rm -f
+       cp = cp
+       NUL = /dev/null
 else # mingw32-windows
+       EXEPREFIX =
        EXEPOSTFIX = .exe
        SEP = \$(EMPTY_VAR)
-       host_gcc = gcc
-       host_gpp = g++
        nmkdir = mkdir
+       gcc = gcc
+       gpp = g++
+       ld = ld
+       ar = ar
+       objcopy = objcopy
+       dlltool = dlltool
+       windres = windres
+       rm = del /f /q
+       cp = copy /y
+       NUL = NUL
 endif
 
-default: Makefile.auto
+.PHONY: all
+.PHONY: clean
+
+all: Makefile.auto
 
 ifneq ($(ROS_INTERMEDIATE),)
 $(ROS_INTERMEDIATE)tools: $(ROS_INTERMEDIATE)
-else
-$(ROS_INTERMEDIATE)tools:
-endif
        ${nmkdir} $(ROS_INTERMEDIATE)tools
+endif
 
 ifneq ($(ROS_INTERMEDIATE),)
 $(ROS_INTERMEDIATE):
@@ -29,18 +53,25 @@ endif
 include tools/Makefile
 -include Makefile.auto
 
-Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(RBUILD_TARGET)
-       tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw
-       $(MAKE) $(MAKECMDGOALS)
-
-init: \
+PREAUTO := \
+       include$(SEP)reactos$(SEP)buildno.h \
        include$(SEP)reactos$(SEP)bugcodes.h \
        ntoskrnl$(SEP)bugcodes.rc \
        include$(SEP)reactos$(SEP)errcodes.h \
        lib$(SEP)kernel32$(SEP)errcodes.rc
 
+Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(WRC_TARGET) \
+               $(RSYM_TARGET) $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO)
+       tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw
+
+
 include$(SEP)reactos$(SEP)bugcodes.h ntoskrnl$(SEP)bugcodes.rc: $(WMC_TARGET) ntoskrnl$(SEP)ntoskrnl.mc
-       $(WMC_TARGET) -H include$(SEP)reactos$(SEP)bugcodes.h -o ntoskrnl$(SEP)bugcodes.rc ntoskrnl$(SEP)ntoskrnl.mc
+       $(WMC_TARGET) -i -H include$(SEP)reactos$(SEP)bugcodes.h -o ntoskrnl$(SEP)bugcodes.rc ntoskrnl$(SEP)ntoskrnl.mc
 
 include$(SEP)reactos$(SEP)errcodes.h lib$(SEP)kernel32$(SEP)errcodes.rc: $(WMC_TARGET) lib$(SEP)kernel32$(SEP)kernel32.mc
-       $(WMC_TARGET) -H include$(SEP)reactos$(SEP)errcodes.h -o lib$(SEP)kernel32$(SEP)errcodes.rc lib$(SEP)kernel32$(SEP)kernel32.mc
+       $(WMC_TARGET) -i -H include$(SEP)reactos$(SEP)errcodes.h -o lib$(SEP)kernel32$(SEP)errcodes.rc lib$(SEP)kernel32$(SEP)kernel32.mc
+
+.PHONY: makefile_auto_clean
+makefile_auto_clean:
+       -@$(rm) Makefile.auto $(PREAUTO) 2>$(NUL)
+clean: makefile_auto_clean