Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
62 lines (41 loc) · 1.88 KB
/
Copy pathMakefile
File metadata and controls
62 lines (41 loc) · 1.88 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
57
58
59
60
61
FLAGS = -Wall -Wextra -I./include
TEST_FLAGS = $(FLAGS) # test-specific flags
ifeq ($(OS),Windows_NT)
GTEST_LIBS = -L/mingw64/lib -lgtest -lbcrypt
PLATFORM_LIBS = -lbcrypt
else
GTEST_LIBS = -pthread /usr/lib/x86_64-linux-gnu/libgtest.a /usr/lib/x86_64-linux-gnu/libgtest_main.a
PLATFORM_LIBS =
endif
build_all: clean build_test build_debug build_profile build_release build_speed_test
build_test:
docker-compose exec aes g++ $(FLAGS) -g -pthread ./src/aes.cpp ./src/aes_utils.cpp ./tests/tests.cpp /usr/lib/libgtest.a -o bin/test
build_debug:
docker-compose exec aes g++ $(FLAGS) -g -DAESCPP_DEBUG ./src/aes.cpp ./src/aes_utils.cpp ./dev/main.cpp -o bin/debug
build_profile:
docker-compose exec aes g++ $(FLAGS) -pg ./src/aes.cpp ./src/aes_utils.cpp ./dev/main.cpp -o bin/profile
build_speed_test:
docker-compose exec aes g++ $(FLAGS) -O2 ./src/aes.cpp ./src/aes_utils.cpp ./speedtest/main.cpp -o bin/speedtest
build_release:
docker-compose exec aes g++ $(FLAGS) -O2 ./src/aes.cpp ./src/aes_utils.cpp ./dev/main.cpp -o bin/release
test:
docker-compose exec aes bin/test
debug:
docker-compose exec aes bin/debug
profile:
docker-compose exec aes bin/profile
release:
docker-compose exec aes bin/release
speed_test:
docker-compose exec aes bin/speedtest
style_fix:
docker-compose exec aes bash -c "clang-format -i src/*.cpp include/aes_cpp/*.hpp tests/*.cpp"
clean:
@if command -v docker-compose >/dev/null 2>&1; then \
docker-compose exec aes rm -rf bin/*; \
else \
rm -rf bin/*; \
fi
workflow_build_test: ; g++ $(FLAGS) $(CXXFLAGS) -c ./src/aes.cpp -o bin/aes.o; g++ $(FLAGS) $(CXXFLAGS) -c ./src/aes_utils.cpp -o bin/aes_utils.o; g++ $(FLAGS) $(CXXFLAGS) $(TEST_FLAGS) -g bin/aes.o bin/aes_utils.o ./tests/tests.cpp $(GTEST_LIBS) -o bin/test
workflow_build_speed_test:
g++ $(FLAGS) $(CXXFLAGS) -O2 ./src/aes.cpp ./src/aes_utils.cpp ./speedtest/main.cpp $(PLATFORM_LIBS) -o bin/speedtest