Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / libafs / MakefileProto.IRIX.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3 #
4 # This software has been released under the terms of the IBM Public
5 # License. For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10 INSTALL = @INSTALL@
11 INSTALL_DATA = @INSTALL_DATA@
12 INSTALL_PROGRAM = @INSTALL_PROGRAM@
13 INSTALL_SCRIPT = @INSTALL_SCRIPT@
14
15
16 # OS specific object files:
17 AFS_OS_OBJS = \
18 base64.o \
19 osi_crypto.o \
20 osi_gcpags.o \
21 osi_groups.o \
22 osi_idbg.o \
23 osi_file.o \
24 osi_inode.o \
25 osi_misc.o \
26 osi_sleep.o \
27 osi_vcache.o \
28 osi_vm.o \
29 osi_vnodeops.o
30
31 AFS_OS_NFSOBJS = \
32 osi_vfsops_nfs.o
33
34 AFS_OS_NONFSOBJS = \
35 osi_vfsops.o
36
37
38 # System specific build commands and flags
39 DBUG=-g2
40 WSUPPRESS= -woff 1174,1196,1201,1209,1496,3201,3968
41
42
43 <sgi_62>
44 MPS=MP SP
45 <sgi_63>
46 MPS=SP
47 <sgi_64>
48 MPS=MP
49
50 <sgi_61>
51 # Turning off warnings regarding constant conditionals and not prototyped.
52 KDEFS=-D_K64U64 -D_KERNEL -DSTATIC=static -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE \
53 -DTFP -non_shared -elf -xansi -64 -mips4 -TENV:kernel \
54 -TENV:misalignment=1 -OPT:space \
55 -D${CPUBOARD} -D${MPSP} -D${CPUARCH} -DAFS_SGIMP_ENV ${NODYNOPT} \
56 -jalr ${WSUPPRESS}
57 <sgi_62>
58 # Turning off warnings regarding constant conditionals and not prototyped.
59 KDEFS_64BIT= -64 -D_K64U64 -D_PAGESZ=16384 -TENV:kernel -OPT:space \
60 -TENV:misalignment=1
61 R4000_LDFLAGS = -mips3 -64
62 R4000_KDEFS = -mips3 -DR4000_DADDIU_WAR -DFAST_LOCORE_TFAULT -DUSE_LGPAGES \
63 -DR4000 -DEVEREST -DBADVA_WAR -DMP_R4000_BADVA_WAR \
64 -DECC_RECOVER -DCLOCK_CTIME_IS_ABSOLUTE -D_SHAREII -D_HIBERNATORII \
65 -DPIOMEMOPS -DULI ${KDEFS_64BIT}
66 R8000_KDEFS = -mips4 -DTFP -DR8000 ${KDEFS_64BIT}
67 R8000_LDFLAGS = -mips4 -64
68 KDEFS= -I/usr/include -I/usr/include/sys -D_KERNEL -DSTATIC=static \
69 -D_MIPS3_ADDRSPACE -non_shared -elf -xansi \
70 ${CPU_KDEFS} \
71 -D${CPUBOARD} -D${MPSP} -DAFS_SGIMP_ENV ${NODYNOPT} \
72 -jalr ${WSUPPRESS}
73 R10000_KDEFS = -mips4 -DR10000 -DEXPRESS -DIP28 -DI2_64 -DFAST_LOCORE_FAULT \
74 -DSCACHE_SET_ASSOC=2 -D_NO_UNCACHED_MEM_WAR -DMIPS4_ISA \
75 -DR10000_SPECULATION_WAR \
76 -OPT:quad_align_branch_targets=FALSE \
77 -OPT:quad_align_with_memops=FALSE -OPT:unroll_times=0 \
78 -DDEFAULTSEMAMETER=1 ${KDEFS_64BIT}
79 R10000_LDFLAGS = -mips4 -64
80 R4000_32_LDFLAGS = -mips2 -o32
81 R4000_32_KDEFS = -mips2 -o32 -elf -DEXPRESS -D_K32U64 -xansi\
82 -D_PAGESZ=4096 -D_KERNEL \
83 -DSTATIC=static -DBADVA_WAR -DJUMP_WAR -DPROBE_WAR -D_MEM_PARITY_WAR \
84 -D_TLB_LOOP_LIMIT -DTLBMOD_BADVADDR_WAR -D_VCE_AVOIDANCE \
85 -D_R4600_CACHEOP_WAR -D_R4600_2_0_CACHEOP_WAR -D_IRIX5_MIPS3 \
86 -D_IRIX5_MIPS4 -D_R5000_BADVADDR_WAR -D_R5000_JUMP_WAR -DMIPS4_ISA \
87 -DR4000 -DR4000PC -DR4600 -DR4600SC -DTRITON -DTRITON_INDYSC \
88 -Wc,-pic0 -fullwarn -non_shared -nostdinc -Wf,-XNp12000 \
89 -woff 1685,515,608,658,799,803,835,852,1048,1233,1499,1501 \
90 -DDEFAULTSEMAMETER=1
91 <sgi_63>
92 # Turning off warnings regarding constant conditionals and not prototyped.
93 # NOTE: Only for R5000 at the moment.
94 KDEFS= -I/usr/include -I/usr/include/sys -D_KERNEL -DSTATIC=static \
95 -non_shared -elf -xansi \
96 ${CPU_KDEFS} \
97 -D${CPUBOARD} -D${MPSP} -DAFS_SGIMP_ENV ${NODYNOPT} \
98 -jalr ${WSUPPRESS}
99 R5000_LDFLAGS = -mips2 -o32
100 R5000_KDEFS = -DCRIME -DIP32 -DCRM -D_K32U64 -xansi -D_PAGESZ=4096 \
101 -D_KERNEL -DSTATIC=static -DPROBE_WAR -D_VCE_AVOIDANCE -DTILE_DATA \
102 -D_VCE_AVOIDANCE_DEBUG -D_R4600_CACHEOP_WAR -D_TLB_LOOP_LIMIT \
103 -D_R4600_2_0_CACHEOP_WAR -DP0_WAR -D_IRIX5_MIPS4 -D_IRIX5_MIPS3 \
104 -D_R5000_BADVADDR_WAR -DMIPS4_ISA -DSW_FAST_CACHE_SYNCH -DSWASH \
105 -D_R5000_CVT_WAR=1 -D_MTEXT_VFS -DR4000 -DR4000PC -DR4600 \
106 -DR4600SC -DTRITON -g -elf -mips2 -fullwarn -non_shared -nostdinc \
107 -mips2 -o32 -woff 1685,515,608,658,799,803,852,1048,1233,1499,1501 \
108 -Wf,-XNp12000 -DDEFAULTSEMAMETER=1
109 R10000_LDFLAGS = -mips2 -o32
110 R10000_KDEFS = -DCRIME -DIP32 -DCRM -D_K32U64 -xansi -D_K32U64 -D_PAGESZ=4096 \
111 -D_KERNEL -DSTATIC=static -D_VCE_AVOIDANCE -DTILE_DATA \
112 -DTLBMOD_BADVADDR_WAR -D_VCE_AVOIDANCE_DEBUG -D_TLB_LOOP_LIMIT \
113 -DP0_WAR -D_IRIX5_MIPS4 -D_IRIX5_MIPS3 -D_R5000_BADVADDR_WAR \
114 -DMIPS4_ISA -DSW_FAST_CACHE_SYNCH -DSWASH -DSCACHE_SET_ASSOC=2 \
115 -D_R5000_CVT_WAR=1 -D_MTEXT_VFS -DR10000_SPECULATION_WAR \
116 -DMH_R10000_SPECULATION_WAR -DSP -DIP32 -DR4000 -DR4000PC -DR4600 \
117 -DR4600SC -DTRITON -DR10000 -D_NO_R4000 -g -elf -mips2 -fullwarn \
118 -non_shared -nostdinc -mips2 -o32 \
119 -woff 1685,515,608,658,799,803,852,1048,1233,1499,1501 \
120 -Wf,-XNp12000 -DDEFAULTSEMAMETER=1
121 <sgi_64>
122 KDEFS= -I/usr/include -I/usr/include/sys -D_KERNEL -DSTATIC=static \
123 -non_shared -elf -xansi \
124 ${CPU_KDEFS} \
125 -D${CPUBOARD} -D${MPSP} -DAFS_SGIMP_ENV ${NODYNOPT} \
126 -jalr ${WSUPPRESS}
127 R10000_LDFLAGS = -mips4 -64
128 R10000_KDEFS = -DKONA -DIP27 -DIP27 -DDISCONTIG_PHYSMEM -DNUMA_BASE -DNUMA_PM \
129 -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
130 -DNUMA_REPL_CONTROL -DNUMA_SCHED -DLARGE_CPU_COUNT -DHUB2_NACK_WAR \
131 -DBRIDGE_ERROR_INTR_WAR -DMAPPED_KERNEL -DBHV_SYNCH -DHUB_ERR_STS_WAR \
132 -DHUB_MIGR_WAR -DNCR16C550 -DTL16PIR552 -DSN0_INTR_BROKEN -DFRU \
133 -DFORCE_ERRORS -DSN0_USE_BTE -DBTE_BZERO_WAR -DREV1_BRIDGE_SUPPORTED \
134 -DHUB_II_IFDR_WAR -xansi -DDISCONTIG_PHYSMEM -DNUMA_BASE -DNUMA_PM \
135 -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
136 -DNUMA_REPL_CONTROL -DNUMA_SCHED -DLARGE_CPU_COUNT -DHUB2_NACK_WAR \
137 -DBRIDGE_ERROR_INTR_WAR -DMAPPED_KERNEL -DBHV_SYNCH \
138 -DHUB_ERR_STS_WAR -DHUB_MIGR_WAR -DNCR16C550 -DTL16PIR552 \
139 -DSN0_INTR_BROKEN -DFRU -DFORCE_ERRORS -DSN0_USE_BTE -DBTE_BZERO_WAR \
140 -DREV1_BRIDGE_SUPPORTED -DHUB_II_IFDR_WAR -D_PAGESZ=16384 -D_KERNEL \
141 -DSTATIC=static -D_MIPS3_ADDRSPACE -DSN0 -DMIPS4_ISA \
142 -DCLOCK_CTIME_IS_ABSOLUTE -DFAST_LOCORE_TFAULT -DULI -DCKPT \
143 -DIDLESTACK_FASTINT -DR10K_LLSC_WAR -DPTE_64BIT -DRMAPS \
144 -DPAGE_MIGRATION -DSW_FAST_CACHE_SYNCH -DINTR_KTHREADS \
145 -DMRSP_AS_MR -D_MP_NETLOCKS -DMP_STREAMS=1 -DIP27 -DR10000 \
146 -g -TENV:kernel -TENV:misalignment=1 -OPT:space \
147 -OPT:quad_align_branch_targets=FALSE \
148 -OPT:quad_align_with_memops=FALSE \
149 -OPT:unroll_times=0 -OPT:Olimit=5000 -TARG:processor=r10000 \
150 -FE:pointer_readonly -use_readonly_const -fullwarn \
151 -non_shared -mips4 -64 \
152 -woff 1685,515,608,658,799,803,852,1048,1233,1499,1501 \
153 -DDEFAULTSEMAMETER=1
154 <sgi_65>
155 # For Irix 6.5 we are building based on cpu board number rather than CPU number
156 # While -G 8 is recommended for space, we know that the table overflows when
157 # both AFS and DFS are compiled into the kernel. For Irix 6.5, define MP
158 # so we pick up locks.
159 #
160 # For cc flags see:
161 # http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/u_man/cat1/cc.z&srch=cc
162 #
163 KDEFS= -I/usr/include -I/usr/include/sys -DSTATIC=static -DAFS_SGIMP_ENV \
164 -DMP -D_KERNEL -DMP_STREAMS -D_MP_NETLOCKS -DMRSP_AS_MR \
165 ${CPU_KDEFS} -fullwarn -non_shared -G 0 \
166 -TENV:kernel -OPT:space -OPT:Olimit=0 -CG:unique_exit=on \
167 -TENV:X=1 -OPT:IEEE_arithmetic=1 -OPT:roundoff=0 \
168 -OPT:wrap_around_unsafe_opt=off \
169 ${WSUPPRESS}
170 # 32 bit specific flags:
171 KDEFS_32 = -n32 -D_PAGESZ=4096 -mips3
172 # 64 bit specific flags:
173 KDEFS_64 = -64 -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE -mips4
174
175 # CPU board specific flags:
176 # To get more help on all board/cpu combinations see http://sgistuff.g-lenerz.de/machines.html
177 #
178 #IP19 (Challenge DM/L/XL, Onyx) CPU's R4000, R4400
179 IP19_KDEFS = -DIP19 -DEVEREST -DMP -DR4000 \
180 -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE -TARG:platform=ip19:processor=r4000 $(KDEFS_32)
181 #IP20 (Indigo) CPU's R4000
182 IP20_KDEFS = -DIP20 -DR4000 -DJUMP_WAR -DBADVA_WAR -DTRITON -DUSE_PCI_PIO \
183 -D_R5000_CVT_WAR=1 -DCKPT -D_MTEXT_VFS -Ofast=ip20 $(KDEFS_32)
184 #IP21 (Power Challenge DM/L/XL, Power Onyx) R8000
185 IP21_KDEFS = -DIP21 -DEVEREST -DMP -DTFP -TARG:processor=r8000 -Ofast=ip21 $(KDEFS_64)
186 #IP22 (Indigo 2, Challenge M) CPU's R4000, R4400, R4600 (and by bug in hinv(1) also Indy IP24 machines with R4x00)
187 # -Ofast=ip22_4k is same as -TARG:ip22_4k -O3 -IPA -OPT:roundoff=3:Olimit=0:div_split=on:alias=typed
188 # when -Ofast used on IP24 Indy, the STATIC.*/libafs*.a claims to be 64-bit and /etc/refuses to build the
189 # object in the kernel.
190 IP22_4K_KDEFS = -DIP20 -DR4000 -DJUMP_WAR -DBADVA_WAR -DTRITON -DUSE_PCI_PIO \
191 -D_R5000_CVT_WAR=1 -DCKPT -D_MTEXT_VFS -TARG:platform=ip22_4k:processor=r4000 $(KDEFS_32)
192 IP22_5K_KDEFS = -DIP20 -DR4000 -DJUMP_WAR -DBADVA_WAR -DTRITON -DUSE_PCI_PIO \
193 -D_R5000_CVT_WAR=1 -DCKPT -D_MTEXT_VFS -TARG:platform=ip22_5k:processor=r5000 $(KDEFS_32)
194 #IP24 (Indy, Challenge S) is reported by hinv(1) as IP22, CPU's R4000, R4400, R4600, R5000
195 # therefore same as IP22
196 #IP25 (Power Challenge L/XL, Power Onyx) CPU's R10000
197 IP25_KDEFS = -DIP25 -DEVEREST -DMP -DR10000 -Ofast=ip25 -TARG:processor=r10000 $(KDEFS_64)
198 #IP26 (Power Challenge M, Power Indigo 2) CPU's R8000
199 IP26_KDEFS = -DIP26 -DTFP -TARG:sync=off -Ofast=ip26 -TARG:processor=r8000 $(KDEFS_64)
200 #IP27 (Origin 200, Origin 2000, Onyx 2, Origin 3000) CPU's R10000, R12000
201 IP27_KDEFS = -DIP27 -DR10000 -DMP -DSN -DSN0 -DMAPPED_KERNEL \
202 -DLARGE_CPU_COUNT \
203 -DPTE_64BIT -DULI -DCKPT -DMIPS4_ISA -DR10K_LLSC_WAR -DNUMA_BASE \
204 -DNUMA_PM -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
205 -DNUMA_REPL_CONTROL -DNUMA_SCHED -DCELL_PREPARE -DBHV_PREPARE \
206 -Ofast=ip27 -TARG:processor=r10000 $(KDEFS_64)
207 #IP28 (Indigo 2), CPU's R10000
208 IP28_KDEFS = -DIP28 -DR10000 -DSCACHE_SET_ASSOC=2 -D_NO_UNCACHED_MEM_WAR \
209 -DR10000_SPECULATION_WAR -Ofast=ip28 -TARG:processor=r10000 \
210 -TARG:t5_no_spec_stores $(KDEFS_64)
211 #IP30 (Octane and Octane 2) CPU's R10000, R12000, R14000 (and by bug also Indy IP24 with R5000)
212 IP30_KDEFS = -DIP30 -DR10000 -DMP -DCELL_PREPARE -DBHV_PREPARE \
213 -Ofast=ip30 -TARG:processor=r10000 $(KDEFS_64)
214 #IP32 (O2 and O2+) CPU's R5000, R10000, R12000
215 IP32_5K_KDEFS = -DIP20 -DR4000 -DJUMP_WAR -DBADVA_WAR -DTRITON -DUSE_PCI_PIO \
216 -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE -Ofast=ip32_5k $(KDEFS_64)
217 IP32_10K_KDEFS = -DIP20 -DR4000 -DJUMP_WAR -DBADVA_WAR -DTRITON -DUSE_PCI_PIO \
218 -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE -Ofast=ip32_10k $(KDEFS_64)
219 #IP35 (Fuel, Origin 3000) CPU's R14000, R16000
220 IP35_KDEFS = -DIP35 -DR10000 -DMP -DSN -DSN1 -DMAPPED_KERNEL \
221 -DLARGE_CPU_COUNT \
222 -DPTE_64BIT -DULI -DCKPT -DMIPS4_ISA -DNUMA_BASE \
223 -DNUMA_PM -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
224 -DNUMA_REPL_CONTROL -DNUMA_SCHED -DCELL_PREPARE -DBHV_PREPARE \
225 -Ofast=ip35 $(KDEFS_64)
226 #IP53 (Tezro) CPU's R16000
227 # Loader flags
228 LDFLAGS_64 = -64 -IPA
229 LDFLAGS_32 = -n32 -IPA
230
231
232 <all>
233 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
234 OPTF=${OPT}
235 OPTF2=${OPT2}
236 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) -G 0 $(KDEFS) $(KOPTS) ${DBUG}
237
238 # This tells Makefile.common to use it's single directory build target.
239 #COMPDIRS = single_compdir
240 # This is the irix multiple directory target.
241 COMPDIRS = irix_compdirs
242 INSTDIRS = irix_instdirs
243 DESTDIRS = irix_destdirs
244
245 include Makefile.common
246
247 # Make all the directories, even if only building one.
248 <sgi_62>
249 PROCESSORS=R4000 R4000_32 R8000 R10000
250 <sgi_63>
251 PROCESSORS = R5000 R1000
252 <sgi_64>
253 PROCESSORS = R10000
254 <sgi_65>
255 PROCESSORS = IP19 IP20 IP21 IP22_4K IP22_5K IP25 IP26 IP27 IP28 IP30 IP32_5K IP32_10K @IRIX_BUILD_IP35@
256 <all>
257
258 KOBJ = STATIC MODLOAD
259
260
261 setup:
262 -$(RM) -f h net netinet rpc ufs nfs machine sys
263 -ln -fs /usr/include/sys h
264 -ln -fs /usr/include/net /usr/include/netinet .
265 -ln -fs /usr/include/rpc /usr/include/sys .
266 -ln -fs /usr/include/sys/fs .
267 <all -sgi_65>
268 BUILDPROCS="${PROCESSORS}" ; \
269 BUILDMPS="${MPS}" ; \
270 if [ "${CPUARCH}" != "" ] ; then \
271 BUILDPROCS=${CPUARCH}; \
272 BUILDMPS=${MPSP}; \
273 fi ; \
274 for p in $${BUILDPROCS} ; do \
275 for n in $${BUILDMPS} ; do \
276 for t in ${KOBJ} ; do \
277 dir=$$t.$$n.$$p ; \
278 echo Making directory: $$dir; \
279 mkdir -p $$dir; \
280 $(RM) -f $$dir/Makefile.common $$dir/Makefile $$dir/config; \
281 ln -fs ../Makefile.common $$dir/Makefile.common; \
282 ln -fs ../Makefile $$dir/Makefile; \
283 ln -fs ../config $$dir/config; \
284 done; \
285 done; \
286 done
287 <sgi_65>
288 BUILDPROCS="${PROCESSORS}" ; \
289 if [ "${IPNO}" != "" ] ; then \
290 BUILDPROCS="${IPNO}"; \
291 fi ; \
292 for p in $${BUILDPROCS} ; do \
293 for t in ${KOBJ} ; do \
294 dir=$$t.$$p ; \
295 echo Making directory: $$dir; \
296 mkdir -p $$dir; \
297 $(RM) -f $$dir/Makefile.common $$dir/Makefile $$dir/config; \
298 ln -fs ../Makefile.common $$dir/Makefile.common; \
299 ln -fs ../Makefile $$dir/Makefile; \
300 ln -fs ../config $$dir/config; \
301 done; \
302 done
303 <all>
304 echo Setup complete.
305
306
307 # Compile static and modload versions of the clients.
308 <all -sgi_65>
309 ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
310 BUILDPROCS="${PROCESSORS}" ; \
311 if [ "${CPUARCH}" != "" ] ; then \
312 BUILDPROCS=${CPUARCH}; \
313 BUILDMPS=${MPSP}; \
314 fi ; \
315 for p in $${BUILDPROCS} ; do \
316 for n in $${BUILDMPS} ; do \
317 for t in ${KOBJ} ; do \
318 dir=$$t.$$n.$$p ; \
319 echo Building directory: $$dir; \
320 case $$p in \
321 R4000) \
322 CPUBOARD=IP19; \
323 CPU_KDEFS="${R4000_KDEFS}"; \
324 LDFLAGS="${R4000_LDFLAGS}";; \
325 R4000_32) \
326 CPUBOARD=IP22; \
327 CPU_KDEFS="${R4000_32_KDEFS}"; \
328 LDFLAGS="${R4000_32_LDFLAGS}";; \
329 R5000) \
330 CPUBOARD=IP32_5K; \
331 CPU_KDEFS="${R5000_KDEFS}"; \
332 LDFLAGS="${R5000_LDFLAGS}";; \
333 R8000) \
334 CPUBOARD=IP26; \
335 CPU_KDEFS="${R8000_KDEFS}"; \
336 LDFLAGS="${R8000_LDFLAGS}";; \
337 R10000) \
338 <sgi_62>
339 CPUBOARD=IP28; \
340 <sgi_63>
341 CPUBOARD=IP32_10K; \
342 <sgi_64>
343 CPUBOARD=IP27; \
344 <sgi_62 sgi_63 sgi_64>
345 CPU_KDEFS="${R10000_KDEFS}"; \
346 LDFLAGS="${R10000_LDFLAGS}";; \
347 *) echo "Unknown CPUARCH <$$p>" ; exit 1 ;; \
348 esac ;\
349 export CPUBOARD ;\
350 export CPU_KDEFS ;\
351 export LDFLAGS; \
352 cd $$dir ; \
353 $(MAKE) CPUARCH=$$p MPSP=$$n $@_$$t.libafs || exit $$?;\
354 cd ../ ; \
355 done; \
356 done; \
357 done
358 <sgi_65>
359 ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
360 BUILDPROCS="${PROCESSORS}" ; \
361 if [ "${IPNO}" != "" ] ; then \
362 BUILDPROCS="${IPNO}"; \
363 fi ; \
364 for p in $${BUILDPROCS} ; do \
365 for t in ${KOBJ} ; do \
366 dir=$$t.$$p ; \
367 echo Building directory: $$dir; \
368 case $$p in \
369 IP19) CPU_KDEFS="${IP19_KDEFS}"; \
370 CPU_LDFLAGS="${LDFLAGS_32}";; \
371 IP20) CPU_KDEFS="${IP20_KDEFS}"; \
372 CPU_LDFLAGS="${LDFLAGS_32}";; \
373 IP21) CPU_KDEFS="${IP21_KDEFS}"; \
374 CPU_LDFLAGS="${LDFLAGS_64}";; \
375 IP22_4K) CPU_KDEFS="${IP22_4K_KDEFS}"; \
376 CPU_LDFLAGS="${LDFLAGS_32}";; \
377 IP22_5K) CPU_KDEFS="${IP22_5K_KDEFS}"; \
378 CPU_LDFLAGS="${LDFLAGS_32}";; \
379 IP25) CPU_KDEFS="${IP25_KDEFS}"; \
380 CPU_LDFLAGS="${LDFLAGS_64}";; \
381 IP26) CPU_KDEFS="${IP26_KDEFS}"; \
382 CPU_LDFLAGS="${LDFLAGS_64}";; \
383 IP27) CPU_KDEFS="${IP27_KDEFS}"; \
384 CPU_LDFLAGS="${LDFLAGS_64}";; \
385 IP28) CPU_KDEFS="${IP28_KDEFS}"; \
386 CPU_LDFLAGS="${LDFLAGS_64}";; \
387 IP30) CPU_KDEFS="${IP30_KDEFS}"; \
388 CPU_LDFLAGS="${LDFLAGS_64}";; \
389 IP32_5K) CPU_KDEFS="${IP32_5K_KDEFS}"; \
390 CPU_LDFLAGS="${LDFLAGS_64}";; \
391 IP32_10K) CPU_KDEFS="${IP32_10K_KDEFS}"; \
392 CPU_LDFLAGS="${LDFLAGS_64}";; \
393 IP35) CPU_KDEFS="${IP35_KDEFS}"; \
394 CPU_LDFLAGS="${LDFLAGS_64}";; \
395 *) echo Unknown IP number $$p ; exit 1 ;; \
396 esac ;\
397 case $$t in \
398 MODLOAD) CPU_KDEFS="$${CPU_KDEFS} -TARG:force_jalr";; \
399 esac ;\
400 case $$t in \
401 STATIC) echo X $${CPU_KDEFS} | sed 's/^X//' > $$dir/CPU_KDEFS;; \
402 esac ;\
403 export CPU_KDEFS ;\
404 export CPU_LDFLAGS ;\
405 cd $$dir ; \
406 $(MAKE) LDFLAGS="$${CPU_LDFLAGS}" IPNO=$$p $@_$$t.libafs || exit $$?; \
407 cd ../ ; \
408 done; \
409 done
410 <all>
411
412 irix_compdirs_STATIC.libafs: depsrcs STATIC.libafs
413 irix_compdirs_MODLOAD.libafs: depsrcs MODLOAD.libafs
414 irix_instdirs_STATIC.libafs: install_STATIC.libafs
415 irix_instdirs_MODLOAD.libafs: install_MODLOAD.libafs
416 irix_destdirs_STATIC.libafs: dest_STATIC.libafs
417 irix_destdirs_MODLOAD.libafs: dest_MODLOAD.libafs
418
419
420
421 ${INSTDIRS}: install_COPYFILES install_LINKFILES
422 ${DESTDIRS}: dest_COPYFILES dest_LINKFILES
423
424
425
426 LIBAFSNONFSA = libafs.nonfs.a
427
428 STATIC.libafs: ${LIBAFSNONFSA}
429
430 install_STATIC.libafs: ${LIBAFSNONFSA}
431 <all -sgi_65>
432 ${CP} ${LIBAFSNONFSA} \
433 ${DESTDIR}${afskerneldir}/libafs.${MPSP}.${CPUARCH}.nonfs.a
434 <sgi_65>
435 ${CP} ${LIBAFSNONFSA} \
436 ${DESTDIR}${afskerneldir}/libafs.${IPNO}.nonfs.a
437 <all>
438
439 dest_STATIC.libafs: ${LIBAFSNONFSA}
440 <all -sgi_65>
441 ${CP} ${LIBAFSNONFSA} \
442 ${DEST}/root.client/bin/libafs.${MPSP}.${CPUARCH}.nonfs.a
443 <sgi_65>
444 ${CP} ${LIBAFSNONFSA} \
445 ${DEST}/root.client/bin/libafs.${IPNO}.nonfs.a
446 <all>
447
448 ${LIBAFSNONFSA}: $(AFSAOBJS) $(AFSNONFSOBJS)
449 $(AR) cru $@ $?
450
451
452 LIBAFSNONFSO = libafs.nonfs.o
453
454 # MODLOAD.libafs: ${LIBAFSNONFSO} ${COPYFILES} ${LINKFILES}
455 MODLOAD.libafs: ${LIBAFSNONFSO}
456
457 install_MODLOAD.libafs: ${LIBAFSNONFSO}
458 <all -sgi_65>
459 ${CP} ${LIBAFSNONFSO} \
460 ${DESTDIR}${afskerneldir}/libafs.${MPSP}.${CPUARCH}.nonfs.o
461 <sgi_65>
462 ${CP} ${LIBAFSNONFSO} \
463 ${DESTDIR}${afskerneldir}/libafs.${IPNO}.nonfs.o
464 <all>
465
466 dest_MODLOAD.libafs: ${LIBAFSNONFSO}
467 <all -sgi_65>
468 ${CP} ${LIBAFSNONFSO} \
469 ${DEST}/root.client/usr/vice/etc/sgiload/libafs.${MPSP}.${CPUARCH}.nonfs.o
470 <sgi_65>
471 ${CP} ${LIBAFSNONFSO} \
472 ${DEST}/root.client/usr/vice/etc/sgiload/libafs.${IPNO}.nonfs.o
473 <all>
474
475 ${LIBAFSNONFSO}: $(AFSAOBJS) $(AFSNONFSOBJS)
476 $(LD) ${LDFLAGS} -elf -r -d -G 0 -o ${LIBAFSNONFSO} \
477 $(AFSAOBJS) $(AFSNONFSOBJS)
478
479
480 install_COPYFILES:
481 ${CP} sgi_system ${DESTDIR}${afskerneldir}/afs.sm
482 chmod 644 ${DESTDIR}${afskerneldir}/afs.sm
483 ${CP} sgi_master ${DESTDIR}${afskerneldir}/afs
484 chmod 644 ${DESTDIR}${afskerneldir}/afs
485
486 dest_COPYFILES:
487 ${INSTALL} -d ${DEST}/root.client/bin
488 ${INSTALL} -m 644 sgi_system ${DEST}/root.client/bin/afs.sm
489 ${INSTALL} -m 644 sgi_master ${DEST}/root.client/bin/afs
490
491 # Create symlinks to clients we don't need to build.
492 # If this changes, also change the kdump symlinks.
493 install_LINKFILES:
494 <sgi_65>
495 echo "Now we support also IP22_4K, IP22_5K, IP32_5K, IP32_10K cpu boards."
496 <all>
497
498 # Create symlinks to clients we don't need to build.
499 # If this changes, also change the kdump symlinks.
500 dest_LINKFILES:
501 <sgi_65>
502 ln -fs libafs.IP20.a ${DEST}/root.client/bin/libafs.IP22.a
503 ln -fs libafs.IP20.a ${DEST}/root.client/bin/libafs.IP32.a
504 ln -fs libafs.IP20.nonfs.a ${DEST}/root.client/bin/libafs.IP22.nonfs.a
505 ln -fs libafs.IP20.nonfs.a ${DEST}/root.client/bin/libafs.IP32.nonfs.a
506 ln -fs libafs.IP20.o ${DEST}/root.client/usr/vice/etc/sgiload/libafs.IP22.o
507 ln -fs libafs.IP20.o ${DEST}/root.client/usr/vice/etc/sgiload/libafs.IP32.o
508 ln -fs libafs.IP20.nonfs.o ${DEST}/root.client/usr/vice/etc/sgiload/libafs.IP22.nonfs.o
509 ln -fs libafs.IP20.nonfs.o ${DEST}/root.client/usr/vice/etc/sgiload/libafs.IP32.nonfs.o