solaris-x8664-support-20050216
[openafs.git] / src / libafs / MakefileProto.SOLARIS.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         osi_groups.o \
15         osi_inode.o \
16         osi_file.o \
17         osi_sleep.o \
18         osi_vm.o \
19         osi_vnodeops.o
20
21 AFS_OS_NFSOBJS = \
22         osi_vfsops_nfs.o
23
24 AFS_OS_NONFSOBJS = \
25         osi_vfsops.o
26
27 # System specific build commands and flags
28 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
29 #These are redundant
30 #LD = /usr/ccs/bin/ld
31 #LORDER = /usr/ccs/bin/lorder
32 #CC = /opt/SUNWspro/bin/cc
33 KDEFS= -D_KERNEL -DSYSV -dn ${ARCH_DEFS}
34
35 <sun4x_57 sun4x_58 sun4x_59 sun4x_510>
36 KDEFS_32 = 
37 KDEFS_64 = -xarch=v9 
38
39 <sunx86_57 sunx86_58 sunx86_59 sunx86_510>
40 KDEFS_32 = 
41 KDEFS_64 = -xarch=amd64 -xmodel=kernel
42
43 <all>
44 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
45
46 # Name of directory to hold object files and libraries.
47 <all -sun4x_57 -sun4x_58 -sun4x_59 -sunx86_57 -sunx86_58 -sunx86_59>
48 KOBJ = MODLOAD
49 <sun4x_57 sun4x_58 sun4x_59 sun4x_510 sunx86_57 sunx86_58 sunx86_59 sunx86_510>
50 KOBJ = MODLOAD32 MODLOAD64
51
52
53 # This tells Makefile.common to use it's single directory build target.
54 <all -sun4x_57 -sun4x_58 -sun4x_59 -sunx86_57 -sunx86_58 -sunx86_59>
55 COMPDIRS = single_compdir
56 INSTDIRS = single_instdir
57 DESTDIRS = single_destdir
58
59 <sun4x_57 sun4x_58 sun4x_59 sun4x_510 sunx86_57 sunx86_58 sunx86_59 sunx86_510>
60 COMPDIRS = solaris_compdirs
61 INSTDIRS = solaris_instdirs
62 DESTDIRS = solaris_destdirs
63
64 <all>
65 include Makefile.common
66
67
68 setup:
69         -$(RM) -f  h net netinet rpc ufs nfs  machine sys inet
70         -ln -fs /usr/include/sys h
71         -ln -fs /usr/include/net net
72         -ln -fs /usr/include/netinet netinet
73         -ln -fs /usr/include/rpc rpc
74         -ln -fs /usr/include/sys sys
75         -ln -fs /usr/include/nfs nfs
76         -ln -fs /usr/include/inet inet
77         -ln -fs /usr/include/ufs ufs
78         for t in ${KOBJ} ; do \
79                 echo Making directory: $$t; \
80                 mkdir -p $$t; \
81                 $(RM) -f $$t/Makefile.common $$t/Makefile $$t/config ; \
82                 ln -fs ../Makefile.common $$t/Makefile.common ; \
83                 ln -fs ../Makefile $$t/Makefile ;\
84                 ln -fs ../config $$t/config ;\
85         done
86
87
88 ## This is the target for a Solaris 7. Here we build both the 32 bit and
89 ## the 64 bit libafs in MODLOAD32 and MODLOAD64 directories respectively
90
91 <sun4x_57 sun4x_58 sun4x_59 sun4x_510 sunx86_57 sunx86_58 sunx86_59 sunx86_510>
92 ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
93         for t in ${KOBJ} ; do \
94                 echo Building directory: $$t ; \
95                 case $$t in \
96                         MODLOAD32) \
97                          ARCH_DEFS="${KDEFS_32}" ; \
98                          BITS="" ;; \
99                         MODLOAD64) \
100                          ARCH_DEFS="${KDEFS_64}" ; \
101                          BITS="64" ;; \
102                 esac ; \
103                 export ARCH_DEFS ; \
104                 export BITS ; \
105                 cd $$t  ; \
106                 $(MAKE) $@_libafs ; \
107                 cd ../ ;\
108         done
109
110 solaris_compdirs_libafs: depsrcs libafs
111 solaris_instdirs_libafs: install_libafs
112 solaris_destdirs_libafs: dest_libafs
113
114 <all>
115
116 # Below this line are targets when in the COMMON directory:
117 LIBAFS = libafs.o
118 LIBAFSNONFS = libafs.nonfs.o
119
120 <all -sun4x_57 -sun4x_58 -sun4x_59>
121 INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
122 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
123
124 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS}
125 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFSNONFS}
126
127 <sun4x_57 sun4x_58 sun4x_59 sun4x_510 sunx86_57 sunx86_58 sunx86_59 sunx86_510>
128 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/libafs${BITS}.nonfs.o
129 INST_LIBAFS = ${DESTDIR}${afskerneldir}/libafs${BITS}.o
130
131 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.nonfs.o
132 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.o
133
134 <all>
135
136 # Without this line, gmake tries to build libafs.o
137 .PHONY: libafs
138
139 libafs: $(LIBAFSNONFS) $(LIBAFS)
140 install_libafs: $(INST_LIBAFSNONFS) $(INST_LIBAFS)
141 dest_libafs:    $(DEST_LIBAFSNONFS) $(DEST_LIBAFS)
142
143
144 $(INST_LIBAFS): $(LIBAFS)
145         ${INSTALL} -f $? $@
146
147 $(INST_LIBAFSNONFS): $(LIBAFSNONFS)
148         ${INSTALL} -f $? $@
149
150 $(DEST_LIBAFS): $(LIBAFS)
151         ${INSTALL} -f $? $@
152
153 $(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
154         ${INSTALL} -f $? $@
155
156 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
157         $(RM) -f $@
158         $(LD) -r -o $@ $(AFSAOBJS) ${AFSNFSOBJS}
159
160 ${LIBAFSNONFS}:  $(AFSAOBJS) $(AFSNONFSOBJS)
161         $(RM) -f $@
162         $(LD) -r -o $@  $(AFSAOBJS) ${AFSNONFSOBJS}
163