mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-25 18:48:05 +06:00
d9bb189e25
mpaland printf implementation was abandoned in ~2019 and the fork by eyalroz is now regarded to be the goto replacement of it. So this commit incoporates the changes needed to use this fork in QMK. Note that pointer ptrdiff_t is always supported since commit 51c90f93a97fdaef895783ecbe24569be0db7cb8
88 lines
2.0 KiB
Makefile
88 lines
2.0 KiB
Makefile
ifndef VERBOSE
|
|
.SILENT:
|
|
endif
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
OPT = g
|
|
|
|
include paths.mk
|
|
include $(BUILDDEFS_PATH)/message.mk
|
|
|
|
TARGET=test/$(TEST)
|
|
|
|
GTEST_OUTPUT = $(BUILD_DIR)/gtest
|
|
|
|
TEST_OBJ = $(BUILD_DIR)/test_obj
|
|
|
|
OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT)
|
|
|
|
GTEST_INC := \
|
|
$(LIB_PATH)/googletest/googletest/include \
|
|
$(LIB_PATH)/googletest/googlemock/include
|
|
|
|
GTEST_INTERNAL_INC := \
|
|
$(LIB_PATH)/googletest/googletest \
|
|
$(LIB_PATH)/googletest/googlemock
|
|
|
|
$(GTEST_OUTPUT)_SRC := \
|
|
googletest/src/gtest-all.cc\
|
|
googlemock/src/gmock-all.cc
|
|
|
|
$(GTEST_OUTPUT)_DEFS :=
|
|
$(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
|
|
|
|
LDFLAGS += -lstdc++ -lpthread -shared-libgcc
|
|
CREATE_MAP := no
|
|
|
|
VPATH += \
|
|
$(LIB_PATH)/googletest \
|
|
$(LIB_PATH)/googlemock \
|
|
$(COMMON_VPATH) \
|
|
$(TEST_PATH)
|
|
|
|
all: elf
|
|
|
|
PLATFORM:=TEST
|
|
PLATFORM_KEY:=test
|
|
BOOTLOADER_TYPE:=none
|
|
|
|
ifeq ($(strip $(DEBUG)), 1)
|
|
CONSOLE_ENABLE = yes
|
|
endif
|
|
|
|
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
|
|
include tests/test_common/build.mk
|
|
include $(TEST_PATH)/test.mk
|
|
endif
|
|
|
|
include $(BUILDDEFS_PATH)/common_features.mk
|
|
include $(BUILDDEFS_PATH)/generic_features.mk
|
|
include $(PLATFORM_PATH)/common.mk
|
|
include $(TMK_PATH)/protocol.mk
|
|
include $(QUANTUM_PATH)/debounce/tests/rules.mk
|
|
include $(QUANTUM_PATH)/encoder/tests/rules.mk
|
|
include $(QUANTUM_PATH)/sequencer/tests/rules.mk
|
|
include $(QUANTUM_PATH)/wear_leveling/tests/rules.mk
|
|
include $(QUANTUM_PATH)/logging/print.mk
|
|
include $(PLATFORM_PATH)/test/rules.mk
|
|
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
|
|
include $(BUILDDEFS_PATH)/build_full_test.mk
|
|
endif
|
|
|
|
$(TEST)_SRC += \
|
|
tests/test_common/main.c \
|
|
$(QUANTUM_PATH)/logging/print.c
|
|
|
|
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
|
|
$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
|
|
$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)
|
|
$(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG)
|
|
|
|
include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk
|
|
include $(BUILDDEFS_PATH)/common_rules.mk
|
|
|
|
|
|
$(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
|
|
$(shell mkdir -p $(TEST_OBJ) 2>/dev/null)
|