]> git.donarmstrong.com Git - qmk_firmware.git/blob - build_test.mk
More common settings for unit tests and keyboards
[qmk_firmware.git] / build_test.mk
1 ifndef VERBOSE
2 .SILENT:
3 endif
4
5 .DEFAULT_GOAL := all
6
7 include common.mk
8
9 TARGET=test/$(TEST)
10
11 GTEST_OUTPUT = $(BUILD_DIR)/gtest
12
13 TEST_OBJ = $(BUILD_DIR)/test_obj
14
15 OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT)
16
17 GTEST_INC := \
18         $(LIB_PATH)/googletest/googletest/include\
19         $(LIB_PATH)/googletest/googlemock/include\
20         
21 GTEST_INTERNAL_INC :=\
22         $(LIB_PATH)/googletest/googletest\
23         $(LIB_PATH)/googletest/googlemock
24
25 $(GTEST_OUTPUT)_SRC :=\
26         googletest/src/gtest-all.cc\
27         googletest/src/gtest_main.cc\
28         googlemock/src/gmock-all.cc
29
30 $(GTEST_OUTPUT)_DEFS := 
31 $(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
32
33 LDFLAGS += -lstdc++ -lpthread -shared-libgcc
34
35 VPATH +=\
36         $(LIB_PATH)/googletest\
37         $(LIB_PATH)/googlemock
38
39 all: elf
40
41 VPATH += $(COMMON_VPATH)
42
43 include $(TMK_PATH)/common.mk
44 include $(QUANTUM_PATH)/serial_link/tests/rules.mk
45
46 $(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
47 $(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
48 $(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)
49
50 include $(TMK_PATH)/native.mk
51 include $(TMK_PATH)/rules.mk
52
53
54 $(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
55 $(shell mkdir -p $(TEST_OBJ) 2>/dev/null)
56