forked from CIDCO-dev/MBES-lib
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
86 lines (71 loc) · 2.67 KB
/
Copy pathMakefile
File metadata and controls
86 lines (71 loc) · 2.67 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
CC=g++
OPTIONS=-Wall -std=c++11
INCLUDES=-I/usr/include/eigen3
VERSION=0.1.0
root=$(shell pwd)
exec_dir=build/bin
doc_dir=build/doc
test_exec_dir=build/test/bin
test_work_dir=build/test/work
test_result_dir=build/test-report
coverage_dir=build/coverage
coverage_exec_dir=build/coverage/bin
coverage_report_dir=build/coverage/report
default:
$(CC) $(OPTIONS) $(INCLUDES) -o $(exec_dir)/datagram-dump src/examples/datagram-dump.cpp
$(CC) $(OPTIONS) $(INCLUDES) -o $(exec_dir)/cidco-decoder src/examples/cidco-decoder.cpp
$(CC) $(OPTIONS) $(INCLUDES) -o $(exec_dir)/datagram-list src/examples/datagram-list.cpp
$(CC) $(OPTIONS) $(INCLUDES) -o $(exec_dir)/georeference src/examples/georeference.cpp
$(CC) $(OPTIONS) $(INCLUDES) -o $(exec_dir)/data-cleaning src/examples/data-cleaning.cpp
test: default
mkdir -p $(test_exec_dir)
$(CC) $(OPTIONS) $(INCLUDES) -o $(test_exec_dir)/tests test/main.cpp
mkdir -p $(test_result_dir)
mkdir -p $(test_work_dir)
cd $(test_work_dir)
$(root)/$(test_exec_dir)/tests -r junit -o $(test_result_dir)/mbes-lib-test-report.xml
test-quick: default
mkdir -p $(test_exec_dir)
$(CC) $(OPTIONS) $(INCLUDES) -o $(test_exec_dir)/tests test/main.cpp
mkdir -p $(test_result_dir)
mkdir -p $(test_work_dir)
cd $(test_work_dir)
$(root)/$(test_exec_dir)/tests || true
coverage: default
mkdir -p $(coverage_dir)
mkdir -p $(coverage_report_dir)
mkdir -p $(coverage_exec_dir)
cppcheck --xml --xml-version=2 --enable=all --inconclusive --language=c++ src 2> $(coverage_report_dir)/cppcheck.xml
$(CC) $(OPTIONS) $(INCLUDES) -fprofile-arcs -ftest-coverage -fPIC -O0 test/main.cpp -o $(coverage_exec_dir)/tests
$(root)/$(coverage_exec_dir)/tests || true
gcovr --branches -r $(root) --xml --xml-pretty -o $(coverage_report_dir)/gcovr-report.xml
gcovr --branches -r $(root) --html --html-details -o $(coverage_report_dir)/gcovr-report.html
doc:
rm -rf build/doxygen
mkdir -p build/doxygen
doxygen
mkdir -p $(doc_dir)
clean:
rm -rf build
rm *.txt || true
rm *.svp || true
datagram-list: default
./build/bin/datagram-list test/data/s7k/20141016_150519_FJ-Saucier.s7k|sort|uniq -c
coverage: default
mkdir -p $(coverage_dir)
$(CC) $(OPTIONS) $(INCLUDES) -o $(test_exec_dir)/testC -fprofile-arcs -ftest-coverage test/main.cpp
gcov main.gcno
mv *.gcov $(coverage_dir)
pcl-viewer: prepare
rm -rf build/tempCMake
mkdir -p build/tempCMake
cd build/tempCMake && cmake ../../src/examples/viewer/ && make && mv viewer ../bin/
rm -rf build/tempCMake
overlap: prepare
rm -rf build/tempCMake
mkdir -p build/tempCMake
cd build/tempCMake && cmake ../../src/examples/overlap/ && make && mv overlap ../bin/
rm -rf build/tempCMake
prepare:
mkdir -p $(exec_dir)
.PHONY: all test clean doc