1
|
1
|
# Variables
|
2
|
2
|
FTBENCH_DIR = $(TOP_DIR)/src/tools/ftbench
|
3
|
3
|
FTBENCH_SRC = $(FTBENCH_DIR)/ftbench.c
|
4
|
|
-FTBENCH_BIN = $(FTBENCH_DIR)/bench
|
5
|
|
-FTBENCH_FLAGS = $(shell pkg-config --cflags freetype2) -lfreetype
|
|
4
|
+FTBENCH_BIN = $(OBJ_DIR)/bench.o
|
6
|
5
|
FONTS = $(wildcard $(FTBENCH_DIR)/fonts/*.ttf)
|
7
|
|
-BASELINES = $(addprefix $(FTBENCH_DIR)/baselines/, $(notdir $(FONTS:.ttf=.txt)))
|
8
|
|
-BENCHMARKS = $(addprefix $(FTBENCH_DIR)/benchmarks/, $(notdir $(FONTS:.ttf=.txt)))
|
9
|
|
-PYTHON = python3
|
|
6
|
+BASELINE = $(addprefix $(FTBENCH_DIR)/baseline/, $(notdir $(FONTS:.ttf=.txt)))
|
|
7
|
+BENCHMARK = $(addprefix $(FTBENCH_DIR)/benchmark/, $(notdir $(FONTS:.ttf=.txt)))
|
|
8
|
+BASELINE_DIR = $(FTBENCH_DIR)/baseline/
|
|
9
|
+BENCHMARK_DIR = $(FTBENCH_DIR)/benchmark/
|
10
|
10
|
HTMLCREATOR = $(FTBENCH_DIR)/src/tohtml.py
|
11
|
11
|
HTMLFILE = $(TOP_DIR)/benchmark.html
|
12
|
12
|
|
13
|
|
-# Create directories for baselines and benchmarks
|
14
|
|
-$(FTBENCH_DIR)/baselines/ $(FTBENCH_DIR)/benchmarks/:
|
|
13
|
+# Create directories for baseline and benchmark
|
|
14
|
+$(OBJ_DIR) $(BASELINE_DIR) $(BENCHMARK_DIR):
|
|
15
|
+ @echo "Creating directory..."
|
15
|
16
|
@mkdir -p $@
|
16
|
17
|
|
17
|
18
|
# Build ftbench
|
18
|
|
-$(FTBENCH_BIN): $(FTBENCH_SRC)
|
|
19
|
+$(FTBENCH_BIN): $(FTBENCH_SRC) | $(OBJ_DIR)
|
19
|
20
|
@echo "Building ftbench..."
|
20
|
|
- @gcc $(FTBENCH_FLAGS) $< -o $@
|
|
21
|
+ @$(CC) -I$(TOP_DIR)/include -lfreetype $< -o $@
|
21
|
22
|
|
22
|
23
|
# Create a baseline
|
23
|
24
|
.PHONY: baseline
|
24
|
|
-baseline: $(FTBENCH_BIN) $(FTBENCH_DIR)/baselines/
|
|
25
|
+baseline: $(FTBENCH_BIN) $(BASELINE_DIR)
|
25
|
26
|
@echo "Creating baseline..."
|
26
|
27
|
@$(foreach font, $(FONTS), \
|
27
|
|
- $(FTBENCH_BIN) $(font) > $(FTBENCH_DIR)/baselines/$(notdir $(font:.ttf=.txt)); \
|
|
28
|
+ $(FTBENCH_BIN) $(font) > $(BASELINE_DIR)$(notdir $(font:.ttf=.txt)); \
|
28
|
29
|
)
|
29
|
30
|
@echo "Baseline created."
|
30
|
31
|
|
31
|
32
|
# Benchmark and compare to baseline
|
32
|
33
|
.PHONY: benchmark
|
33
|
|
-benchmark: $(FTBENCH_BIN) $(FTBENCH_DIR)/benchmarks/
|
|
34
|
+benchmark: $(FTBENCH_BIN) $(BENCHMARK_DIR)
|
34
|
35
|
@echo "Creating benchmark..."
|
35
|
36
|
@$(foreach font, $(FONTS), \
|
36
|
|
- $(FTBENCH_BIN) $(font) > $(FTBENCH_DIR)/benchmarks/$(notdir $(font:.ttf=.txt)); \
|
|
37
|
+ $(FTBENCH_BIN) $(font) > $(BENCHMARK_DIR)$(notdir $(font:.ttf=.txt)); \
|
37
|
38
|
)
|
38
|
39
|
@$(PYTHON) $(HTMLCREATOR) > $(HTMLFILE)
|
39
|
40
|
@echo "Benchmark created."
|
... |
... |
@@ -41,6 +42,6 @@ benchmark: $(FTBENCH_BIN) $(FTBENCH_DIR)/benchmarks/ |
41
|
42
|
.PHONY: clean-benchmark
|
42
|
43
|
clean-benchmark:
|
43
|
44
|
@echo "Cleaning..."
|
44
|
|
- @rm -f $(FTBENCH_BIN)
|
45
|
|
- @rm -rf $(FTBENCH_DIR)/baselines/ $(FTBENCH_DIR)/benchmarks/ $(HTMLFILE)
|
|
45
|
+ @$(RM) $(FTBENCH_BIN)
|
|
46
|
+ @$(RM) -rf $(BASELINE_DIR) $(BENCHMARK_DIR) $(HTMLFILE)
|
46
|
47
|
@echo "Cleaned." |