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@
15 exec_prefix=@exec_prefix@
18 libexecdir=@libexecdir@
20 includedir=@includedir@
22 afssrvbindir=@afssrvbindir@
23 afssrvsbindir=@afssrvsbindir@
24 afssrvlibexecdir=@afssrvlibexecdir@
25 afskerneldir=@afskerneldir@
26 SYS_NAME=@AFS_SYSNAME@
28 include config/Makefile.${SYS_NAME}
30 # OS specific object files:
46 # System specific build commands and flags
47 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
50 #LORDER = /usr/ccs/bin/lorder
51 #CC = /opt/SUNWspro/bin/cc
52 KDEFS= -Dsun4c -DSUN4C_60 -DNFSCLIENT -DSYSACCT -DOLDSCSI -DVDDRV -D_KERNEL \
53 -DSYSV -dn ${ARCH_DEFS}
60 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
62 # Name of directory to hold object files and libraries.
63 <all -sun4x_57 -sun4x_58>
66 KOBJ = MODLOAD32 MODLOAD64
69 # This tells Makefile.common to use it's single directory build target.
70 <all -sun4x_57 -sun4x_58>
71 COMPDIRS = single_compdir
72 INSTDIRS = single_instdir
73 DESTDIRS = single_destdir
76 COMPDIRS = solaris_compdirs
77 INSTDIRS = solaris_instdirs
78 DESTDIRS = solaris_destdirs
81 include Makefile.common
85 -$(RM) -f h net netinet rpc ufs nfs machine sys inet
86 -ln -s /usr/include/sys h
87 -ln -s /usr/include/net net
88 -ln -s /usr/include/netinet netinet
89 -ln -s /usr/include/rpc rpc
90 -ln -s /usr/include/sys sys
91 -ln -s /usr/include/nfs nfs
92 -ln -s /usr/include/inet inet
93 -ln -s /usr/include/ufs ufs
94 for t in ${KOBJ} ; do \
95 echo Making directory: $$t; \
97 $(RM) -f $$t/Makefile.common $$t/Makefile $$t/config ; \
98 ln -s ../Makefile.common $$t/Makefile.common ; \
99 ln -s ../Makefile $$t/Makefile ;\
100 ln -s ../config $$t/config ;\
104 ## This is the target for a Solaris 7. Here we build both the 32 bit and
105 ## the 64 bit libafs in MODLOAD32 and MODLOAD64 directories respectively
108 ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
109 for t in ${KOBJ} ; do \
110 echo Building directory: $$t ; \
113 ARCH_DEFS="${KDEFS_32}" ; \
116 ARCH_DEFS="${KDEFS_64}" ; \
122 $(MAKE) $@_libafs ; \
126 solaris_compdirs_libafs: libafs
127 solaris_instdirs_libafs: install_libafs
128 solaris_destdirs_libafs: dest_libafs
132 # Below this line are targets when in the COMMON directory:
134 LIBAFSNONFS = libafs.nonfs.o
136 <all -sun4x_57 -sun4x_58>
137 INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
138 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
140 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS}
141 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFSNONFS}
143 # Without this line, gmake tries to build libafs.o
146 libafs: $(LIBAFSNONFS)
147 install_libafs: $(INST_LIBAFSNONFS)
148 dest_libafs: $(DEST_LIBAFSNONFS)
151 $(INST_LIBAFS): $(LIBAFS)
154 $(INST_LIBAFSNONFS): $(LIBAFSNONFS)
157 $(DEST_LIBAFS): $(LIBAFS)
160 $(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
164 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
166 $(LD) -r -o $@ $(AFSAOBJS) ${AFSNFSOBJS}
168 ${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
170 $(LD) -r -o $@ $(AFSAOBJS) ${AFSNONFSOBJS}
174 libafs: ${LIBAFSNONFS}
176 install_libafs: ${LIBAFSNONFS}
177 ${INSTALL} -f ${LIBAFSNONFS} ${DESTDIR}${afskerneldir}/libafs${BITS}.nonfs.o
179 dest_libafs: ${LIBAFSNONFS}
180 ${INSTALL} -f ${LIBAFSNONFS} ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.nonfs.o
184 # Solaris specific objects
185 osi_groups.o: $(AFS)/osi_groups.c
187 osi_inode.o: $(AFS)/osi_inode.c
189 osi_file.o: $(AFS)/osi_file.c
191 osi_sleep.o: $(AFS)/osi_sleep.c
193 osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
194 $(CRULE1) -o osi_vfsops_nfs.o
195 osi_vfsops.o: $(AFS)/osi_vfsops.c
196 $(CRULE1) -DAFS_NONFSTRANS
197 osi_vm.o: $(AFS)/osi_vm.c
199 osi_vnodeops.o: $(AFS)/osi_vnodeops.c
201 xdr_int64.o: $(RX)/xdr_int64.c