aboutsummaryrefslogtreecommitdiff
path: root/third_party/third_party.mk
blob: 18f9b9884f0f01fc48dfdde02db62366fe97df74 (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
88
89
90
91
92
93
94
95
96
# Copyright 2015 The Weave Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

###
# third_party/chromium/

third_party_chromium_base_obj_files := $(THIRD_PARTY_CHROMIUM_BASE_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)

$(third_party_chromium_base_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<

third_party_chromium_base_unittest_obj_files := $(THIRD_PARTY_CHROMIUM_BASE_UNITTEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)

$(third_party_chromium_base_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<

third_party_chromium_crypto_obj_files := $(THIRD_PARTY_CHROMIUM_CRYPTO_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)

$(third_party_chromium_crypto_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<

third_party_chromium_crypto_unittest_obj_files := $(THIRD_PARTY_CHROMIUM_CRYPTO_UNITTEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)

$(third_party_chromium_crypto_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<

###
# third_party/modp_b64/

third_party_modp_b64_obj_files := $(THIRD_PARTY_MODP_B64_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)

$(third_party_modp_b64_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<

###
# third_party/libuweave/

third_party_libuweave_obj_files := $(THIRD_PARTY_LIBUWEAVE_SRC_FILES:%.c=out/$(BUILD_MODE)/%.o)

$(third_party_libuweave_obj_files) : out/$(BUILD_MODE)/%.o : %.c
	mkdir -p $(dir $@)
	$(CC) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_C) -c -o $@ $<

###
# libgtest and libgmock (third_party)

third_party_gtest_lib = out/$(BUILD_MODE)/third_party/googletest/libgtest.a
third_party_gmock_lib = out/$(BUILD_MODE)/third_party/googletest/libgmock.a

third_party_gtest_all = out/$(BUILD_MODE)/third_party/googletest/gtest-all.o
third_party_gmock_all = out/$(BUILD_MODE)/third_party/googletest/gmock-all.o

$(third_party_gtest_all) : third_party/googletest/googletest/src/gtest-all.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< \
		-I third_party/googletest/googletest/

$(third_party_gmock_all) : third_party/googletest/googlemock/src/gmock-all.cc
	mkdir -p $(dir $@)
	$(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< \
		-I third_party/googletest/googlemock/

$(third_party_gtest_lib) : $(third_party_gtest_all)
	mkdir -p $(dir $@)
	$(AR) crs $@ $^

$(third_party_gmock_lib) : $(third_party_gmock_all)
	mkdir -p $(dir $@)
	$(AR) crs $@ $^

clean-gtest :
	rm -rf $(third_party_gtest_lib) $(third_party_gmock_lib) \
		$(third_party_gtest_all) $(third_party_gmock_all)

###
# libevhtp (third_party)

third_party_libevhtp = out/$(BUILD_MODE)/third_party/libevhtp
third_party_libevhtp_lib = $(third_party_libevhtp)/libevhtp.a
third_party_libevhtp_header = $(third_party_libevhtp)/evhtp-config.h

$(third_party_libevhtp_header) :
	mkdir -p $(dir $@)
	cd $(dir $@) && cmake -D EVHTP_DISABLE_REGEX:BOOL=ON $(PWD)/third_party/libevhtp

$(third_party_libevhtp_lib) : $(third_party_libevhtp_header)
	$(MAKE) -C $(third_party_libevhtp)

clean-libevhtp :
	rm -rf $(third_party_libevhtp)