43 lines
953 B
Makefile
Executable File
43 lines
953 B
Makefile
Executable File
CC ?= gcc
|
|
CFLAGS ?= -O2 -Wall -Wextra -std=gnu11
|
|
|
|
SRCS := $(sort $(wildcard test_*.c))
|
|
BIN_DIR ?= bin
|
|
BIN_NAMES := $(SRCS:.c=)
|
|
BINS := $(addprefix $(BIN_DIR)/,$(BIN_NAMES))
|
|
RUN_DIR ?= /tmp/zvfs-test
|
|
RUN_BINS ?= test_basic test_lseek test_dual_open_same_file test_two_files \
|
|
test_single_file_perf test_single_file_random_perf \
|
|
test_single_file_random_noaligned_perf test_write_file test_read_delete_file
|
|
|
|
.PHONY: all clean list run-test
|
|
|
|
all: $(BINS)
|
|
|
|
$(BIN_DIR):
|
|
mkdir -p $@
|
|
|
|
$(BIN_DIR)/%: %.c test_utils.h | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) -o $@ $<
|
|
|
|
list:
|
|
@printf "%s\n" $(BINS)
|
|
|
|
run-test: all
|
|
@mkdir -p $(RUN_DIR)
|
|
@pass=0; fail=0; \
|
|
for t in $(RUN_BINS); do \
|
|
printf "\n[RUN] %s\n" "$$t"; \
|
|
if ./$(BIN_DIR)/$$t $(RUN_DIR); then \
|
|
pass=$$((pass + 1)); \
|
|
else \
|
|
fail=$$((fail + 1)); \
|
|
fi; \
|
|
done; \
|
|
printf "\n=== run-test summary: PASS=%d FAIL=%d ===\n" $$pass $$fail; \
|
|
test $$fail -eq 0
|
|
|
|
clean:
|
|
$(RM) $(BINS)
|
|
-rmdir $(BIN_DIR)
|