introduce-autoconf-for-openafs-20010628
[openafs.git] / src / libafs / MakefileProto.AIX.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 AIX systems
9 #
10
11 DESTDIR=DEST/
12 include ../config/Makefile.${SYS_NAME}
13
14 # OS specific object files:
15 AFS_OS_OBJS = \
16         osi_assem.o \
17         osi_config.o \
18         osi_groups.o \
19         osi_file.o \
20         osi_inode.o \
21         osi_misc.o \
22         osi_sleep.o \
23         osi_timeout.o \
24         osi_vm.o \
25         xdr.o \
26         xdr_array.o
27
28 AFSNOIAUTHOBJS = \
29         afs_call.o \
30         afs_pioctl.o \
31         osi_vfsops.o \
32         osi_vnodeops.o
33
34
35 # Object files for iauth NFS->AFS authenticator.
36 AFSIAUTHOBJS = \
37         afs_call_iauth.o \
38         afs_nfsclnt_iauth.o \
39         afs_pioctl_iauth.o \
40         osi_vfsops_iauth.o \
41         osi_vnodeops_iauth.o
42
43 # System specific build commands
44 STRIP = /bin/strip
45 DBUG  = -g
46 #OPT   = -O
47 OPT2   = -O
48
49 IMPORTS = -bI:/lib/kernex.exp -bI:/lib/syscalls.exp -bI:/lib/sockets.exp \
50         -bI:/lib/netinet.exp \
51         -bI:${DESTDIR}lib/afs/extras.exp -bI:${DESTDIR}lib/afs/export.exp
52 KDEFS = -U_IBMR2 -D_POWER -D_AIX -DNLS -D_NLS -DMSG -D__STR31__ -Daiws \
53         -D_POWER_RS -D_POWER_PC -D_POWER_RS1 -D_POWER_RS2 -D_POWER_RSC \
54          -D_POWER_601 -D_POWER_603 -D_POWER_604 -D_THREADS -M  -D_KERNEL \
55         -D_POWER_MP -UKOFF -DAFSDEBUG -DVICE -DNFS -DUFS -DINET -DQUOTA \
56          -DGETMOUNT -H8 -DAFS -DAFS_COMMON -D_VOPS -D_SUN -DKERNEL
57 LDSTUFF= -b"binder:/usr/lib/bind glink:/usr/lib/glink.o" -bnoentry -b h:4 \
58         -D0 -T512
59 LDFLAGS = -m -eafs_config -bexport:${DESTDIR}/lib/afs/afs.exp ${IMPORTS} \
60          -lsys -lcsys 
61
62 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${FSINCLUDES} $(KDEFS) $(KOPTS) ${DBUG}
63
64 # Name of directory to hold object files and libraries.
65 KOBJ = MODLOAD
66
67 # This tells Makefile.common to use it's single directory build target.
68 COMPDIRS = single_compdir
69
70 include Makefile.common
71
72 setup:
73         -mkdir $(KOBJ)
74         -rm $(KOBJ)/Makefile $(KOBJ)/Makefile.common
75         ln -s ../Makefile $(KOBJ)/Makefile
76         ln -s ../Makefile.common $(KOBJ)/Makefile.common
77         -rm -f  h net netinet rpc ufs nfs  machine sys
78         ln -s /usr/include/sys h
79         ln -s /usr/include/net net
80         ln -s /usr/include/netinet netinet
81         ln -s /usr/include/rpc rpc
82         ln -s /usr/include/sys sys
83         ln -s /usr/include/nfs nfs
84         ln -s /usr/include/jfs ufs
85
86
87
88
89
90 # Standard AFS->NFS translator support is removed in AFS 3.5 in favor of
91 # the iauth authentication mechanism. The model was changed by IBM in the
92 # middle of an OS release. So iauth is only supported on AIX 4.1.5 and 
93 # later 4.1.x (if they are ever made) and AIX 4.2.1 (and later AIX 4.2.x if
94 # they are ever made. AIX 4.3 also uses the iauth translator.
95
96 CLIENTDIR = $(DESTDIR)root.client/usr/vice/etc/dkload
97 LIBAFSIAUTH = afs.ext.iauth
98 LIBAFS = afs.ext
99
100 DEST_LIBAFSIAUTH = $(CLIENTDIR)/$(LIBAFSIAUTH)
101 DEST_LIBAFS = $(CLIENTDIR)/$(LIBAFS)
102
103 $(DEST_LIBAFS): $(LIBAFS)
104         $(INSTALL) -f $? $@
105         -${STRIP} $@
106         $(INSTALL) -f $?.map $@.map
107         
108 $(DEST_LIBAFSIAUTH): $(LIBAFSIAUTH)
109         $(INSTALL) -f $? $@
110         -${STRIP} $@
111         $(INSTALL) -f $?.map $@.map
112         
113         
114
115 $(LIBAFSIAUTH): $(AFSAOBJS) $(AFSIAUTHOBJS)
116         ${LD} ${LDSTUFF}  -bloadmap:afs.ext.iauth.loadmap \
117          -bmap:afs.ext.iauth.map -o afs.ext.iauth \
118         ${AFSAOBJS} ${AFSIAUTHOBJS} ${LIBS} ${LDFLAGS}
119
120 $(LIBAFS): $(AFSAOBJS) $(AFSNOIAUTHOBJS)
121         ${LD} ${LDSTUFF}  -bloadmap:afs.ext.loadmap \
122          -bmap:afs.ext.map -o afs.ext \
123         ${AFSAOBJS} $(AFSNOIAUTHOBJS) ${LIBS} ${LDFLAGS}
124
125 libafs: $(DEST_LIBAFS) $(DEST_LIBAFSIAUTH)
126
127
128 # Object build rules:
129 # Common objects
130 xdr.o: $(RX)/xdr.c
131         $(CRULE1);
132 xdr_int64.o: $(RX)/xdr_int64.c
133         $(CRULE1);
134
135 xdr_array.o: $(RX)/xdr_array.c
136         $(CRULE1);
137
138 osi_assem.o:    ${AFS}/osi_assem.s
139         ${AS} -o osi_assem.o ${AFS}/osi_assem.s
140 osi_config.o: $(AFS)/osi_config.c
141         $(CRULE1);
142 osi_groups.o: $(AFS)/osi_groups.c
143         $(CRULE1);
144 osi_file.o: $(AFS)/osi_file.c
145         $(CRULE1);
146 osi_inode.o: $(AFS)/osi_inode.c
147         $(CRULE1);
148 osi_misc.o: $(AFS)/osi_misc.c
149         $(CRULE1);
150 osi_sleep.o: $(AFS)/osi_sleep.c
151         $(CRULE1);
152 osi_timeout.o: $(AFS)/osi_timeout.c
153         $(CRULE1);
154 osi_vfsops.o: $(AFS)/osi_vfsops.c
155         $(CRULE1);
156 osi_vm.o: $(AFS)/osi_vm.c
157         $(CRULE1);
158 osi_vnodeops.o: $(AFS)/osi_vnodeops.c
159         $(CRULE1);
160
161
162 # Build rules for iauth objects.
163 afs_call_iauth.o:       $(AFS)/afs_call.c
164         $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_call_iauth.o;
165 afs_nfsclnt_iauth.o:    $(AFS)/afs_nfsclnt.c
166         $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_nfsclnt_iauth.o;
167 afs_pioctl_iauth.o:     $(AFS)/afs_pioctl.c
168         $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_pioctl_iauth.o;
169 osi_vfsops_iauth.o: $(AFS)/osi_vfsops.c
170         $(CRULE1) -DAFS_NONFSTRANS  -DAFS_AIX_IAUTH_ENV -o osi_vfsops_iauth.o;
171 osi_vnodeops_iauth.o:   $(AFS)/osi_vnodeops.c
172         $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o osi_vnodeops_iauth.o;