accidentally commited testing changes
[reactos.git] / reactos / Makefile
1 # Default to half-verbose mode
2 ifeq ($(VERBOSE),no)
3 Q = @
4 HALFVERBOSEECHO = @:
5 else
6 ifeq ($(VERBOSE),yes)
7 Q =
8 HALFVERBOSEECHO = @:
9 else
10 Q = @
11 HALFVERBOSEECHO = @echo
12 endif
13 endif
14
15
16 host_gcc = $(Q)gcc
17 host_gpp = $(Q)g++
18 host_ld = $(Q)ld
19 host_ar = $(Q)ar
20 host_objcopy = $(Q)objcopy
21 ifeq ($(HOST),mingw32-linux)
22 EXEPREFIX = ./
23 EXEPOSTFIX =
24 SEP = /
25 nmkdir = $(Q)mkdir -p
26 gcc = $(Q)mingw32-gcc
27 gpp = $(Q)mingw32-g++
28 ld = $(Q)mingw32-ld
29 ar = $(Q)mingw32-ar
30 objcopy = $(Q)mingw32-objcopy
31 dlltool = $(Q)mingw32-dlltool
32 windres = $(Q)mingw32-windres
33 rm = rm -f
34 cp = $(Q)cp
35 NUL = /dev/null
36 else # mingw32-windows
37 EXEPREFIX =
38 EXEPOSTFIX = .exe
39 SEP = \$(EMPTY_VAR)
40 nmkdir = $(Q)mkdir
41 gcc = $(Q)gcc
42 gpp = $(Q)g++
43 ld = $(Q)ld
44 ar = $(Q)ar
45 objcopy = $(Q)objcopy
46 dlltool = $(Q)dlltool
47 windres = $(Q)windres
48 rm = del /f /q
49 cp = $(Q)copy /y
50 NUL = NUL
51 endif
52
53 .PHONY: all
54 .PHONY: clean
55
56 all: makefile.auto
57
58 ifneq ($(ROS_INTERMEDIATE),)
59 $(ROS_INTERMEDIATE)tools: $(ROS_INTERMEDIATE)
60 ${nmkdir} $(ROS_INTERMEDIATE)tools
61 endif
62
63 ifneq ($(ROS_INTERMEDIATE),)
64 $(ROS_INTERMEDIATE):
65 ${nmkdir} $(ROS_INTERMEDIATE)
66 endif
67
68 include tools/Makefile
69 -include makefile.auto
70
71 PREAUTO := \
72 include$(SEP)reactos$(SEP)buildno.h \
73 include$(SEP)reactos$(SEP)bugcodes.h \
74 ntoskrnl$(SEP)bugcodes.rc \
75 include$(SEP)reactos$(SEP)errcodes.h \
76 lib$(SEP)kernel32$(SEP)errcodes.rc
77
78 makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(WRC_TARGET) \
79 $(RSYM_TARGET) $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
80 $(HALFVERBOSEECHO) [RBUILD] makefile.auto
81 $(Q)tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw
82
83
84 include$(SEP)reactos$(SEP)bugcodes.h ntoskrnl$(SEP)bugcodes.rc: $(WMC_TARGET) ntoskrnl$(SEP)ntoskrnl.mc
85 $(WMC_TARGET) -i -H include$(SEP)reactos$(SEP)bugcodes.h -o ntoskrnl$(SEP)bugcodes.rc ntoskrnl$(SEP)ntoskrnl.mc
86
87 include$(SEP)reactos$(SEP)errcodes.h lib$(SEP)kernel32$(SEP)errcodes.rc: $(WMC_TARGET) lib$(SEP)kernel32$(SEP)kernel32.mc
88 $(WMC_TARGET) -i -H include$(SEP)reactos$(SEP)errcodes.h -o lib$(SEP)kernel32$(SEP)errcodes.rc lib$(SEP)kernel32$(SEP)kernel32.mc
89
90 .PHONY: makefile_auto_clean
91 makefile_auto_clean:
92 -@$(rm) makefile.auto $(PREAUTO) 2>$(NUL)
93 clean: makefile_auto_clean