forked from xmake-io/xmake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall
executable file
·129 lines (115 loc) · 2.43 KB
/
install
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/bash
# is debug?
debug=n
verbose=
#debug=y
#verbose=-v
# prefix
if [[ "$PATH" =~ "/usr/local/bin" ]]; then
prefix=/usr/local
else
prefix=/usr
fi
if [ $1 ]; then
prefix=$1
fi
echo installing to $prefix ...
# probe plat
uname=`uname`
if [ $uname = "MSVC" ]; then
plat=windows
elif [ $uname = "Darwin" ] || [ `uname | egrep -i darwin` ]; then
plat=macosx
elif [ $uname = "Linux" ] || [ `uname | egrep -i linux` ]; then
plat=linux
elif [ `uname | egrep -i msys` ]; then
plat=windows
elif [ `uname | egrep -i cygwin` ]; then
plat=windows
else
plat=linux
fi
echo plat: $plat
# probe arch
arch=i386
if [ $plat = "linux" ] || [ $plat = "macosx" ]; then
if [ `getconf LONG_BIT` = "64" ]; then
arch=x86_64
fi
fi
echo arch: $arch
# compile xmake-core
echo compiling xmake-core ...
cd ./core
if [ -f .config.mak ]; then
rm .config.mak
fi
make f DEBUG=$debug
if [ $? -ne 0 ]; then
exit;
fi
make c
make
if [ $? -ne 0 ]; then
make o
exit;
fi
make i
cd ..
# create the xmake install directory
xmake_dir_install=$prefix/share/xmake
if [ -d $xmake_dir_install ]; then
rm -rf $xmake_dir_install
fi
if [ ! -d $xmake_dir_install ]; then
mkdir -p $xmake_dir_install
fi
if [ $? -ne 0 ]; then
echo "create $xmake_dir_install failed!"
exit;
fi
# install the xmake core file
xmake_core=./core/bin/demo.pkg/bin/$plat/$arch/demo.b
xmake_core_install=$xmake_dir_install/xmake
cp $xmake_core $xmake_core_install
chmod 777 $xmake_core_install
if [ $? -ne 0 ]; then
echo "install xmake core failed!"
exit;
fi
# install the xmake directory
cp -r ./xmake/* $xmake_dir_install/
if [ $? -ne 0 ]; then
echo "install xmake directory failed!"
exit;
fi
# make the xmake loader
xmake_loader=/tmp/xmake_loader
echo "#!/bin/bash" > $xmake_loader
echo "export XMAKE_PROGRAM_DIR=$xmake_dir_install" >> $xmake_loader
echo "$xmake_core_install $verbose \"\$@\"" >> $xmake_loader
if [ $? -ne 0 ]; then
echo "make xmake loader failed!"
exit;
fi
# install the xmake loader
xmake_loader_install=$prefix/bin/xmake
if [ ! -d $prefix/bin ]; then
mkdir -p $prefix/bin
fi
mv $xmake_loader $xmake_loader_install
chmod 777 $xmake_loader_install
if [ $? -ne 0 ]; then
echo "install xmake loader failed!"
exit;
fi
# tip
if [[ ! "$PATH" =~ "$prefix/bin" ]]; then
echo 'please export PATH=$PATH:'"$prefix/bin"
fi
# remove xmake.out
if [[ -f "/tmp/xmake.out" ]]; then
rm /tmp/xmake.out
fi
# ok
echo ok!