1
1
#! /bin/sh
2
- #
2
+ #
3
3
# Copyright (C) 2014 Neil McGill
4
4
#
5
5
# This software is free software; you can redistribute it and/or
@@ -24,7 +24,7 @@ cat Makefile.base | sed '/DO NOT DELETE/,$d' > Makefile.tmp
24
24
mv Makefile.tmp Makefile
25
25
makedepend * .cpp -p .o/ 2> /dev/null
26
26
27
- echo " COMPILER_FLAGS=-std=c++2a -Werror -g -ggdb3 # AUTOGEN" > .Makefile
27
+ echo " COMPILER_FLAGS=-std=c++2a -Werror -g -O3 -fstack-protector-all - ggdb3 # AUTOGEN" > .Makefile
28
28
echo " " >> .Makefile
29
29
echo " CLANG_COMPILER_WARNINGS=-Wall # AUTOGEN" >> .Makefile
30
30
echo " GCC_COMPILER_WARNINGS=-Wall # AUTOGEN" >> .Makefile
36
36
echo " COMPILER_WARNINGS=\$ (GCC_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
37
37
echo " COMPILER_WARNINGS=\$ (GXX_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
38
38
echo " COMPILER_WARNINGS=\$ (CLANG_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
39
- echo " CC =clang # AUTOGEN" >> .Makefile
40
- echo " # CC =gcc # AUTOGEN" >> .Makefile
41
- echo " # CC =cc # AUTOGEN" >> .Makefile
42
- echo " # CC =g++ # AUTOGEN" >> .Makefile
39
+ echo " CXX =clang # AUTOGEN" >> .Makefile
40
+ echo " # CXX =gcc # AUTOGEN" >> .Makefile
41
+ echo " # CXX =cc # AUTOGEN" >> .Makefile
42
+ echo " # CXX =g++ # AUTOGEN" >> .Makefile
43
43
else
44
44
` gcc --version > /dev/null 2> /dev/null`
45
45
if [ $? -eq 0 ]
46
46
then
47
47
echo " COMPILER_WARNINGS=\$ (CLANG_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
48
48
echo " COMPILER_WARNINGS=\$ (GXX_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
49
49
echo " COMPILER_WARNINGS=\$ (GCC_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
50
- echo " # CC =clang # AUTOGEN" >> .Makefile
51
- echo " CC =gcc # AUTOGEN" >> .Makefile
52
- echo " # CC =cc # AUTOGEN" >> .Makefile
53
- echo " # CC =g++ # AUTOGEN" >> .Makefile
50
+ echo " # CXX =clang # AUTOGEN" >> .Makefile
51
+ echo " CXX =gcc # AUTOGEN" >> .Makefile
52
+ echo " # CXX =cc # AUTOGEN" >> .Makefile
53
+ echo " # CXX =g++ # AUTOGEN" >> .Makefile
54
54
else
55
- ` g++ --version > /dev/null 2> /dev/null`
56
- if [ $? -eq 0 ]
57
- then
55
+ ` g++ --version > /dev/null 2> /dev/null`
56
+ if [ $? -eq 0 ]
57
+ then
58
58
echo " COMPILER_WARNINGS=\$ (CLANG_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
59
59
echo " COMPILER_WARNINGS=\$ (GCC_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
60
60
echo " COMPILER_WARNINGS=\$ (GXX_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
61
- echo " # CC =clang # AUTOGEN" >> .Makefile
62
- echo " # CC =gcc # AUTOGEN" >> .Makefile
63
- echo " # CC =cc # AUTOGEN" >> .Makefile
64
- echo " CC =g++ # AUTOGEN" >> .Makefile
65
- else
61
+ echo " # CXX =clang # AUTOGEN" >> .Makefile
62
+ echo " # CXX =gcc # AUTOGEN" >> .Makefile
63
+ echo " # CXX =cc # AUTOGEN" >> .Makefile
64
+ echo " CXX =g++ # AUTOGEN" >> .Makefile
65
+ else
66
66
echo " COMPILER_WARNINGS=\$ (CLANG_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
67
67
echo " COMPILER_WARNINGS=\$ (GXX_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
68
68
echo " COMPILER_WARNINGS=\$ (GCC_COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
69
- echo " # CC =clang # AUTOGEN" >> .Makefile
70
- echo " # CC =gcc # AUTOGEN" >> .Makefile
71
- echo " # CC =cc # AUTOGEN" >> .Makefile
72
- echo " CC =g++ # AUTOGEN" >> .Makefile
73
- fi
69
+ echo " # CXX =clang # AUTOGEN" >> .Makefile
70
+ echo " # CXX =gcc # AUTOGEN" >> .Makefile
71
+ echo " # CXX =cc # AUTOGEN" >> .Makefile
72
+ echo " CXX =g++ # AUTOGEN" >> .Makefile
73
+ fi
74
74
fi
75
75
fi
76
76
77
77
echo " " >> .Makefile
78
- echo " EXE=$EXE # AUTOGEN" >> .Makefile
79
- echo " LDLIBS=$LDLIBS # AUTOGEN" >> .Makefile
78
+ echo " LDLIBS+=-lstdc++ # AUTOGEN" >> .Makefile
80
79
echo " CXXFLAGS=\$ (COMPILER_FLAGS) \$ (COMPILER_WARNINGS) # AUTOGEN" >> .Makefile
81
80
82
81
cat Makefile | grep -v AUTOGEN | grep -v " ^ $" >> .Makefile
86
85
mv .Makefile Makefile
87
86
if [ ! -f Makefile ]
88
87
then
89
- log_err " No makefile?!"
90
- exit 1
88
+ log_err " No makefile?!"
89
+ exit 1
91
90
fi
92
- else
91
+ else
93
92
log_err " Makefile create fail?!"
94
93
exit 1
95
94
fi
96
95
97
96
log_info " Cleaning"
98
- make clobber | sed ' s/^/ /g'
97
+ make clobber
98
+ if [ $? -ne 0 ]; then
99
+ log_err " make clobber failed"
100
+ exit 1
101
+ fi
99
102
100
103
CORES=" "
101
104
102
105
case ` uname` in
103
106
* Darwin* )
104
- CORES=` /usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep Cores | sed ' s/.*: //g' `
107
+ CORES=` /usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep Cores | sed ' s/.*: //g' `
105
108
;;
106
109
107
110
* inux* )
108
- CORES=` cat /proc/cpuinfo | grep " cpu cores" | head -1 | awk ' {print $4}' `
111
+ CORES=` cat /proc/cpuinfo | grep " cpu cores" | head -1 | awk ' {print $4}' `
109
112
;;
110
113
esac
111
114
@@ -115,7 +118,11 @@ then
115
118
fi
116
119
117
120
log_info " Compiling"
118
- make $CORES $* all | sed ' s/^/ /g'
121
+ make $CORES $* all
122
+ if [ $? -ne 0 ]; then
123
+ log_err " make failed"
124
+ exit 1
125
+ fi
119
126
120
127
if [ $? -eq 0 ]
121
128
then
0 commit comments