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