FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Atlas/compile at master · ljgithub2016/Atlas · GitHub
ljgithub2016
/
Atlas
Public
forked from
Qihoo360/Atlas
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
Atlas
/
compile
Copy path
More file actions
More file actions
Latest commit
History
History
History
142 lines (125 loc) · 3.62 KB
Breadcrumbs
Atlas
/
compile
Copy path
File metadata and controls
142 lines (125 loc) · 3.62 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
130
131
132
133
134
135
136
137
138
139
140
141
142
#!
/bin/sh
#
Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-05-14.22
#
Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
#
Written by Tom Tromey <tromey@cygnus.com>.
#
#
This program is free software; you can redistribute it and/or modify
#
it under the terms of the GNU General Public License as published by
#
the Free Software Foundation; either version 2, or (at your option)
#
any later version.
#
#
This program is distributed in the hope that it will be useful,
#
but WITHOUT ANY WARRANTY; without even the implied warranty of
#
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#
GNU General Public License for more details.
#
#
You should have received a copy of the GNU General Public License
#
along with this program; if not, write to the Free Software
#
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
As a special exception to the GNU General Public License, if you
#
distribute this file as part of a program that contains a
#
configuration script generated by Autoconf, you may include it under
#
the same distribution terms that you use for the rest of that program.
#
This file is maintained in Automake, please report
#
bugs to <bug-automake@gnu.org> or send patches to
#
<automake-patches@gnu.org>.
case
$1
in
'
'
)
echo
"
$0
: No command. Try
\`
$0
--help' for more information.
"
1>&2
exit
1
;
;;
-h | --h
*
)
cat
<<
\
EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand
`
-c -o
'
.
Remove `-o dest.o
'
from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file
`
INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit
$?
;;
-v | --v
*
)
echo
"
compile
$scriptversion
"
exit
$?
;;
esac
ofile=
cfile=
eat=
for
arg
do
if
test
-n
"
$eat
"
;
then
eat=
else
case
$1
in
-o)
#
configure might choose to run compile as `compile cc -o foo foo.c'.
#
So we strip `-o arg' only if arg is an object.
eat=1
case
$2
in
*
.o |
*
.obj)
ofile=
$2
;;
*
)
set
x
"
$@
"
-o
"
$2
"
shift
;;
esac
;;
*
.c)
cfile=
$1
set
x
"
$@
"
"
$1
"
shift
;;
*
)
set
x
"
$@
"
"
$1
"
shift
;;
esac
fi
shift
done
if
test
-z
"
$ofile
"
||
test
-z
"
$cfile
"
;
then
#
If no `-o' option was seen then we might have been invoked from a
#
pattern rule where we don't need one. That is ok -- this is a
#
normal compilation that the losing compiler can handle. If no
#
`.c' file was seen then we are probably linking. That is also
#
ok.
exec
"
$@
"
fi
#
Name of file we expect compiler to create.
cofile=
`
echo
"
$cfile
"
|
sed -e
'
s|^.*/||
'
-e
'
s/\.c$/.o/
'
`
#
Create the lock directory.
#
Note: use `[/.-]' here to ensure that we don't use the same name
#
that we are using for the .o file. Also, base the name on the expected
#
object file name, since that is what matters with a parallel build.
lockdir=
`
echo
"
$cofile
"
|
sed -e
'
s|[/.-]|_|g
'
`
.d
while
true
;
do
if
mkdir
"
$lockdir
"
>
/dev/null
2>&1
;
then
break
fi
sleep 1
done
#
FIXME: race condition here if user kills between mkdir and trap.
trap
"
rmdir '
$lockdir
'; exit 1
"
1 2 15
#
Run the compile.
"
$@
"
ret=
$?
if
test
-f
"
$cofile
"
;
then
mv
"
$cofile
"
"
$ofile
"
elif
test
-f
"
${cofile}
bj
"
;
then
mv
"
${cofile}
bj
"
"
$ofile
"
fi
rmdir
"
$lockdir
"
exit
$ret
#
Local Variables:
#
mode: shell-script
#
sh-indentation: 2
#
eval: (add-hook 'write-file-hooks 'time-stamp)
#
time-stamp-start: "scriptversion="
#
time-stamp-format: "%:y-%02m-%02d.%02H"
#
time-stamp-end: "$"
#
End:
Back
|
FazBrowse Home
|
New Git URL