ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/makeall
Revision: 1.8
Committed: Thu Jul 17 15:31:26 2003 UTC (20 years, 8 months ago) by greg
Branch: MAIN
Changes since 1.7: +2 -4 lines
Log Message:
Added installation of source *.cal files to "makeall library"

File Contents

# Content
1 #!/bin/csh -f
2 # RCSid $Id: makeall,v 1.7 2003/07/12 08:38:44 schorsch Exp $
3 #
4 # Make all the Radiance programs
5 #
6 if ( $#argv < 1 ) then
7 echo "Usage: makeall install [clean] [make options]"
8 echo " or: makeall clean"
9 echo " or: makeall library"
10 exit 1
11 endif
12 if ( "$1" == library ) then
13 source installib
14 cp -f src/*/*.{cal,tab,hex} $ldir
15 echo ""
16 echo "Set the environment variable RAYPATH=.:$ldir"
17 echo 'For C-shell users, put the following into ~/.cshrc'
18 echo " setenv RAYPATH .:$ldir"
19 echo 'For Bourne shell users, put the following into $HOME/profile'
20 echo " RAYPATH=.:$ldir"
21 echo " export RAYPATH"
22 echo ""
23 exit 0
24 endif
25 set srcdirs=( common meta cv gen ot rt px hd util cal )
26 if ( "$1" == install ) then
27 cat << _EOF_
28
29 `cat src/rt/VERSION` INSTALLATION
30
31 This script rebuilds all of the Radiance programs and installs
32 them on your system. You should read the file README before running
33 this script. You can type ^C (followed by return) at any time to abort.
34
35 You must first answer the following questions.
36
37 _EOF_
38 if ( ! $?EDITOR ) then
39 echo -n "What is your preferred editor [vi]? "
40 set ans="$<"
41 if ( "$ans" != "" ) then
42 setenv EDITOR "$ans"
43 else
44 setenv EDITOR vi
45 endif
46 endif
47 again1:
48 echo -n "Where do you want the executables [/usr/local/bin]? "
49 set idir=$<
50 (echo $idir) >/dev/null
51 if ( $status ) then
52 goto again1
53 endif
54 set idir=$idir
55 if ( "$idir" == "" ) then
56 set idir=/usr/local/bin
57 else if ( "$idir" !~ /* ) then
58 echo "Directory must be relative to root, please reenter"
59 goto again1
60 endif
61 if ( ! -d $idir ) then
62 mkdir $idir
63 if ( $status ) then
64 echo "Cannot create directory, please reenter"
65 goto again1
66 endif
67 endif
68 if ( ! -d $idir/dev ) then
69 mkdir $idir/dev
70 if ( $status ) then
71 echo "Cannot create subdirectory, please reenter"
72 goto again1
73 endif
74 endif
75 set rmake=$idir/rmake
76 if ( "`ls -tL $rmake $0 |& head -1`" == $rmake ) then
77 goto gotrmake
78 endif
79 set newrmake
80 goto skiplicense
81 cat << _EOF_
82
83 RADIANCE LICENSE AGREEMENT
84
85 Radiance is a registered copyright of The Regents of the University of
86 California ("The Regents"). The Regents grant to you a nonexclusive,
87 nontransferable license ("License") to use Radiance source code without
88 fee. You may not sell or distribute Radiance to others without the
89 prior express written permission of The Regents. You may compile and
90 use this software on any machines to which you have personal access,
91 and may share its use with others who have access to the same machines.
92
93 NEITHER THE UNITED STATES NOR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY
94 OF THEIR EMPLOYEES, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY
95 LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS
96 OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS
97 THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. By downloading, using
98 or copying this software, you agree to abide by the intellectual property laws
99 and all other applicable laws of the United States, and by the terms of this
100 License Agreement. Ownership of the software shall remain solely in The
101 Regents. The Regents shall have the right to terminate this License
102 immediately by written notice upon your breach of, or noncompliance with, any
103 of its terms. You shall be liable for any infringement or damages resulting
104 from your failure to abide by the terms of this License Agreement.
105
106 _EOF_
107 echo -n "Do you understand and accept the terms of this agreement [n]? "
108 set ans="$<"
109 if ( "$ans" !~ [yY]* ) exit
110 echo -n "Are you a new Radiance user or with a new address [y]? "
111 set ans="$<"
112 if ( "$ans" !~ [nN]* ) then
113 csh -f newuser
114 else
115 echo `cat src/rt/VERSION` compiled by `whoami` | mail [email protected]
116 endif
117 skiplicense:
118 set special=
119 set arch=
120 set opt=
121 set mach=
122 set compat=
123 set extras=
124 cat << _EOF_
125
126 Please select your system type from the following list:
127
128 1) Sun Solaris
129 2) HP workstation
130 3) Silicon Graphics
131 4) AIX (RS/6000)
132 5) BSDI BSD/386
133 6) Linux
134 7) MacOS X
135 8) FreeBSD
136 9) Other
137
138 _EOF_
139 echo -n "Choice? "
140 set arch="$<"
141 switch ("$arch")
142 case 1: # SPARC Station
143 set arch=sun
144 set mach="-I/usr/openwin/include -L/usr/openwin/lib -DNOSTEREO"
145 set opt="-O -DSPEED=80"
146 set compat="bmalloc.o strcmp.o getpagesize.o"
147 breaksw
148 case 2: # HP workstation
149 set mach=""
150 set opt="-O -DSPEED=80 -Aa -D_HPUX_SOURCE"
151 set compat="bmalloc.o getpagesize.o strcmp.o"
152 set arch=hpux
153 breaksw
154 case 3: # Silicon Graphics
155 set arch=sgi
156 switch (`uname -r`)
157 case 3.*:
158 set mach="-noprototypes"
159 set opt="-O -DSPEED=80"
160 set special="sgi"
161 set compat="malloc.o strcmp.o"
162 breaksw
163 case 4.*:
164 set mach=""
165 set opt="-O2 -DSPEED=100"
166 set compat="malloc.o strcmp.o"
167 set extras='"MLIB=-lfastm -lm"'
168 breaksw
169 default: # 5.x or later
170 ln -s `which wish` $idir/wish4.0
171 set path=($idir $path)
172 set mach="-w"
173 set opt="-O2 -DSPEED=200"
174 set special="ogl"
175 set compat="bmalloc.o strcmp.o"
176 breaksw
177 endsw
178 breaksw
179 case 4: # AIX
180 set opt="-O"
181 set compat="bmalloc.o erf.o strcmp.o"
182 set arch=PowerPC
183 breaksw
184 case 5: # BSDI BSD/386
185 set mach="-DBSD -L/usr/X11/lib -I/usr/X11/include"
186 set opt="-O -DSPEED=100"
187 set arch=IBMPC
188 set compat="malloc.o erf.o strcmp.o"
189 breaksw
190 case 6: # Linux
191 set mach="-Dlinux -D_FILE_OFFSET_BITS=64 -L/usr/X11R6/lib -I/usr/include/X11 -DNOSTEREO"
192 set opt="-O2 -DSPEED=200"
193 set arch=IBMPC
194 set compat="bmalloc.o erf.o getpagesize.o"
195 set extras=CC=gcc
196 breaksw
197 case 7: # MacOS X
198 set mach="-DBSD -DNOSTEREO -Dfreebsd -I/usr/X11R6/include -L/usr/X11R6/lib"
199 set opt="-O2 -DSPEED=200"
200 set arch=PowerPC
201 set compat="bmalloc.o"
202 set extras="CC=cc CONFIGURE_ARCH=powerpc"
203 set special="ogl"
204 breaksw
205 case 8: # FreeBSD
206 set mach="-DBSD -DNOSTEREO -Dfreebsd -I/usr/X11R6/include -L/usr/X11R6/lib"
207 set opt="-O -DSPEED=200"
208 set compat="bmalloc.o erf.o"
209 set extras="CC=cc"
210 set arch=IBMPC
211 breaksw
212 case 9: # Other
213 set opt="-O"
214 set compat="bmalloc.o erf.o strcmp.o"
215 echo -n "Are you using the GNU C compiler [n]? "
216 if ( "$<" =~ [yY]* ) then
217 set extras="CC=gcc"
218 endif
219 set arch=other
220 breaksw
221 default:
222 echo "Illegal choice\!"
223 echo "Installation aborted."
224 exit 1
225 breaksw
226 endsw
227 source installib
228 sed 's/[ ]*$//' > $rmake << _EOF_
229 #!/bin/sh
230 exec make "SPECIAL=$special" \
231 "OPT=$opt" \
232 "MACH=$mach" \
233 ARCH=$arch "COMPAT=$compat" \
234 INSTDIR=$idir \
235 LIBDIR=$ldir \
236 $extras "\$@" -f Rmakefile
237 _EOF_
238 chmod 755 $rmake
239 chmod 644 src/*/Rmakefile src/rt/devtable.c
240 gotrmake:
241 echo "Current rmake command is:"
242 cat $rmake
243 echo -n "Do you want to change it? "
244 set ans="$<"
245 if ( "$ans" =~ [yY]* ) then
246 cp $rmake /tmp/rmake$$
247 $EDITOR $rmake
248 if ( `cat $rmake /tmp/rmake$$ | grep OPT= | uniq | wc -l` == 2 ) set newrmake
249 rm -f /tmp/rmake$$
250 endif
251 if ( ! -d src/lib ) then
252 mkdir src/lib
253 endif
254 if ( $?newrmake ) then
255 echo 'New rmake command -- running "makeall clean"...'
256 csh -f $0 clean
257 endif
258 cd src
259 echo "Making programs..."
260 set errs=0
261 foreach i ( $srcdirs )
262 pushd $i
263 echo "In directory $i..."
264 $rmake -k $*
265 @ errs += $status
266 popd
267 end
268 if ( $errs ) then
269 echo "There were some errors."
270 else
271 echo "Done."
272 endif
273 cd ..
274 if (! -d /usr/tmp) then
275 ln -s /tmp /usr/tmp
276 if ($status) then
277 echo ""
278 echo "IMPORTANT: Execute 'sudo ln -s /tmp /usr/tmp'"
279 echo ""
280 endif
281 endif
282 else
283 cd src
284 foreach i ( $srcdirs )
285 pushd $i
286 echo "In directory $i..."
287 make -f Rmakefile $*
288 popd
289 end
290 echo "Done."
291 cd ..
292 endif
293 foreach i ( $* )
294 if ( "$i" == clean ) then
295 echo "Removing library archives..."
296 rm -f src/lib/*.[ao]
297 endif
298 end
299 exit 0