build_test.mk 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. ifndef VERBOSE
  2. .SILENT:
  3. endif
  4. .DEFAULT_GOAL := all
  5. TOP_DIR ?= .
  6. include $(TOP_DIR)/common.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. googletest/src/gtest_main.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. all: elf
  29. VPATH += $(COMMON_VPATH)
  30. PLATFORM:=TEST
  31. ifneq ($(filter $(FULL_TESTS),$(TEST)),)
  32. include $(TOP_DIR)/tests/$(TEST)/rules.mk
  33. endif
  34. include $(TOP_DIR)/common_features.mk
  35. include $(TMK_PATH)/common.mk
  36. include $(QUANTUM_PATH)/serial_link/tests/rules.mk
  37. ifneq ($(filter $(FULL_TESTS),$(TEST)),)
  38. include $(TOP_DIR)/build_full_test.mk
  39. endif
  40. $(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
  41. $(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
  42. $(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)
  43. $(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG)
  44. include $(TMK_PATH)/native.mk
  45. include $(TMK_PATH)/rules.mk
  46. $(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
  47. $(shell mkdir -p $(TEST_OBJ) 2>/dev/null)