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