Add bootstrap tag to specify that files are to be copied to the CD
[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 bootstrap.cpp \
25 compilerflag.cpp \
26 define.cpp \
27 exception.cpp \
28 include.cpp \
29 linkerflag.cpp \
30 module.cpp \
31 project.cpp \
32 ssprintf.cpp \
33 XML.cpp
34
35 RBUILD_COMMON_SOURCES = \
36 $(addprefix $(RBUILD_BASE)$(SEP), $(RBUILD_BASE_SOURCES)) \
37
38 RBUILD_SPECIAL_SOURCES = \
39 $(RBUILD_BASE)$(SEP)rbuild.cpp
40
41 RBUILD_SOURCES = \
42 $(RBUILD_COMMON_SOURCES) \
43 $(RBUILD_SPECIAL_SOURCES)
44
45 RBUILD_COMMON_OBJECTS = \
46 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_COMMON_SOURCES:.cpp=.o))
47
48 RBUILD_SPECIAL_OBJECTS = \
49 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_SPECIAL_SOURCES:.cpp=.o))
50
51 RBUILD_OBJECTS = \
52 $(RBUILD_COMMON_OBJECTS) \
53 $(RBUILD_SPECIAL_OBJECTS)
54
55 RBUILD_TESTS = \
56 tests$(SEP)definetest.cpp \
57 tests$(SEP)functiontest.cpp \
58 tests$(SEP)iftest.cpp \
59 tests$(SEP)includetest.cpp \
60 tests$(SEP)invoketest.cpp \
61 tests$(SEP)linkerflagtest.cpp \
62 tests$(SEP)moduletest.cpp \
63 tests$(SEP)projecttest.cpp \
64 tests$(SEP)sourcefiletest.cpp
65
66 RBUILD_TEST_SPECIAL_SOURCES = \
67 $(addprefix $(RBUILD_BASE)$(SEP), $(RBUILD_TESTS)) \
68 $(RBUILD_BASE)$(SEP)tests$(SEP)alltests.cpp
69
70 RBUILD_TEST_SOURCES = \
71 $(RBUILD_COMMON_SOURCES) \
72 $(RBUILD_TEST_SPECIAL_SOURCES)
73
74 RBUILD_TEST_SPECIAL_OBJECTS = \
75 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_TEST_SPECIAL_SOURCES:.cpp=.o))
76
77 RBUILD_TEST_OBJECTS = \
78 $(RBUILD_COMMON_OBJECTS) \
79 $(RBUILD_TEST_SPECIAL_OBJECTS)
80
81 RBUILD_HOST_CXXFLAGS = -g -I$(RBUILD_BASE) -Werror -Wall
82
83 RBUILD_HOST_LFLAGS = -g
84
85 $(RBUILD_TARGET): $(RBUILD_OBJECTS)
86 ${host_gpp} $(RBUILD_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TARGET)
87
88 $(RBUILD_COMMON_OBJECTS): %.o: %.cpp
89 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
90
91 $(RBUILD_SPECIAL_OBJECTS): %.o: %.cpp
92 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
93
94 $(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS)
95 ${host_gpp} $(RBUILD_TEST_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TEST_TARGET)
96
97 $(RBUILD_TEST_SPECIAL_OBJECTS): %.o: %.cpp
98 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
99
100 .PHONY: rbuild_test
101
102 rbuild_test: $(RBUILD_TEST_TARGET)
103 $(RBUILD_TEST_TARGET)
104
105 clean::
106 -@$(rm) $(RBUILD_TARGET) $(RBUILD_OBJECTS) $(RBUILD_TEST_TARGET) $(RBUILD_TEST_OBJECTS) 2>$(NUL)