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