-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
56 lines (42 loc) · 1.21 KB
/
Makefile
File metadata and controls
56 lines (42 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
PROJECT_ROOT := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
DEBUG_DIR := $(PROJECT_ROOT)/build/gcc-debug
RELEASE_DIR := $(PROJECT_ROOT)/build/gcc-release
DATA_DIR := $(PROJECT_ROOT)/data
SCRIPTS_DIR := $(PROJECT_ROOT)/scripts
default: gcc-debug
release: gcc-release
config: config-gcc-debug
gcc-%: config-gcc-%
bash $(SCRIPTS_DIR)/build.sh build $* gcc
config-gcc-%:
bash $(SCRIPTS_DIR)/build.sh config $* gcc
ln -sf $(DEBUG_DIR)/compile_commands.json .
clang-%: config-clang-%
bash $(SCRIPTS_DIR)/build.sh build $* clang
ln -sf $(PROJECT_ROOT)/build/clang-$*/compile_commands.json .
config-clang-%:
bash $(SCRIPTS_DIR)/build.sh config $* clang
.PHONY: run-tests
run-tests: gcc-debug
$(DEBUG_DIR)/all_tests
.PHONY: run-smoke
run-smoke: gcc-release
@echo "Running smoke tests"
PYTHONPATH=$(PROJECT_ROOT) python3 -m scripts.smoke \
--data-dir=$(DATA_DIR)
.PHONY: run-demo
run-demo: gcc-release
$(RELEASE_DIR)/matching_engine < $(DATA_DIR)/0/input.txt
.PHONY: build-docker
build-docker:
$(PROJECT_ROOT)/cr/start.sh build
.PHONY: run-docker
run-docker:
$(PROJECT_ROOT)/cr/start.sh run
.PHONY: run-jupyter
run-jupyter:
pixi run jupyter
.PHONY: clean
clean:
find scripts -type d -name "__pycache__"
rm -rf build