BIN_DIR=bin COMMON_LIB_DIR ?= ${PWD}/../lib LIB_DIR=lib OBJ_DIR=obj SRC_DIR=test SKETCH_FILE=$(wildcard *.ino) BIN_FILE=$(subst .ino,,$(SKETCH_FILE)) LIB_FILE=${BIN_FILE}-latest.a TEST_FILES=$(wildcard $(SRC_DIR)/*_test.cpp) TEST_OBJS=$(patsubst $(SRC_DIR)/%.cpp,${OBJ_DIR}/%.o,$(TEST_FILES)) run: ${BIN_DIR}/${BIN_FILE} @echo "run" "./${BIN_DIR}/${BIN_FILE}" -t -q ${BIN_DIR}/${BIN_FILE}: ${TEST_OBJS} FORCE @echo "link" mkdir -p "${BIN_DIR}" "${LIB_DIR}" env LIBONLY=yes LOCAL_CFLAGS='"-I$(PWD)"' OUTPUT_PATH="$(PWD)/$(LIB_DIR)" VERBOSE=1 $(MAKE) -f delegate.mk g++ -o "${BIN_DIR}/${BIN_FILE}" \ -lpthread \ -g \ -w \ ${TEST_OBJS} \ -L"${COMMON_LIB_DIR}" \ -lcommon \ "${LIB_DIR}/${LIB_FILE}" \ -L"$(PWD)/../googletest/lib" \ -lgtest \ -lgmock \ -lm \ -lXtst \ -lX11 ${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp @echo "compile $@" mkdir -p "${OBJ_DIR}" g++ -o "$@" -c \ -I${PWD}/../.. \ -I${PWD}/../../src \ -I${PWD}/../../../../../virtual/cores/arduino \ -I${PWD}/../../../Kaleidoscope-HIDAdaptor-KeyboardioHID/src \ -I${PWD}/../../../KeyboardioHID/src \ -I${PWD}/../../testing/googletest/googlemock/include \ -I${PWD}/../../testing/googletest/googletest/include \ -DARDUINO=10607 \ -DARDUINO_ARCH_VIRTUAL \ -DARDUINO_AVR_MODEL01 \ '-DKALEIDOSCOPE_HARDWARE_H="Kaleidoscope-Hardware-Model01.h"' \ -DKALEIDOSCOPE_VIRTUAL_BUILD=1 \ -DKEYBOARDIOHID_BUILD_WITHOUT_HID=1 \ -DUSBCON=dummy \ -DARDUINO_ARCH_AVR=1 \ '-DUSB_PRODUCT="Model 01"' \ $< clean: FORCE rm -rf "${BIN_DIR}" "${LIB_DIR}" "${OBJ_DIR}" .PHONY: FORCE