ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/makeall
Revision: 1.26
Committed: Tue Oct 25 22:53:14 2011 UTC (12 years, 5 months ago) by greg
Branch: MAIN
CVS Tags: rad4R1
Changes since 1.25: +2 -2 lines
Log Message:
Added files needed by cmake

File Contents

# Content
1 #!/bin/csh -f
2 # RCSid $Id: makeall,v 1.25 2010/11/29 17:22:44 greg 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 rt meta cv gen ot 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 inpath=0
76 foreach i ( $path )
77 if ( "$i" == "$idir" ) then
78 set inpath=1
79 break
80 endif
81 end
82 set rmake=$idir/rmake
83 if ( "`ls -tL $rmake $0 |& head -1`" == $rmake ) then
84 goto gotrmake
85 endif
86 set newrmake
87 more License.txt
88 echo -n "Do you understand and accept the terms of this agreement [n]? "
89 set ans="$<"
90 if ( "$ans" !~ [yY]* ) exit
91 set special=
92 set arch=
93 set opt=
94 set mach=
95 set compat=
96 set extras=
97 set esuffix=
98 cat << _EOF_
99
100 Please select your system type from the following list:
101
102 1) Sun Solaris
103 2) Linux
104 3) MacOS X
105 4) FreeBSD
106 5) Cygwin
107 6) Other
108
109 _EOF_
110 echo -n "Choice? "
111 set arch="$<"
112 switch ("$arch")
113 case 1: # SPARC Station
114 set arch=sun
115 set mach="-I/usr/openwin/include -L/usr/openwin/lib -DNOSTEREO"
116 set opt="-O"
117 set compat="strcmp.o timegm.o"
118 breaksw
119 case 2: # Linux
120 set mach="-Dlinux -D_FILE_OFFSET_BITS=64 -L/usr/X11R6/lib -I/usr/include/X11 -DNOSTEREO"
121 set opt="-O2"
122 set arch=IBMPC
123 set compat="erf.o"
124 set extras=CC=gcc
125 breaksw
126 case 3: # MacOS X
127 set mach="-DBSD -DNOSTEREO -Dfreebsd -I/usr/X11R6/include -L/usr/X11R6/lib"
128 set opt="-O2"
129 set arch=Intel
130 set extras="CC=cc CONFIGURE_ARCH=i386"
131 set special="ogl"
132 breaksw
133 case 4: # FreeBSD
134 set mach="-DBSD -DNOSTEREO -Dfreebsd -I/usr/X11R6/include -L/usr/X11R6/lib"
135 set opt="-O"
136 set compat="erf.o"
137 set extras='CC=cc MLIB="-lcompat -lm"'
138 set arch=IBMPC
139 breaksw
140 case 5: # Cygwin
141 set mach="-Dfreebsd -L/usr/lib -L/usr/X11R6/lib -I/usr/include/X11 -I/usr/X11R6/include -DNOSTEREO"
142 set opt="-O2"
143 set arch=IBMPC
144 set compat="erf.o"
145 set extras="CC=gcc"
146 set special="ogl"
147 set esuffix=".exe"
148 breaksw
149 case 6: # Other
150 set opt="-O"
151 set compat="erf.o strcmp.o"
152 echo -n "Are you using the GNU C compiler [n]? "
153 if ( "$<" =~ [yY]* ) then
154 set extras="CC=gcc"
155 else
156 set compat="$compat timegm.o"
157 endif
158 set arch=other
159 breaksw
160 default:
161 echo "Illegal choice\!"
162 echo "Installation aborted."
163 exit 1
164 breaksw
165 endsw
166 source installib
167 sed 's/[ ]*$//' > $rmake << _EOF_
168 #!/bin/sh
169 exec make "SPECIAL=$special" \
170 "OPT=$opt" \
171 "MACH=$mach" \
172 ARCH=$arch "COMPAT=$compat" \
173 INSTDIR=$idir \
174 LIBDIR=$ldir \
175 ESUFFIX=$esuffix \
176 $extras "\$@" -f Rmakefile
177 _EOF_
178 chmod 755 $rmake
179 chmod 644 src/*/Rmakefile src/rt/devtable.c
180 gotrmake:
181 echo "Current rmake command is:"
182 cat $rmake
183 echo -n "Do you want to change it? "
184 set ans="$<"
185 if ( "$ans" =~ [yY]* ) then
186 cp $rmake /tmp/rmake$$
187 $EDITOR $rmake
188 if ( `cat $rmake /tmp/rmake$$ | grep OPT= | uniq | wc -l` == 2 ) set newrmake
189 rm -f /tmp/rmake$$
190 endif
191 if ( ! -d src/lib ) then
192 mkdir src/lib
193 endif
194 if ( $?newrmake ) then
195 echo 'New rmake command -- running "makeall clean"...'
196 csh -f $0 clean
197 endif
198 cd src
199 echo "Making programs..."
200 set errs=0
201 foreach i ( $srcdirs )
202 pushd $i
203 echo "In directory $i..."
204 $rmake -k $*
205 @ errs += $status
206 popd
207 end
208 if ( $errs ) then
209 echo "There were some errors."
210 else
211 echo "Done."
212 endif
213 cd ..
214 if (! $inpath ) then
215 echo ""
216 echo "Add $idir to the beginning of your execution path:"
217 echo 'For C-shell users, put the following into ~/.cshrc'
218 echo " set path=( $idir "'$path )'
219 echo 'For Bourne shell users, put the following into $HOME/.profile'
220 echo " PATH=$idir"':$PATH'
221 echo " export PATH"
222 endif
223 else
224 cd src
225 foreach i ( $srcdirs )
226 pushd $i
227 echo "In directory $i..."
228 make -f Rmakefile $*
229 popd
230 end
231 cd ..
232 foreach i ( $* )
233 if ( "$i" == clean ) then
234 echo "Removing library archives..."
235 rm -f src/lib/*.{a,o,la}
236 endif
237 end
238 echo "Done."
239 endif
240 exit 0