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