Official mirror of https://gitlab.freedesktop.org/freetype/freetype
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.5 KiB
46 lines
1.5 KiB
# Variables |
|
FTBENCH_DIR = $(TOP_DIR)/src/tools/ftbench |
|
FTBENCH_SRC = $(FTBENCH_DIR)/ftbench.c |
|
FTBENCH_BIN = $(FTBENCH_DIR)/bench |
|
FTBENCH_FLAGS = $(shell pkg-config --cflags freetype2) -lfreetype |
|
FONTS = $(wildcard $(FTBENCH_DIR)/fonts/*.ttf) |
|
BASELINES = $(addprefix $(FTBENCH_DIR)/baselines/, $(notdir $(FONTS:.ttf=.txt))) |
|
BENCHMARKS = $(addprefix $(FTBENCH_DIR)/benchmarks/, $(notdir $(FONTS:.ttf=.txt))) |
|
PYTHON = python3 |
|
HTMLCREATOR = $(FTBENCH_DIR)/src/tohtml.py |
|
HTMLFILE = $(TOP_DIR)/benchmark.html |
|
|
|
# Create directories for baselines and benchmarks |
|
$(FTBENCH_DIR)/baselines/ $(FTBENCH_DIR)/benchmarks/: |
|
@mkdir -p $@ |
|
|
|
# Build ftbench |
|
$(FTBENCH_BIN): $(FTBENCH_SRC) |
|
@echo "Building ftbench..." |
|
@gcc $(FTBENCH_FLAGS) $< -o $@ |
|
|
|
# Create a baseline |
|
.PHONY: baseline |
|
baseline: $(FTBENCH_BIN) $(FTBENCH_DIR)/baselines/ |
|
@echo "Creating baseline..." |
|
@$(foreach font, $(FONTS), \ |
|
$(FTBENCH_BIN) $(font) > $(FTBENCH_DIR)/baselines/$(notdir $(font:.ttf=.txt)); \ |
|
) |
|
@echo "Baseline created." |
|
|
|
# Benchmark and compare to baseline |
|
.PHONY: benchmark |
|
benchmark: $(FTBENCH_BIN) $(FTBENCH_DIR)/benchmarks/ |
|
@echo "Creating benchmark..." |
|
@$(foreach font, $(FONTS), \ |
|
$(FTBENCH_BIN) $(font) > $(FTBENCH_DIR)/benchmarks/$(notdir $(font:.ttf=.txt)); \ |
|
) |
|
@$(PYTHON) $(HTMLCREATOR) > $(HTMLFILE) |
|
@echo "Benchmark created." |
|
|
|
.PHONY: clean-benchmark |
|
clean-benchmark: |
|
@echo "Cleaning..." |
|
@rm -f $(FTBENCH_BIN) |
|
@rm -rf $(FTBENCH_DIR)/baselines/ $(FTBENCH_DIR)/benchmarks/ $(HTMLFILE) |
|
@echo "Cleaned."
|
|
|