1 # Accepted environment variables:
4 # This variable controls where to put intermediate files. Intermediate
5 # files are generated files that are needed to generate the final
6 # output files. Examples of intermediate files include *.o, *.a, and
7 # *.coff. N.B. Don't put a path separator at the end. The variable
8 # defaults to .\obj-i386.
11 # This variable controls where to put output files. Output files are
12 # generated files that makes up the result of the build process.
13 # Examples of output files include *.exe, *.dll, and *.sys. N.B. Don't
14 # put a path separator at the end. The variable defaults to .\output-i386.
22 ifeq ($(word 1,$(shell gcc
-dumpmachine
)),mingw32
)
29 # Default to half-verbose mode
42 ifeq ($(HALFVERBOSEECHO
),yes
)
43 ECHO_INVOKE
=@echo
[INVOKE
] $<
44 ECHO_PCH
=@echo
[PCH
] $@
45 ECHO_CC
=@echo
[CC
] $<
46 ECHO_GAS
=@echo
[GAS
] $<
47 ECHO_NASM
=@echo
[NASM
] $<
48 ECHO_AR
=@echo
[AR
] $@
49 ECHO_WINEBLD
=@echo
[WINEBLD
] $@
50 ECHO_WRC
=@echo
[WRC
] $@
51 ECHO_BIN2RES
=@echo
[BIN2RES
] $<
52 ECHO_DLLTOOL
=@echo
[DLLTOOL
] $@
53 ECHO_LD
=@echo
[LD
] $@
54 ECHO_RBUILD
=@echo
[RBUILD
] $@
55 ECHO_RSYM
=@echo
[RSYM
] $@
56 ECHO_NCI
=@echo
[NCI
] $@
57 ECHO_CABMAN
=@echo
[CABMAN
] $<
58 ECHO_CDMAKE
=@echo
[CDMAKE
] $@
59 ECHO_TEST
=@echo
[TEST
] $@
85 host_objcopy
= $(Q
)objcopy
86 ifeq ($(HOST
),mingw32-linux
)
95 objcopy
= $(Q
)mingw32-objcopy
96 dlltool
= $(Q
)mingw32-dlltool
97 windres
= $(Q
)mingw32-windres
101 else # mingw32-windows
111 objcopy
= $(Q
)objcopy
112 dlltool
= $(Q
)dlltool
113 windres
= $(Q
)windres
119 ifneq ($(ROS_INTERMEDIATE
),)
120 INTERMEDIATE
= .
$(SEP
)$(ROS_INTERMEDIATE
)$(SEP
)
121 INTERMEDIATE_NO_SLASH
:= $(ROS_INTERMEDIATE
)
123 INTERMEDIATE
= obj-i386
$(SEP
)
124 INTERMEDIATE_NO_SLASH
= obj-i386
127 ifneq ($(ROS_OUTPUT
),)
128 OUTPUT
= $(ROS_OUTPUT
)$(SEP
)
129 OUTPUT_NO_SLASH
= $(ROS_OUTPUT
)
131 OUTPUT
= obj-i386
$(SEP
)
132 OUTPUT_NO_SLASH
= obj-i386
135 mkdir
= $(Q
)$(INTERMEDIATE
)rmkdir
139 -${nmkdir} $(INTERMEDIATE_NO_SLASH
)
140 -${nmkdir} $(OUTPUT_NO_SLASH
)
142 NTOSKRNL_MC
= .
$(SEP
)ntoskrnl
$(SEP
)ntoskrnl.mc
143 KERNEL32_MC
= .
$(SEP
)lib
$(SEP
)kernel32
$(SEP
)kernel32.mc
144 BUILDNO_H
= .
$(SEP
)include$(SEP
)reactos
$(SEP
)buildno.h
145 BUGCODES_H
= .
$(SEP
)include$(SEP
)reactos
$(SEP
)bugcodes.h
146 BUGCODES_RC
= .
$(SEP
)ntoskrnl
$(SEP
)bugcodes.rc
147 ERRCODES_H
= .
$(SEP
)include$(SEP
)reactos
$(SEP
)errcodes.h
148 ERRCODES_RC
= .
$(SEP
)lib
$(SEP
)kernel32
$(SEP
)errcodes.rc
150 include tools
/tools.mak
151 -include makefile.auto
161 makefile.auto
: $(RMKDIR_TARGET
) $(WINEBUILD_TARGET
) $(RBUILD_TARGET
) $(PREAUTO
) $(XMLBUILDFILES
)
163 $(Q
)tools
$(SEP
)rbuild
$(SEP
)rbuild
$(EXEPOSTFIX
) mingw
166 $(BUGCODES_H
) $(BUGCODES_RC
): $(WMC_TARGET
) $(NTOSKRNL_MC
)
167 $(WMC_TARGET
) -i
-H
$(BUGCODES_H
) -o
$(BUGCODES_RC
) $(NTOSKRNL_MC
)
169 $(ERRCODES_H
) $(ERRCODES_RC
): $(WMC_TARGET
) $(KERNEL32_MC
)
170 $(WMC_TARGET
) -i
-H
$(ERRCODES_H
) -o
$(ERRCODES_RC
) $(KERNEL32_MC
)
172 .PHONY
: makefile_auto_clean
174 -@
$(rm) makefile.auto
$(PREAUTO
) 2>$(NUL
)
177 clean: makefile_auto_clean