Invocation of buildtool modules.
[reactos.git] / reactos / tools / rbuild / makefile
1 PATH_TO_TOP = ../..
2
3 TARGET = rbuild$(EXE_POSTFIX)
4
5 all: $(TARGET)
6
7 BACKEND_MINGW_BASE_OBJECTS = \
8 backend/mingw/mingw.cpp \
9 backend/mingw/modulehandler.cpp
10
11 BACKEND_BASE_OBJECTS = \
12 $(BACKEND_MINGW_BASE_OBJECTS) \
13 backend/backend.cpp
14
15 BASE_OBJECTS = \
16 $(BACKEND_BASE_OBJECTS) \
17 define.o \
18 exception.o \
19 include.o \
20 module.o \
21 project.o \
22 ssprintf.o \
23 XML.o
24
25 OBJECTS = $(BASE_OBJECTS) rbuild.o
26
27 TESTS = \
28 tests/definetest.o \
29 tests/includetest.o \
30 tests/invoketest.o \
31 tests/moduletest.o \
32 tests/projecttest.o
33
34 TEST_OBJECTS = $(BASE_OBJECTS) $(TESTS) tests/alltests.o
35
36 HOST_CXXFLAGS = -g -I. -Werror -Wall
37
38 HOST_LFLAGS = -g
39
40 rbuild$(EXE_POSTFIX): $(OBJECTS)
41 $(HOST_CXX) $(OBJECTS) $(HOST_LFLAGS) -o rbuild$(EXE_POSTFIX)
42
43 ifeq ($(HOST),"")
44 echo Please set HOST variable to mingw32-windows or mingw32-linux
45 endif
46 ifeq ($(HOST),mingw32-linux)
47 clean:
48 -rm -f *.o
49 -rm -f rbuild$(EXE_POSTFIX)
50 -rm -f tests/*.o
51 -rm -f rbuild_tests$(EXE_POSTFIX)
52 else
53 clean:
54 -del *.o
55 -del rbuild$(EXE_POSTFIX)
56 -del tests\*.o
57 -del rbuild_tests$(EXE_POSTFIX)
58 endif
59
60 .phony: clean
61
62 %.o: %.cpp
63 $(HALFVERBOSEECHO) [CXX] $<
64 $(HOST_CXX) $(HOST_CXXFLAGS) -c $< -o $@
65
66 test: rbuild_tests$(EXE_POSTFIX)
67 $(EXE_PREFIX)rbuild_tests$(EXE_POSTFIX)
68
69 rbuild_tests$(EXE_POSTFIX): $(TEST_OBJECTS)
70 $(HOST_CXX) $(TEST_OBJECTS) $(HOST_LFLAGS) -o rbuild_tests$(EXE_POSTFIX)
71
72 include $(PATH_TO_TOP)/rules.mak