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