summaryrefslogtreecommitdiff
path: root/rtems/Makefile
blob: 9df7f6a6b24e91cdfac28df5f5f2716f68a4cf14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
CXX = $(TARGET)-g++
AR = $(TARGET)-ar
RANLIB = $(TARGET)-ranlib

TOPSRCDIR = ..

SRCDIR = $(TOPSRCDIR)/src

INCLUDEDIR = $(TOPSRCDIR)/include

CPPFLAGS = -I $(TOPSRCDIR)/. -I $(INCLUDEDIR)

DEPFLAGS = -MT $@ -MD -MP -MF $(basename $@).d

WARNFLAGS = -Wall -Wextra -Wformat=2 -Wcast-qual -Wconversion

BUILDDIR = build/$(TARGET)/$(MULTILIBDIR)

LIB_SRCS =
LIB_SRCS += $(SRCDIR)/gtest.cc
LIB_SRCS += $(SRCDIR)/gtest-death-test.cc
LIB_SRCS += $(SRCDIR)/gtest-filepath.cc
LIB_SRCS += $(SRCDIR)/gtest-port.cc
LIB_SRCS += $(SRCDIR)/gtest-printers.cc
LIB_SRCS += $(SRCDIR)/gtest-test-part.cc
LIB_SRCS += $(SRCDIR)/gtest-typed-test.cc

LIB_OBJS = $(LIB_SRCS:$(SRCDIR)/%.cc=$(BUILDDIR)/%.o)
LIB_DEPS = $(LIB_SRCS:$(SRCDIR)/%.cc=$(BUILDDIR)/%.d)

LIB = $(BUILDDIR)/libgtest.a

all: $(BUILDDIR) $(LIB)

$(BUILDDIR):
	mkdir -p $(BUILDDIR)

$(LIB): $(LIB_OBJS)
	$(AR) rcu $@ $^
	$(RANLIB) $@

$(BUILDDIR)/%.o: $(SRCDIR)/%.cc
	$(CXX) $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) $(WARNFLAGS) -c $< -o $@

install: all
	install -m 644 -t $(PREFIX)/$(TARGET)/lib/$(MULTILIBDIR) $(LIB)

RTEMS_HEADERS =
RTEMS_HEADERS += $(TOPSRCDIR)/rtems/gtest-main.h

GTEST_HEADERS =
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-death-test.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-message.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-param-test.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest_pred_impl.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-printers.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest_prod.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-spi.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-test-part.h
GTEST_HEADERS += $(INCLUDEDIR)/gtest/gtest-typed-test.h

GTEST_INTERNAL_HEADERS =
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-death-test-internal.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-filepath.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-internal.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-linked_ptr.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-param-util-generated.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-param-util.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-port.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-string.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-tuple.h
GTEST_INTERNAL_HEADERS += $(INCLUDEDIR)/gtest/internal/gtest-type-util.h

INSTALL_INCLUDEDIR = $(PREFIX)/$(TARGET)/include

install-header:
	mkdir -p $(INSTALL_INCLUDEDIR)/rtems
	mkdir -p $(INSTALL_INCLUDEDIR)/gtest/internal
	install -m 644 -t $(INSTALL_INCLUDEDIR)/rtems $(RTEMS_HEADERS)
	install -m 644 -t $(INSTALL_INCLUDEDIR)/gtest $(GTEST_HEADERS)
	install -m 644 -t $(INSTALL_INCLUDEDIR)/gtest/internal $(GTEST_INTERNAL_HEADERS)

clean:
	rm -rf $(BUILDDIR)

-include $(LIB_DEPS)