build_test.mk 2.2 KB

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