build_test.mk 1.8 KB

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