qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

build_test.mk (2377B)


      1 ifndef VERBOSE
      2 .SILENT:
      3 endif
      4 
      5 .DEFAULT_GOAL := all
      6 
      7 OPT = g
      8 
      9 include paths.mk
     10 include $(BUILDDEFS_PATH)/support.mk
     11 include $(BUILDDEFS_PATH)/message.mk
     12 
     13 TARGET=test/$(TEST_OUTPUT)
     14 
     15 GTEST_OUTPUT = $(BUILD_DIR)/gtest
     16 
     17 TEST_OBJ = $(BUILD_DIR)/test_obj
     18 
     19 OUTPUTS := $(TEST_OBJ)/$(TEST_OUTPUT) $(GTEST_OUTPUT)
     20 
     21 GTEST_INC := \
     22 	$(LIB_PATH)/googletest/googletest/include \
     23 	$(LIB_PATH)/googletest/googlemock/include
     24 
     25 GTEST_INTERNAL_INC := \
     26 	$(LIB_PATH)/googletest/googletest \
     27 	$(LIB_PATH)/googletest/googlemock
     28 
     29 $(GTEST_OUTPUT)_SRC := \
     30 	googletest/src/gtest-all.cc\
     31 	googlemock/src/gmock-all.cc
     32 
     33 $(GTEST_OUTPUT)_DEFS :=
     34 $(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
     35 
     36 LDFLAGS += -lstdc++ -lpthread -shared-libgcc
     37 CREATE_MAP := no
     38 
     39 VPATH += \
     40 	$(LIB_PATH)/googletest \
     41 	$(LIB_PATH)/googlemock \
     42 	$(COMMON_VPATH) \
     43 	$(TEST_PATH)
     44 
     45 all: elf
     46 
     47 PLATFORM:=TEST
     48 PLATFORM_KEY:=test
     49 BOOTLOADER_TYPE:=none
     50 
     51 DEBUG ?= 0
     52 ifneq ($(strip $(DEBUG)), 0)
     53 CONSOLE_ENABLE = yes
     54 endif
     55 
     56 ifneq ($(filter $(FULL_TESTS),$(TEST)),)
     57 include tests/test_common/build.mk
     58 include $(TEST_PATH)/test.mk
     59 endif
     60 
     61 include $(BUILDDEFS_PATH)/common_features.mk
     62 include $(BUILDDEFS_PATH)/generic_features.mk
     63 include $(PLATFORM_PATH)/common.mk
     64 include $(TMK_PATH)/protocol.mk
     65 include $(QUANTUM_PATH)/battery/tests/rules.mk
     66 include $(QUANTUM_PATH)/debounce/tests/rules.mk
     67 include $(QUANTUM_PATH)/encoder/tests/rules.mk
     68 include $(QUANTUM_PATH)/os_detection/tests/rules.mk
     69 include $(QUANTUM_PATH)/sequencer/tests/rules.mk
     70 include $(QUANTUM_PATH)/wear_leveling/tests/rules.mk
     71 include $(QUANTUM_PATH)/logging/print.mk
     72 include $(PLATFORM_PATH)/test/rules.mk
     73 ifneq ($(filter $(FULL_TESTS),$(TEST)),)
     74 include $(BUILDDEFS_PATH)/build_full_test.mk
     75 endif
     76 
     77 $(TEST_OUTPUT)_SRC += \
     78 	tests/test_common/main.cpp \
     79 	$(QUANTUM_PATH)/logging/print.c
     80 
     81 ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),)
     82 $(TEST_OUTPUT)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\"
     83 endif
     84 
     85 $(TEST_OBJ)/$(TEST_OUTPUT)_SRC := $($(TEST_OUTPUT)_SRC)
     86 $(TEST_OBJ)/$(TEST_OUTPUT)_INC := $($(TEST_OUTPUT)_INC) $(VPATH) $(GTEST_INC)
     87 $(TEST_OBJ)/$(TEST_OUTPUT)_DEFS := $($(TEST_OUTPUT)_DEFS)
     88 $(TEST_OBJ)/$(TEST_OUTPUT)_CONFIG := $($(TEST_OUTPUT)_CONFIG)
     89 
     90 include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk
     91 include $(BUILDDEFS_PATH)/common_rules.mk
     92 
     93 
     94 $(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
     95 $(shell mkdir -p $(TEST_OBJ) 2>/dev/null)