-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
59 lines (46 loc) · 1.44 KB
/
Makefile
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
57
58
59
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
FILTER:=--gtest_filter="*ignore_all*"
.PHONY: all
all: bin lib spdk | check_compiler
$(PUDDLES_MAKE) -C src
$(PUDDLES_MAKE) vendor
vendor/spdk/mk/config.mk:
(cd vendor/spdk && ./configure --with-shared )
.PHONY: spdk
spdk: vendor/spdk/mk/config.mk
(cd vendor/spdk && make -j20)
.PHONY: vendor
vendor:
$(PUDDLES_MAKE) -C vendor DD=$(ROOT_DIR)/bin/dclang \
DXX=$(ROOT_DIR)/bin/dclang++ \
DCLANG_LIBS_DIR="$(ROOT_DIR)/lib"
release:
$(PUDDLES_MAKE) all PUDDLES_CXXFLAGS="-DRELEASE" RELEASE=1
.PHONY: clean
clean: clean_src clean_vendor
@-rm -rf bin/ lib/
@-rm -f .so_deps
.PHONY: clean_src
clean_src:
$(PUDDLES_MAKE) -C src clean PERFORM_CHECKS=0
.PHONY: clean_vendor
clean_vendor:
$(PUDDLES_MAKE) -C vendor clean
bin:
@mkdir -p bin/
@mkdir -p bin/examples/
lib:
@mkdir -p lib/
.PHONY: tests
tests:
$(PUDDLES_MAKE) -C tests/
sudo NVSL_LOG_LEVEL=4 LD_LIBRARY_PATH=$(ROOT_DIR)vendor/spdk/dpdk/build/lib:$(ROOT_DIR)lib:$(LD_LIBRARY_PATH) tests/test.bin --gmock_verbose=info --gtest_stack_trace_depth=10 $(FILTER)
src/scripts/tests/run.sh
.PHONY: debug_tests
debug_tests:
$(PUDDLES_MAKE) -C tests/
sudo NVSL_LOG_LEVEL=4 LD_LIBRARY_PATH=$(ROOT_DIR)vendor/spdk/dpdk/build/lib:$(LD_LIBRARY_PATH) gdb --args tests/test.bin --gmock_verbose=info --gtest_stack_trace_depth=10 $(FILTER)
src/scripts/tests/run.sh
include src/common.make
include src/checks.make
include src/features.make