Merge 13159:13510 from trunk
[reactos.git] / reactos / tools / rbuild / makefile
1 RBUILD_BASE = tools$(SEP)rbuild
2
3 RBUILD_TARGET = \
4 $(ROS_INTERMEDIATE)$(RBUILD_BASE)$(SEP)rbuild$(EXEPOSTFIX)
5
6 RBUILD_TEST_TARGET = \
7 $(ROS_INTERMEDIATE)$(RBUILD_BASE)$(SEP)rbuild_test$(EXEPOSTFIX)
8
9 RBUILD_BACKEND_MINGW_BASE_SOURCES = \
10 backend$(SEP)mingw$(SEP)mingw.cpp \
11 backend$(SEP)mingw$(SEP)modulehandler.cpp
12
13 RBUILD_BACKEND_DEVCPP_BASE_SOURCES = \
14 backend$(SEP)devcpp$(SEP)devcpp.cpp
15
16 RBUILD_BACKEND_BASE_SOURCES = \
17 $(RBUILD_BACKEND_MINGW_BASE_SOURCES) \
18 $(RBUILD_BACKEND_DEVCPP_BASE_SOURCES) \
19 backend$(SEP)backend.cpp
20
21 RBUILD_BASE_SOURCES = \
22 $(RBUILD_BACKEND_BASE_SOURCES) \
23 automaticdependency.cpp \
24 compilerflag.cpp \
25 define.cpp \
26 exception.cpp \
27 include.cpp \
28 linkerflag.cpp \
29 module.cpp \
30 project.cpp \
31 ssprintf.cpp \
32 XML.cpp
33
34 RBUILD_COMMON_SOURCES = \
35 $(addprefix $(RBUILD_BASE)$(SEP), $(RBUILD_BASE_SOURCES)) \
36
37 RBUILD_SPECIAL_SOURCES = \
38 $(RBUILD_BASE)$(SEP)rbuild.cpp
39
40 RBUILD_SOURCES = \
41 $(RBUILD_COMMON_SOURCES) \
42 $(RBUILD_SPECIAL_SOURCES)
43
44 RBUILD_COMMON_OBJECTS = \
45 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_COMMON_SOURCES:.cpp=.o))
46
47 RBUILD_SPECIAL_OBJECTS = \
48 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_SPECIAL_SOURCES:.cpp=.o))
49
50 RBUILD_OBJECTS = \
51 $(RBUILD_COMMON_OBJECTS) \
52 $(RBUILD_SPECIAL_OBJECTS)
53
54 RBUILD_TESTS = \
55 tests$(SEP)definetest.cpp \
56 tests$(SEP)functiontest.cpp \
57 tests$(SEP)iftest.cpp \
58 tests$(SEP)includetest.cpp \
59 tests$(SEP)invoketest.cpp \
60 tests$(SEP)linkerflagtest.cpp \
61 tests$(SEP)moduletest.cpp \
62 tests$(SEP)projecttest.cpp \
63 tests$(SEP)sourcefiletest.cpp
64
65 RBUILD_TEST_SPECIAL_SOURCES = \
66 $(addprefix $(RBUILD_BASE)$(SEP), $(RBUILD_TESTS)) \
67 $(RBUILD_BASE)$(SEP)tests$(SEP)alltests.cpp
68
69 RBUILD_TEST_SOURCES = \
70 $(RBUILD_COMMON_SOURCES) \
71 $(RBUILD_TEST_SPECIAL_SOURCES)
72
73 RBUILD_TEST_SPECIAL_OBJECTS = \
74 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_TEST_SPECIAL_SOURCES:.cpp=.o))
75
76 RBUILD_TEST_OBJECTS = \
77 $(RBUILD_COMMON_OBJECTS) \
78 $(RBUILD_TEST_SPECIAL_OBJECTS)
79
80 RBUILD_HOST_CXXFLAGS = -g -I$(RBUILD_BASE) -Werror -Wall
81
82 RBUILD_HOST_LFLAGS = -g
83
84 $(RBUILD_TARGET): $(RBUILD_OBJECTS)
85 ${host_gpp} $(RBUILD_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TARGET)
86
87 $(RBUILD_COMMON_OBJECTS): %.o: %.cpp
88 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
89
90 $(RBUILD_SPECIAL_OBJECTS): %.o: %.cpp
91 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
92
93 $(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS)
94 ${host_gpp} $(RBUILD_TEST_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TEST_TARGET)
95
96 $(RBUILD_TEST_SPECIAL_OBJECTS): %.o: %.cpp
97 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
98
99 .PHONY: rbuild_test
100
101 rbuild_test: $(RBUILD_TEST_TARGET)
102 $(RBUILD_TEST_TARGET)