-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMAKE.sh
More file actions
78 lines (58 loc) · 1.88 KB
/
MAKE.sh
File metadata and controls
78 lines (58 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
SOURCE_DIRECTORY="source"
BUILD_DIRECTORY='build'
function log(){
echo "[${1}] [$(date +"%Y-%m-%dT%H:%M:%SZ")] ${2}"
}
function logInfo (){
log '.' "${1}"
}
function logError (){
log '-' "${1}"
}
function logSuccess (){
log '+' "${1}"
}
function printHelp (){
logInfo 'Usage: ./MAKE [OPTION]'
logInfo 'Options:'
logInfo " dev - build a version for devopment purposes"
logInfo " build - build a optimaised version"
}
function commandDev (){
logInfo 'Executing:'
logInfo "g++ ${SOURCE_DIRECTORY}/**/*.cpp -g --std=c++17 -lrt -lpthread -lcurl -ljsoncpp -W -Wall -Wextra -pedantic"
startTime=$(date +%s)
g++ $(find ${SOURCE_DIRECTORY} -type f -name '*.cpp' | tr '\n' ' ') -g --std=c++17 -lrt -lpthread -lcurl -ljsoncpp -W -Wall -Wextra -pedantic
[ $? -eq 0 ] && logSuccess 'build was successful' || logError 'build failed'
endTime=$(date +%s)
logInfo "took $(expr $endTime - $startTime) secs"
}
function commandBuild (){
#if [ ! -d ${BUILD_DIRECTORY} ]; then
# logInfo "Making build directory (${BUILD_DIRECTORY})"
# mkdir ${BUILD_DIRECTORY}
#fi
logInfo 'Executing:'
logInfo "g++ ${SOURCE_DIRECTORY}/**/*.cpp -o LogExporter.exe --std=c++17 -O3 -lrt -lpthread -lcurl -ljsoncpp -W -Wall -Wextra -pedantic"
startTime=$(date +%s)
g++ $(find ${SOURCE_DIRECTORY} -type f -name '*.cpp' | tr '\n' ' ') -o 'LogExporter.exe' --std=c++17 -O3 -lrt -lpthread -lcurl -ljsoncpp -W -Wall -Wextra -pedantic
[ $? -eq 0 ] && logSuccess 'build was successful' || logError 'build failed'
endTime=$(date +%s)
logInfo "took $(expr $endTime - $startTime) secs"
}
# ~~~ Main ~~~
if [ $# -lt 1 ]; then
printHelp
exit 1
fi
case $1 in
"dev" | "DEV")
commandDev
;;
"build" | "BUILD")
commandBuild
;;
*)
printHelp
esac