hack fix 'hostzlib' circular dependency, added a couple more stub makefiles, added...
[reactos.git] / reactos / tools / rbuild / rbuild.mak
1 RBUILD_BASE = .$(SEP)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 cdfile.cpp \
26 compilerflag.cpp \
27 define.cpp \
28 exception.cpp \
29 include.cpp \
30 linkerflag.cpp \
31 module.cpp \
32 project.cpp \
33 ssprintf.cpp \
34 XML.cpp
35
36 RBUILD_COMMON_SOURCES = \
37 $(addprefix $(RBUILD_BASE)$(SEP), $(RBUILD_BASE_SOURCES)) \
38
39 RBUILD_SPECIAL_SOURCES = \
40 $(RBUILD_BASE)$(SEP)rbuild.cpp
41
42 RBUILD_SOURCES = \
43 $(RBUILD_COMMON_SOURCES) \
44 $(RBUILD_SPECIAL_SOURCES)
45
46 RBUILD_COMMON_OBJECTS = \
47 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_COMMON_SOURCES:.cpp=.o))
48
49 RBUILD_SPECIAL_OBJECTS = \
50 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_SPECIAL_SOURCES:.cpp=.o))
51
52 RBUILD_OBJECTS = \
53 $(RBUILD_COMMON_OBJECTS) \
54 $(RBUILD_SPECIAL_OBJECTS)
55
56 RBUILD_TESTS = \
57 tests$(SEP)definetest.cpp \
58 tests$(SEP)functiontest.cpp \
59 tests$(SEP)iftest.cpp \
60 tests$(SEP)includetest.cpp \
61 tests$(SEP)invoketest.cpp \
62 tests$(SEP)linkerflagtest.cpp \
63 tests$(SEP)moduletest.cpp \
64 tests$(SEP)projecttest.cpp \
65 tests$(SEP)sourcefiletest.cpp \
66 tests$(SEP)cdfiletest.cpp
67
68 RBUILD_TEST_SPECIAL_SOURCES = \
69 $(addprefix $(RBUILD_BASE)$(SEP), $(RBUILD_TESTS)) \
70 $(RBUILD_BASE)$(SEP)tests$(SEP)alltests.cpp
71
72 RBUILD_TEST_SOURCES = \
73 $(RBUILD_COMMON_SOURCES) \
74 $(RBUILD_TEST_SPECIAL_SOURCES)
75
76 RBUILD_TEST_SPECIAL_OBJECTS = \
77 $(addprefix $(ROS_INTERMEDIATE), $(RBUILD_TEST_SPECIAL_SOURCES:.cpp=.o))
78
79 RBUILD_TEST_OBJECTS = \
80 $(RBUILD_COMMON_OBJECTS) \
81 $(RBUILD_TEST_SPECIAL_OBJECTS)
82
83 RBUILD_HOST_CXXFLAGS = -g -I$(RBUILD_BASE) -Werror -Wall
84
85 RBUILD_HOST_LFLAGS = -g
86
87 .PHONY: rbuild
88 rbuild: $(RBUILD_TARGET)
89
90 $(RBUILD_TARGET): $(RBUILD_OBJECTS)
91 $(ECHO_LD)
92 ${host_gpp} $(RBUILD_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TARGET)
93
94 $(RBUILD_COMMON_OBJECTS): %.o: %.cpp
95 $(ECHO_CC)
96 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
97
98 $(RBUILD_SPECIAL_OBJECTS): %.o: %.cpp
99 $(ECHO_CC)
100 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
101
102 $(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS)
103 $(ECHO_LD)
104 ${host_gpp} $(RBUILD_TEST_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TEST_TARGET)
105
106 $(RBUILD_TEST_SPECIAL_OBJECTS): %.o: %.cpp
107 $(ECHO_CC)
108 ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@
109
110
111
112 .PHONY: rbuild_test
113
114 rbuild_test: $(RBUILD_TEST_TARGET)
115 $(ECHO_TEST)
116 $(Q)$(RBUILD_TEST_TARGET)
117
118 .PHONY: rbuild_clean
119 rbuild_clean:
120 -@$(rm) $(RBUILD_TARGET) $(RBUILD_OBJECTS) $(RBUILD_TEST_TARGET) $(RBUILD_TEST_OBJECTS) 2>$(NUL)
121 clean: rbuild_clean