build_test.mk 1.7 KB

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