.PHONY: all bin clean \
check-env check-env-mk check-env-fragments check-env-make-defs \
run run-amd64 run-x86 run-arm
ifneq ($(strip $(BLIS_INSTALL_PATH)),)
LIB_PATH := $(BLIS_INSTALL_PATH)/lib
INC_PATH := $(BLIS_INSTALL_PATH)/include/blis
SHARE_PATH := $(BLIS_INSTALL_PATH)/share/blis
else
DIST_PATH := ..
LIB_PATH = ../lib/$(CONFIG_NAME)
INC_PATH = ../include/$(CONFIG_NAME)
SHARE_PATH := ..
endif
-include $(SHARE_PATH)/common.mk
TEST_SRC_PATH := src
TEST_OBJ_PATH := obj
TEST_OBJS := $(sort $(patsubst $(TEST_SRC_PATH)/%.c, \
$(TEST_OBJ_PATH)/%.o, \
$(wildcard $(TEST_SRC_PATH)/*.c)))
CINCFLAGS := -I$(INC_PATH)
CFLAGS := $(call get-user-cflags-for,$(CONFIG_NAME))
CFLAGS += -I$(TEST_SRC_PATH)
TESTSUITE_BIN := test_libblis.x
all: check-env bin
bin: check-env $(TESTSUITE_BIN)
check-env: check-env-make-defs check-env-fragments check-env-config-mk
check-env-config-mk:
ifeq ($(CONFIG_MK_PRESENT),no)
$(error Cannot proceed: config.mk not detected! Run configure first)
endif
check-env-make-defs: check-env-fragments
ifeq ($(MAKE_DEFS_MK_PRESENT),no)
$(error Cannot proceed: make_defs.mk not detected! Invalid configuration)
endif
$(TEST_OBJ_PATH)/%.o: $(TEST_SRC_PATH)/%.c $(LIBBLIS_LINK)
ifeq ($(ENABLE_VERBOSE),yes)
$(CC) $(CFLAGS) -c $< -o $@
else
@echo "Compiling $@"
@$(CC) $(CFLAGS) -c $< -o $@
endif
$(TESTSUITE_BIN): $(TEST_OBJS) $(LIBBLIS_LINK)
ifeq ($(ENABLE_VERBOSE),yes)
$(LINKER) $(TEST_OBJS) $(LIBBLIS_LINK) $(LDFLAGS) -o $@
else
@echo "Linking $@ against '$(LIBBLIS_LINK) $(LDFLAGS)'"
@$(LINKER) $(TEST_OBJS) $(LIBBLIS_LINK) $(LDFLAGS) -o $@
endif
run: $(TESTSUITE_BIN)
ifeq ($(ENABLE_VERBOSE),yes)
./$(TESTSUITE_BIN) > $(TESTSUITE_OUT_FILE)
else
@echo "Running $(TESTSUITE_BIN) with output redirected to '$(TESTSUITE_OUT_FILE)'"
@./$(TESTSUITE_BIN) > $(TESTSUITE_OUT_FILE)
endif
run-fast: $(TESTSUITE_BIN)
ifeq ($(ENABLE_VERBOSE),yes)
./$(TESTSUITE_BIN) -g $(TESTSUITE_FAST_GEN) -o $(TESTSUITE_FAST_OPS) > $(TESTSUITE_OUT_FILE)
else
@echo "Running $(TESTSUITE_BIN) (fast) with output redirected to '$(TESTSUITE_OUT_FILE)'"
@./$(TESTSUITE_BIN) -g $(TESTSUITE_FAST_GEN) -o $(TESTSUITE_FAST_OPS) > $(TESTSUITE_OUT_FILE)
endif
check: run
ifeq ($(ENABLE_VERBOSE),yes)
- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
else
@- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
endif
check-fast: run-fast
ifeq ($(ENABLE_VERBOSE),yes)
- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
else
@- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
endif
clean:
- $(RM_F) $(TEST_OBJS) $(TESTSUITE_BIN)