Set svn:eol-style=native
[reactos.git] / reactos / tools / rbuild / rbuild.mak
1 RBUILD_BASE = $(TOOLS_BASE_)rbuild
2 RBUILD_BASE_ = $(RBUILD_BASE)$(SEP)
3 RBUILD_INT = $(INTERMEDIATE_)$(RBUILD_BASE)
4 RBUILD_INT_ = $(RBUILD_INT)$(SEP)
5 RBUILD_OUT = $(OUTPUT_)$(RBUILD_BASE)
6 RBUILD_OUT_ = $(RBUILD_OUT)$(SEP)
7
8 $(RBUILD_INT): | $(TOOLS_INT)
9 $(ECHO_MKDIR)
10 ${mkdir} $@
11
12 ifneq ($(INTERMEDIATE),$(OUTPUT))
13 $(RBUILD_OUT): | $(TOOLS_OUT)
14 $(ECHO_MKDIR)
15 ${mkdir} $@
16 endif
17
18
19 RBUILD_BACKEND_BASE = $(RBUILD_BASE_)backend
20 RBUILD_BACKEND_BASE_ = $(RBUILD_BACKEND_BASE)$(SEP)
21 RBUILD_BACKEND_INT = $(INTERMEDIATE_)$(RBUILD_BACKEND_BASE)
22 RBUILD_BACKEND_INT_ = $(RBUILD_BACKEND_INT)$(SEP)
23 RBUILD_BACKEND_OUT = $(OUTPUT)$(RBUILD_BACKEND_BASE)
24 RBUILD_BACKEND_OUT_ = $(RBUILD_BACKEND_OUT)$(SEP)
25
26 $(RBUILD_BACKEND_INT): | $(RBUILD_INT)
27 $(ECHO_MKDIR)
28 ${mkdir} $@
29
30 ifneq ($(INTERMEDIATE),$(OUTPUT))
31 $(RBUILD_BACKEND_OUT): | $(RBUILD_OUT)
32 $(ECHO_MKDIR)
33 ${mkdir} $@
34 endif
35
36
37 RBUILD_MINGW_BASE = $(RBUILD_BACKEND_BASE_)mingw
38 RBUILD_MINGW_BASE_ = $(RBUILD_MINGW_BASE)$(SEP)
39 RBUILD_MINGW_INT = $(INTERMEDIATE_)$(RBUILD_MINGW_BASE)
40 RBUILD_MINGW_INT_ = $(RBUILD_MINGW_INT)$(SEP)
41 RBUILD_MINGW_OUT = $(OUTPUT)$(RBUILD_MINGW_BASE)
42 RBUILD_MINGW_OUT_ = $(RBUILD_MINGW_OUT)$(SEP)
43
44 $(RBUILD_MINGW_INT): | $(RBUILD_BACKEND_INT)
45 $(ECHO_MKDIR)
46 ${mkdir} $@
47
48 ifneq ($(INTERMEDIATE),$(OUTPUT))
49 $(RBUILD_MINGW_OUT): | $(RBUILD_BACKEND_OUT)
50 $(ECHO_MKDIR)
51 ${mkdir} $@
52 endif
53
54
55 RBUILD_TESTS_BASE = $(RBUILD_BASE_)tests
56 RBUILD_TESTS_BASE_ = $(RBUILD_TESTS_BASE)$(SEP)
57 RBUILD_TESTS_INT = $(INTERMEDIATE_)$(RBUILD_TESTS_BASE)
58 RBUILD_TESTS_INT_ = $(RBUILD_TESTS_INT)$(SEP)
59 RBUILD_TESTS_OUT = $(OUTPUT)$(RBUILD_TESTS_BASE)
60
61 $(RBUILD_TESTS_INT): | $(RBUILD_INT)
62 $(ECHO_MKDIR)
63 ${mkdir} $@
64
65 ifneq ($(INTERMEDIATE),$(OUTPUT))
66 $(RBUILD_TESTS_OUT): | $(RBUILD_OUT)
67 $(ECHO_MKDIR)
68 ${mkdir} $@
69 endif
70
71
72 RBUILD_DEVCPP_BASE = $(RBUILD_BACKEND_BASE_)devcpp
73 RBUILD_DEVCPP_BASE_ = $(RBUILD_DEVCPP_BASE)$(SEP)
74 RBUILD_DEVCPP_INT = $(INTERMEDIATE_)$(RBUILD_DEVCPP_BASE)
75 RBUILD_DEVCPP_INT_ = $(RBUILD_DEVCPP_INT)$(SEP)
76 RBUILD_DEVCPP_OUT = $(OUTPUT)$(RBUILD_DEVCPP_BASE)
77 RBUILD_DEVCPP_OUT_ = $(RBUILD_DEVCPP_OUT)$(SEP)
78
79 $(RBUILD_DEVCPP_INT): | $(RBUILD_BACKEND_INT)
80 $(ECHO_MKDIR)
81 ${mkdir} $@
82
83 ifneq ($(INTERMEDIATE),$(OUTPUT))
84 $(RBUILD_DEVCPP_OUT): | $(RBUILD_BACKEND_OUT)
85 $(ECHO_MKDIR)
86 ${mkdir} $@
87 endif
88
89
90 RBUILD_TARGET = \
91 $(EXEPREFIX)$(RBUILD_OUT_)rbuild$(EXEPOSTFIX)
92
93 RBUILD_TEST_TARGET = \
94 $(EXEPREFIX)$(RBUILD_OUT_)rbuild_test$(EXEPOSTFIX)
95
96 RBUILD_BACKEND_MINGW_BASE_SOURCES = $(addprefix $(RBUILD_MINGW_BASE_), \
97 mingw.cpp \
98 modulehandler.cpp \
99 )
100
101 RBUILD_BACKEND_DEVCPP_BASE_SOURCES = $(addprefix $(RBUILD_DEVCPP_BASE_), \
102 devcpp.cpp \
103 )
104
105 RBUILD_BACKEND_SOURCES = \
106 $(RBUILD_BACKEND_MINGW_BASE_SOURCES) \
107 $(RBUILD_BACKEND_DEVCPP_BASE_SOURCES) \
108 $(RBUILD_BACKEND_BASE_)backend.cpp
109
110 RBUILD_COMMON_SOURCES = \
111 $(RBUILD_BACKEND_SOURCES) \
112 $(addprefix $(RBUILD_BASE_), \
113 automaticdependency.cpp \
114 bootstrap.cpp \
115 cdfile.cpp \
116 compilerflag.cpp \
117 define.cpp \
118 exception.cpp \
119 include.cpp \
120 installfile.cpp \
121 linkerflag.cpp \
122 module.cpp \
123 project.cpp \
124 ssprintf.cpp \
125 stubbedcomponent.cpp \
126 XML.cpp \
127 )
128
129 RBUILD_SPECIAL_SOURCES = \
130 $(RBUILD_BASE_)rbuild.cpp
131
132 RBUILD_SOURCES = \
133 $(RBUILD_COMMON_SOURCES) \
134 $(RBUILD_SPECIAL_SOURCES)
135
136 RBUILD_COMMON_OBJECTS = \
137 $(addprefix $(INTERMEDIATE_), $(RBUILD_COMMON_SOURCES:.cpp=.o))
138
139 RBUILD_SPECIAL_OBJECTS = \
140 $(addprefix $(INTERMEDIATE_), $(RBUILD_SPECIAL_SOURCES:.cpp=.o))
141
142 RBUILD_OBJECTS = \
143 $(RBUILD_COMMON_OBJECTS) \
144 $(RBUILD_SPECIAL_OBJECTS)
145
146 RBUILD_BACKEND_DEVCPP_HEADERS = \
147 devcpp.h
148
149 RBUILD_BACKEND_MINGW_HEADERS = \
150 mingw.h \
151 modulehandler.h
152
153 RBUILD_BACKEND_HEADERS = \
154 backend.h \
155 $(addprefix devcpp$(SEP), $(RBUILD_BACKEND_DEVCPP_HEADERS)) \
156 $(addprefix mingw$(SEP), $(RBUILD_BACKEND_MINGW_HEADERS))
157
158 RBUILD_HEADERS = \
159 $(addprefix $(RBUILD_BASE_), \
160 exception.h \
161 pch.h \
162 rbuild.h \
163 ssprintf.h \
164 test.h \
165 XML.h \
166 $(addprefix backend$(SEP), $(RBUILD_BACKEND_HEADERS)) \
167 )
168
169 RBUILD_TESTS = \
170 tests$(SEP)cdfiletest.cpp \
171 tests$(SEP)definetest.cpp \
172 tests$(SEP)functiontest.cpp \
173 tests$(SEP)iftest.cpp \
174 tests$(SEP)includetest.cpp \
175 tests$(SEP)invoketest.cpp \
176 tests$(SEP)linkerflagtest.cpp \
177 tests$(SEP)moduletest.cpp \
178 tests$(SEP)projecttest.cpp \
179 tests$(SEP)sourcefiletest.cpp \
180 tests$(SEP)symboltest.cpp
181
182 RBUILD_TEST_SPECIAL_SOURCES = \
183 $(addprefix $(RBUILD_BASE_), $(RBUILD_TESTS)) \
184 $(RBUILD_BASE_)tests$(SEP)alltests.cpp
185
186 RBUILD_TEST_SOURCES = \
187 $(RBUILD_COMMON_SOURCES) \
188 $(RBUILD_TEST_SPECIAL_SOURCES)
189
190 RBUILD_TEST_SPECIAL_OBJECTS = \
191 $(addprefix $(INTERMEDIATE_), $(RBUILD_TEST_SPECIAL_SOURCES:.cpp=.o))
192
193 RBUILD_TEST_OBJECTS = \
194 $(RBUILD_COMMON_OBJECTS) \
195 $(RBUILD_TEST_SPECIAL_OBJECTS)
196
197 RBUILD_HOST_CXXFLAGS = -g -I$(RBUILD_BASE) -Werror -Wall
198
199 RBUILD_HOST_LFLAGS = -g
200
201 .PHONY: rbuild
202 rbuild: $(RBUILD_TARGET)
203
204 $(RBUILD_TARGET): $(RBUILD_OBJECTS) | $(RBUILD_OUT)
205 $(ECHO_LD)
206 ${host_gpp} $(RBUILD_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $@
207
208 $(RBUILD_INT_)automaticdependency.o: $(RBUILD_BASE_)automaticdependency.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
209 $(ECHO_CC)
210 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
211
212 $(RBUILD_INT_)bootstrap.o: $(RBUILD_BASE_)bootstrap.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
213 $(ECHO_CC)
214 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
215
216 $(RBUILD_INT_)cdfile.o: $(RBUILD_BASE_)cdfile.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
217 $(ECHO_CC)
218 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
219
220 $(RBUILD_INT_)compilerflag.o: $(RBUILD_BASE_)compilerflag.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
221 $(ECHO_CC)
222 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
223
224 $(RBUILD_INT_)define.o: $(RBUILD_BASE_)define.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
225 $(ECHO_CC)
226 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
227
228 $(RBUILD_INT_)exception.o: $(RBUILD_BASE_)exception.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
229 $(ECHO_CC)
230 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
231
232 $(RBUILD_INT_)include.o: $(RBUILD_BASE_)include.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
233 $(ECHO_CC)
234 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
235
236 $(RBUILD_INT_)installfile.o: $(RBUILD_BASE_)installfile.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
237 $(ECHO_CC)
238 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
239
240 $(RBUILD_INT_)linkerflag.o: $(RBUILD_BASE_)linkerflag.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
241 $(ECHO_CC)
242 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
243
244 $(RBUILD_INT_)module.o: $(RBUILD_BASE_)module.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
245 $(ECHO_CC)
246 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
247
248 $(RBUILD_INT_)project.o: $(RBUILD_BASE_)project.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
249 $(ECHO_CC)
250 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
251
252 $(RBUILD_INT_)rbuild.o: $(RBUILD_BASE_)rbuild.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
253 $(ECHO_CC)
254 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
255
256 $(RBUILD_INT_)ssprintf.o: $(RBUILD_BASE_)ssprintf.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
257 $(ECHO_CC)
258 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
259
260 $(RBUILD_INT_)stubbedcomponent.o: $(RBUILD_BASE_)stubbedcomponent.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
261 $(ECHO_CC)
262 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
263
264 $(RBUILD_INT_)XML.o: $(RBUILD_BASE_)XML.cpp $(RBUILD_HEADERS) | $(RBUILD_INT)
265 $(ECHO_CC)
266 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
267
268 $(RBUILD_BACKEND_INT_)backend.o: $(RBUILD_BACKEND_BASE_)backend.cpp $(RBUILD_HEADERS) | $(RBUILD_BACKEND_INT)
269 $(ECHO_CC)
270 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
271
272 $(RBUILD_MINGW_INT_)mingw.o: $(RBUILD_MINGW_BASE_)mingw.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT)
273 $(ECHO_CC)
274 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
275
276 $(RBUILD_MINGW_INT_)modulehandler.o: $(RBUILD_MINGW_BASE_)modulehandler.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT)
277 $(ECHO_CC)
278 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
279
280 $(RBUILD_DEVCPP_INT_)devcpp.o: $(RBUILD_DEVCPP_BASE_)devcpp.cpp $(RBUILD_HEADERS) | $(RBUILD_DEVCPP_INT)
281 $(ECHO_CC)
282 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
283
284 $(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS) $(RBUILD_HEADERS) | $(RBUILD_OUT)
285 $(ECHO_LD)
286 ${host_gpp} $(RBUILD_TEST_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $@
287
288 $(RBUILD_TESTS_INT_)cdfiletest.o: $(RBUILD_TESTS_BASE_)cdfiletest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
289 $(ECHO_CC)
290 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
291
292 $(RBUILD_TESTS_INT_)definetest.o: $(RBUILD_TESTS_BASE_)definetest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
293 $(ECHO_CC)
294 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
295
296 $(RBUILD_TESTS_INT_)functiontest.o: $(RBUILD_TESTS_BASE_)functiontest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
297 $(ECHO_CC)
298 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
299
300 $(RBUILD_TESTS_INT_)iftest.o: $(RBUILD_TESTS_BASE_)iftest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
301 $(ECHO_CC)
302 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
303
304 $(RBUILD_TESTS_INT_)includetest.o: $(RBUILD_TESTS_BASE_)includetest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
305 $(ECHO_CC)
306 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
307
308 $(RBUILD_TESTS_INT_)invoketest.o: $(RBUILD_TESTS_BASE_)invoketest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
309 $(ECHO_CC)
310 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
311
312 $(RBUILD_TESTS_INT_)linkerflagtest.o: $(RBUILD_TESTS_BASE_)linkerflagtest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
313 $(ECHO_CC)
314 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
315
316 $(RBUILD_TESTS_INT_)moduletest.o: $(RBUILD_TESTS_BASE_)moduletest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
317 $(ECHO_CC)
318 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
319
320 $(RBUILD_TESTS_INT_)projecttest.o: $(RBUILD_TESTS_BASE_)projecttest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
321 $(ECHO_CC)
322 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
323
324 $(RBUILD_TESTS_INT_)sourcefiletest.o: $(RBUILD_TESTS_BASE_)sourcefiletest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
325 $(ECHO_CC)
326 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
327
328 $(RBUILD_TESTS_INT_)symboltest.o: $(RBUILD_TESTS_BASE_)symboltest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
329 $(ECHO_CC)
330 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
331
332 $(RBUILD_TESTS_INT_)alltests.o: $(RBUILD_TESTS_BASE_)alltests.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT)
333 $(ECHO_CC)
334 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
335
336
337 .PHONY: rbuild_test
338
339 rbuild_test: $(RBUILD_TEST_TARGET)
340 $(ECHO_TEST)
341 $(Q)$(RBUILD_TEST_TARGET)
342
343 .PHONY: rbuild_test_clean
344 rbuild_test_clean: $(RBUILD_TEST_TARGET) $(RBUILD_TESTS_INT)
345 -@$(rm) $(RBUILD_TEST_TARGET) $(RBUILD_TEST_SPECIAL_OBJECTS) 2>$(NUL)
346
347 .PHONY: rbuild_clean
348 rbuild_clean: $(RBUILD_TARGET) $(RBUILD_OBJECTS) $(RBUILD_TESTS_INT)
349 -@$(rm) $(RBUILD_TARGET) $(RBUILD_OBJECTS) 2>$(NUL)
350 clean: rbuild_clean