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