Build cdmake
[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 NUL = /dev/null
20 else # mingw32-windows
21 EXEPREFIX =
22 EXEPOSTFIX = .exe
23 SEP = \$(EMPTY_VAR)
24 nmkdir = mkdir
25 gcc = gcc
26 gpp = g++
27 ld = ld
28 ar = ar
29 objcopy = objcopy
30 dlltool = dlltool
31 windres = windres
32 rm = del /f /q
33 NUL = NUL
34 endif
35
36 .PHONY: all
37 .PHONY: clean
38
39 all: Makefile.auto
40
41 ifneq ($(ROS_INTERMEDIATE),)
42 $(ROS_INTERMEDIATE)tools: $(ROS_INTERMEDIATE)
43 ${nmkdir} $(ROS_INTERMEDIATE)tools
44 endif
45
46 ifneq ($(ROS_INTERMEDIATE),)
47 $(ROS_INTERMEDIATE):
48 ${nmkdir} $(ROS_INTERMEDIATE)
49 endif
50
51 include tools/Makefile
52 -include Makefile.auto
53
54 PREAUTO := \
55 include$(SEP)reactos$(SEP)buildno.h \
56 include$(SEP)reactos$(SEP)bugcodes.h \
57 ntoskrnl$(SEP)bugcodes.rc \
58 include$(SEP)reactos$(SEP)errcodes.h \
59 lib$(SEP)kernel32$(SEP)errcodes.rc
60
61 Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO)
62 tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw
63 $(MAKE) $(MAKECMDGOALS)
64
65
66 include$(SEP)reactos$(SEP)bugcodes.h ntoskrnl$(SEP)bugcodes.rc: $(WMC_TARGET) ntoskrnl$(SEP)ntoskrnl.mc
67 $(WMC_TARGET) -H include$(SEP)reactos$(SEP)bugcodes.h -o ntoskrnl$(SEP)bugcodes.rc ntoskrnl$(SEP)ntoskrnl.mc
68
69 include$(SEP)reactos$(SEP)errcodes.h lib$(SEP)kernel32$(SEP)errcodes.rc: $(WMC_TARGET) lib$(SEP)kernel32$(SEP)kernel32.mc
70 $(WMC_TARGET) -H include$(SEP)reactos$(SEP)errcodes.h -o lib$(SEP)kernel32$(SEP)errcodes.rc lib$(SEP)kernel32$(SEP)kernel32.mc
71
72 clean::
73 -@$(rm) Makefile.auto $(PREAUTO) 2>$(NUL)