1 # Copyright 2000, International Business Machines Corporation and others.
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
8 # MakefileProto for Solaris systems
11 TOP_INCDIR=@TOP_INCDIR@
12 TOP_LIBDIR=@TOP_LIBDIR@
13 TOP_SRCDIR=@TOP_SRCDIR@
14 TOP_OBJDIR=@TOP_OBJDIR@
18 exec_prefix=@exec_prefix@
21 libexecdir=@libexecdir@
23 includedir=@includedir@
25 afssrvbindir=@afssrvbindir@
26 afssrvsbindir=@afssrvsbindir@
27 afssrvlibexecdir=@afssrvlibexecdir@
28 afskerneldir=@afskerneldir@
29 SYS_NAME=@AFS_SYSNAME@
31 include config/Makefile.${SYS_NAME}
33 # OS specific object files:
49 # System specific build commands and flags
50 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
53 #LORDER = /usr/ccs/bin/lorder
54 #CC = /opt/SUNWspro/bin/cc
55 KDEFS= -Dsun4c -DSUN4C_60 -DNFSCLIENT -DSYSACCT -DOLDSCSI -DVDDRV -D_KERNEL \
56 -DSYSV -dn ${ARCH_DEFS}
58 <sun4x_57 sun4x_58 sun4x_59>
63 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
65 # Name of directory to hold object files and libraries.
66 <all -sun4x_57 -sun4x_58 -sun4x_59>
68 <sun4x_57 sun4x_58 sun4x_59>
69 KOBJ = MODLOAD32 MODLOAD64
72 # This tells Makefile.common to use it's single directory build target.
73 <all -sun4x_57 -sun4x_58 -sun4x_59>
74 COMPDIRS = single_compdir
75 INSTDIRS = single_instdir
76 DESTDIRS = single_destdir
78 <sun4x_57 sun4x_58 sun4x_59>
79 COMPDIRS = solaris_compdirs
80 INSTDIRS = solaris_instdirs
81 DESTDIRS = solaris_destdirs
84 include Makefile.common
88 -$(RM) -f h net netinet rpc ufs nfs machine sys inet
89 -ln -fs /usr/include/sys h
90 -ln -fs /usr/include/net net
91 -ln -fs /usr/include/netinet netinet
92 -ln -fs /usr/include/rpc rpc
93 -ln -fs /usr/include/sys sys
94 -ln -fs /usr/include/nfs nfs
95 -ln -fs /usr/include/inet inet
96 -ln -fs /usr/include/ufs ufs
97 for t in ${KOBJ} ; do \
98 echo Making directory: $$t; \
100 $(RM) -f $$t/Makefile.common $$t/Makefile $$t/config ; \
101 ln -fs ../Makefile.common $$t/Makefile.common ; \
102 ln -fs ../Makefile $$t/Makefile ;\
103 ln -fs ../config $$t/config ;\
107 ## This is the target for a Solaris 7. Here we build both the 32 bit and
108 ## the 64 bit libafs in MODLOAD32 and MODLOAD64 directories respectively
110 <sun4x_57 sun4x_58 sun4x_59>
111 ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
112 for t in ${KOBJ} ; do \
113 echo Building directory: $$t ; \
116 ARCH_DEFS="${KDEFS_32}" ; \
119 ARCH_DEFS="${KDEFS_64}" ; \
125 $(MAKE) $@_libafs ; \
129 solaris_compdirs_libafs: libafs
130 solaris_instdirs_libafs: install_libafs
131 solaris_destdirs_libafs: dest_libafs
135 # Below this line are targets when in the COMMON directory:
137 LIBAFSNONFS = libafs.nonfs.o
139 <all -sun4x_57 -sun4x_58 -sun4x_59>
140 INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
141 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
143 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS}
144 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFSNONFS}
146 # Without this line, gmake tries to build libafs.o
149 libafs: $(LIBAFSNONFS)
150 install_libafs: $(INST_LIBAFSNONFS)
151 dest_libafs: $(DEST_LIBAFSNONFS)
154 $(INST_LIBAFS): $(LIBAFS)
157 $(INST_LIBAFSNONFS): $(LIBAFSNONFS)
160 $(DEST_LIBAFS): $(LIBAFS)
163 $(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
167 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
169 $(LD) -r -o $@ $(AFSAOBJS) ${AFSNFSOBJS}
171 ${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
173 $(LD) -r -o $@ $(AFSAOBJS) ${AFSNONFSOBJS}
175 <sun4x_57 sun4x_58 sun4x_59>
177 libafs: ${LIBAFSNONFS}
179 install_libafs: ${LIBAFSNONFS}
180 ${INSTALL} -f ${LIBAFSNONFS} ${DESTDIR}${afskerneldir}/libafs${BITS}.nonfs.o
182 dest_libafs: ${LIBAFSNONFS}
183 ${INSTALL} -f ${LIBAFSNONFS} ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.nonfs.o
187 # Solaris specific objects
188 osi_groups.o: $(AFS)/osi_groups.c
190 osi_inode.o: $(AFS)/osi_inode.c
192 osi_file.o: $(AFS)/osi_file.c
194 osi_sleep.o: $(AFS)/osi_sleep.c
196 osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
197 $(CRULE1) -o osi_vfsops_nfs.o
198 osi_vfsops.o: $(AFS)/osi_vfsops.c
199 $(CRULE1) -DAFS_NONFSTRANS
200 osi_vm.o: $(AFS)/osi_vm.c
202 osi_vnodeops.o: $(AFS)/osi_vnodeops.c
204 xdr_int64.o: $(RX)/xdr_int64.c