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