-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathMakefile
39 lines (24 loc) · 1.7 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
all: benchmark unit
LIBABSEIL:=benchmarks/dependencies/abseil-cpp/build/absl/strings/libabsl_strings.a
LIBABSEIL_INCLUDE:=-Ibenchmarks/dependencies/abseil-cpp
LIBABSEIL_LIBS:=-Lbenchmarks/dependencies/abseil-cpp/build/absl/base -Lbenchmarks/dependencies/abseil-cpp/build/absl/strings -Lbenchmarks/dependencies/abseil-cpp/build/absl/numeric/ -labsl_strings -labsl_raw_logging_internal -labsl_throw_delegate -labsl_int128
LIBDOUBLE:=benchmarks/dependencies/double-conversion/libdouble-conversion.a
LIBDOUBLE_INCLUDE:=-Ibenchmarks/dependencies/double-conversion
LIBDOUBLE_LIBS:=-Lbenchmarks/dependencies/double-conversion -ldouble-conversion
headers:= include/fast_double_parser.h
benchmark: ./benchmarks/benchmark.cpp $(headers) $(LIBABSEIL) $(LIBDOUBLE) $(headers)
$(CXX) -O2 -std=c++14 -march=haswell -o benchmark ./benchmarks/benchmark.cpp -Wall -Iinclude $(LIBABSEIL_INCLUDE) $(LIBDOUBLE_INCLUDE) $(LIBDOUBLE_LIBS) $(LIBABSEIL_LIBS) -lm
unit: ./tests/unit.cpp $(headers)
$(CXX) -O2 -std=c++14 -march=native -o unit ./tests/unit.cpp -Wall -Iinclude
bench: benchmark
./benchmark
./benchmark benchmarks/data/canada.txt
submodules:
-git submodule update --init --recursive
-touch submodules
$(LIBABSEIL):submodules
rm -r -f benchmarks/dependencies/abseil-cpp/build && cd benchmarks/dependencies/abseil-cpp && mkdir build && cd build && cmake .. -DABSL_RUN_TESTS=OFF -DABSL_USE_GOOGLETEST_HEAD=OFF -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release && cmake --build . --target base && cmake --build . --target strings
$(LIBDOUBLE):submodules
cd benchmarks/dependencies/double-conversion && cmake . -DCMAKE_BUILD_TYPE=Release && make
clean:
rm -r -f benchmark unit benchmarks/dependencies/abseil-cpp/build