DEVEL15-curpag-via-pioctl-20090603
[openafs.git] / src / sys / Makefile.in
1 # API version. When something changes, increment as appropriate. 
2 # Ignore at your own risk.
3 LIBAFSSETPAGMAJOR=1
4 LIBAFSSETPAGMINOR=0
5
6 # Copyright 2000, International Business Machines Corporation and others.
7 # All Rights Reserved.
8
9 # This software has been released under the terms of the IBM Public
10 # License.  For details, see the LICENSE file in the top-level source
11 # directory or online at http://www.openafs.org/dl/license10.html
12 #
13 # Portions Copyright (c) 2003 Apple Computer, Inc.
14
15 srcdir=@srcdir@
16 include @TOP_OBJDIR@/src/config/Makefile.config
17
18 CFLAGS=-I. -I${srcdir} ${DBUG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}  ${XCFLAGS} ${ARCHFLAGS}
19 SFLAGS=-I${TOP_INCDIR}
20 LIBS=libsys.a ${TOP_LIBDIR}/librx.a libsys.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a ${XLIBS}
21
22 OBJECTS= afssyscalls.o setpag.o glue.o
23 SHLIBOBJS = picobj/setpag.o picobj/glue.o
24 RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o 
25
26 LIBAFSSETPAG = libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}
27 LIBAFSSETPAG_DARWIN = libafssetpag.${LIBAFSSETPAGMAJOR}.${SHLIB_SUFFIX}
28
29 all: \
30     rmtsysd \
31     pagsh \
32     pagsh.krb \
33     ${TOP_INCDIR}/afs/afssyscalls.h \
34     ${TOP_INCDIR}/afs/afs.exp \
35     ${TOP_INCDIR}/afs/xfsattrs.h \
36     ${TOP_INCDIR}/afs/sys_prototypes.h \
37     ${TOP_LIBDIR}/afs.exp \
38     ${TOP_LIBDIR}/libsys.a \
39     ${KERNELDIR}/afs \
40     ${KERNELDIR}/afs/xfsattrs.h \
41     ${UKERNELDIR}/afs \
42     ${UKERNELDIR}/afs/afsl.exp
43         @set -x; case ${SYS_NAME} in \
44         *_darwin_*) \
45             ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}';; \
46         *) \
47             ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG}';; \
48         esac
49
50 libsys.a: ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp AFS_component_version_number.o
51         -$(RM) -f $@
52         @set -x; case "${SYS_NAME}" in                          \
53                 hp_ux11*) \
54                         $(AR) crv $@ ${OBJECTS} ${RMTOBJS} \
55                                 AFS_component_version_number.o ${LIBSYS_AIX_EXP} ;; \
56                 *) \
57                         $(AR) crv $@ ${OBJECTS} ${RMTOBJS} syscall.o \
58                                 AFS_component_version_number.o ${LIBSYS_AIX_EXP} ;; \
59         esac
60         $(RANLIB) $@
61         @set -x; case "${SYS_NAME}" in                          \
62                 rs_aix*)                                \
63                         $(AR) crv $@ afsl.exp;;         \
64         esac
65
66 ${LIBAFSSETPAG}: ${SHLIBOBJS} syscall.o
67         @set -x; case ${SYS_NAME} in \
68         *_linux*) \
69             ${SHLIB_LINKER} -Wl,-h,libafssetpag.so.${LIBAFSSETPAGMAJOR} \
70                 -o ${LIBAFSSETPAG} -Wl,--version-script=${srcdir}/mapfile \
71                 ${SHLIBOBJS} syscall.o ;; \
72         rs_aix4*) \
73             ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS} syscall.o \
74                 -bE:afssetpag.exp;; \
75         sun*_5*) \
76             ${SHLIB_LINKER} -h libafssetpag.so.${LIBAFSSETPAGMAJOR} \
77                 -o ${LIBAFSSETPAG} ${SHLIBOBJS} syscall.o;; \
78         hp_ux11*) \
79             ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS};; \
80         *) \
81             ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS} syscall.o ;; \
82         esac
83
84 ${LIBAFSSETPAG_DARWIN}: ${SHLIBOBJS}
85         ${SHLIB_LINKER} -o ${LIBAFSSETPAG_DARWIN} ${ARCHFLAGS} -install_name ${libdir}/${LIBAFSSETPAG_DARWIN} -compatibility_version ${LIBAFSSETPAGMAJOR} -current_version ${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR} ${SHLIBOBJS}
86
87 tests:  pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
88
89 syscall.o: syscall.s
90         @set -x; case "$(SYS_NAME)" in \
91          sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sun4x_5?? | sunx86_5? | sunx86_5?? ) \
92                 $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
93                 as -o syscall.o syscall.ss;             \
94                 $(RM) syscall.ss;;                              \
95          sgi_* |*_darwin* ) \
96                 ${CC} ${CFLAGS} -c ${srcdir}/syscall.s;;          \
97          alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
98                 ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER ${srcdir}/syscall.s; \
99                 ${AS} -o syscall.o syscall.i; \
100                 $(RM) -f syscall.ss syscall.i;; \
101          hp_ux11? ) \
102                 touch syscall.o;; \
103          amd64_fbsd*|i386_*bsd*|*nbsd*) \
104                 ${CCOBJ} -E ${SFLAGS} syscall.s > syscall.S ; \
105                 ${AS} syscall.S -o syscall.o ;  \
106                 $(RM) -f syscall.S ;;\
107          *) \
108                 $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
109                 as -o syscall.o syscall.ss;             \
110                 $(RM) syscall.ss;;                              \
111         esac
112
113 afssyscalls.o: afssyscalls.c afssyscalls.h
114         ${CCOBJ} ${CFLAGS} -c ${srcdir}/afssyscalls.c
115
116 glue.o: glue.c afssyscalls.h
117         ${CCOBJ} ${CFLAGS} -c ${srcdir}/glue.c
118
119 setpag.o: setpag.c afssyscalls.h
120         ${CCOBJ} ${CFLAGS} -c ${srcdir}/setpag.c
121
122 picobj: afssyscalls.h
123         mkdir -p picobj
124         cp ${srcdir}/afssyscalls.h picobj/afssyscalls.h
125
126 picobj/glue.o: picobj glue.c afssyscalls.h
127         rm -f picobj/glue.c
128         cp ${srcdir}/glue.c picobj/glue.c
129         cd picobj && ${CCOBJ} ${CFLAGS} ${SHLIB_CFLAGS} -c glue.c
130
131 picobj/setpag.o: picobj setpag.c afssyscalls.h
132         rm -f picobj/setpag.c
133         cp ${srcdir}/setpag.c picobj/setpag.c
134         cd picobj && ${CCOBJ} ${CFLAGS} ${SHLIB_CFLAGS} -c setpag.c
135
136 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
137 rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
138
139 rmtsys.cs.c: rmtsys.xg
140         ${RXGEN} -A -C -o $@ ${srcdir}/rmtsys.xg
141
142 rmtsys.ss.c: rmtsys.xg
143         ${RXGEN} -A -S -o $@ ${srcdir}/rmtsys.xg
144
145 rmtsys.xdr.c: rmtsys.xg
146         ${RXGEN} -A -c -o $@ ${srcdir}/rmtsys.xg
147
148 rmtsys.h: rmtsys.xg
149         ${RXGEN} -A -h -o $@ ${srcdir}/rmtsys.xg
150
151 Krmtsys.cs.c: rmtsys.xg Krmtsys.h
152         ${RXGEN} -A -k -C -o Krmtsys.cs.c ${srcdir}/rmtsys.xg
153
154 Krmtsys.xdr.c: rmtsys.xg
155         ${RXGEN} -A -k -c -o Krmtsys.xdr.c ${srcdir}/rmtsys.xg
156
157 Krmtsys.h: rmtsys.xg
158         ${RXGEN} -A -k -h -o Krmtsys.h ${srcdir}/rmtsys.xg
159
160 rmtsysd: rmtsysd.o libsys.a
161         ${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
162
163 pagsh:  libsys.a AFS_component_version_number.o
164         ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c
165         ${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
166
167 pagsh.krb: libsys.a
168         ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c -DAFS_KERBEROS_ENV 
169         ${CC} ${CFLAGS} -o pagsh.krb pagsh.o ${TOP_LIBDIR}/libauth.krb.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a ${LIBS}
170
171 #
172 # Test programs.
173 #
174
175 iinc:   iinc.c 
176         $(CC) -o iinc ${CFLAGS} ${srcdir}/iinc.c ${LIBS}
177
178 idec:   idec.c  AFS_component_version_number.c
179         $(CC) -o idec ${CFLAGS} ${srcdir}/idec.c ${LIBS}
180
181 icreate:icreate.c  AFS_component_version_number.c
182         $(CC) -o icreate ${CFLAGS} ${srcdir}/icreate.c ${LIBS}
183
184 iopen:  iopen.c  AFS_component_version_number.c
185         $(CC) -o iopen ${CFLAGS} ${srcdir}/iopen.c ${LIBS}
186
187 iread:  iread.c  AFS_component_version_number.c
188         ${CC} -o iread ${CFLAGS} ${srcdir}/iread.c ${LIBS}
189
190 iwrite: iwrite.c  AFS_component_version_number.c
191         ${CC} -o iwrite ${CFLAGS} ${srcdir}/iwrite.c ${LIBS}
192
193 istat:  istat.c  AFS_component_version_number.c
194         $(CC) -o istat ${CFLAGS} ${srcdir}/istat.c ${LIBS}
195
196 fixit:  fixit.c AFS_component_version_number.c
197         $(CC) -o fixit ${CFLAGS} ${srcdir}/fixit.c ${LIBS}
198
199
200 xfsinode: xfsinode.c  AFS_component_version_number.c
201         @set -x; case "${SYS_NAME}" in \
202                 sgi_62 | sgi_64 ) \
203                 $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
204         esac
205
206 ${TOP_LIBDIR}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
207         ${INSTALL} ${LIBAFSSETPAG} ${TOP_LIBDIR}/${LIBAFSSETPAG}
208         -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
209         -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
210
211 ${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}: ${LIBAFSSETPAG_DARWIN}
212         ${INSTALL} ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}
213         -ln -f -s ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
214         -ln -f -s ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX}
215  
216
217 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
218         @set -x; case ${SYS_NAME} in \
219                 rs_aix[56]* ) \
220                         cp -p ${srcdir}/afs5.exp afs.exp ;; \
221                 rs_aix* ) \
222                         cp -p ${srcdir}/afs4.exp afs.exp ;; \
223                 * ) \
224                         touch afs.exp ;; \
225         esac
226
227 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
228         @set -x; case ${SYS_NAME} in \
229                 rs_aix[56]* ) \
230                         cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
231                 rs_aix* ) \
232                         cp -p ${srcdir}/afsl4.exp afsl.exp ;; \
233                 * ) \
234                         touch afsl.exp ;; \
235         esac
236
237 #
238 # Installation targets
239 #
240
241 ${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
242         ${INSTALL} $? $@
243
244 ${TOP_INCDIR}/afs/rmtsys.h: rmtsys.h
245         ${INSTALL} $? $@
246
247 ${TOP_INCDIR}/afs/afs.exp: afs.exp
248         @set -x; case ${SYS_NAME} in \
249                 rs_aix* ) \
250                         ${INSTALL} $? $@ ;; \
251         esac
252
253 ${TOP_LIBDIR}/afs.exp: afs.exp
254         @set -x; case ${SYS_NAME} in \
255                 rs_aix* ) \
256                         ${INSTALL} $? $@ ;; \
257         esac
258
259 ${TOP_INCDIR}/afs/xfsattrs.h: xfsattrs.h
260         ${INSTALL} $? $@
261
262 ${TOP_INCDIR}/afs/sys_prototypes.h: sys_prototypes.h
263         ${INSTALL} $? $@
264
265 ${TOP_LIBDIR}/libsys.a: libsys.a
266         ${INSTALL} $? $@
267
268 ${UKERNELDIR}/afs:
269         mkdir -p $@
270
271 ${UKERNELDIR}/afs/afsl.exp: afsl.exp
272         @set -x; case ${SYS_NAME} in \
273                 rs_aix* ) \
274                         ${INSTALL} $? $@ ;; \
275         esac
276
277 ${KERNELDIR}/afs:
278         mkdir -p $@
279
280 ${KERNELDIR}/afs/xfsattrs.h: xfsattrs.h
281         ${INSTALL} $? $@
282
283 depinstall: \
284         ${TOP_INCDIR}/afs/afssyscalls.h \
285         ${TOP_INCDIR}/afs/rmtsys.h \
286         ${TOP_INCDIR}/afs/afs.exp \
287         ${TOP_INCDIR}/afs/xfsattrs.h \
288         ${TOP_INCDIR}/afs/sys_prototypes.h \
289         ${KERNELDIR}/afs/xfsattrs.h \
290         ${UKERNELDIR}/afs/afsl.exp \
291         Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c rmtsys.h 
292
293 install: \
294     ${DESTDIR}${libdir}/afs/libsys.a \
295     ${DESTDIR}${sbindir}/rmtsysd \
296     ${DESTDIR}${includedir}/afs/afssyscalls.h \
297     ${DESTDIR}${bindir}/pagsh \
298     ${DESTDIR}${bindir}/pagsh.krb \
299     ${DESTDIR}${includedir}/afs/afs.exp \
300     ${DESTDIR}${includedir}/afs/xfsattrs.h
301         @set -x; case ${SYS_NAME} in \
302         *_darwin_*) \
303             ${MAKE} '${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}';; \
304         *) \
305             ${MAKE} '${DESTDIR}${libdir}/${LIBAFSSETPAG}';; \
306         esac
307
308 ${DESTDIR}${libdir}/afs/libsys.a: libsys.a
309         ${INSTALL} $? $@
310
311 ${DESTDIR}${libdir}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
312         ${INSTALL} ${LIBAFSSETPAG} ${DESTDIR}${libdir}/${LIBAFSSETPAG}
313         -ln -f -s ${LIBAFSSETPAG} \
314             ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}
315         -ln -f -s ${LIBAFSSETPAG} \
316             ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
317
318 ${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}: ${LIBAFSSETPAG_DARWIN}
319         ${INSTALL} ${LIBAFSSETPAG_DARWIN} ${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}
320         -ln -f -s ${LIBAFSSETPAG_DARWIN} \
321                 ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX} ; \
322         -ln -f -s ${LIBAFSSETPAG_DARWIN} \
323                 ${DESTDIR}${libdir}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX} ;; \
324
325 ${DESTDIR}${sbindir}/rmtsysd: rmtsysd
326         ${INSTALL} $? $@
327
328 ${DESTDIR}${includedir}/afs/afssyscalls.h: afssyscalls.h
329         ${INSTALL} $? $@
330
331 ${DESTDIR}${bindir}/pagsh: pagsh
332         ${INSTALL} $? $@
333
334 ${DESTDIR}${bindir}/pagsh.krb: pagsh.krb
335         ${INSTALL} ${NO_STRIP_KRB} $? $@
336
337 ${DESTDIR}${includedir}/afs/afs.exp: afs.exp
338         @set -x; case ${SYS_NAME} in \
339                 rs_aix* ) \
340                         ${INSTALL} $? $@ ;; \
341         esac
342
343 ${DESTDIR}${includedir}/afs/xfsattrs.h: xfsattrs.h
344         ${INSTALL} $? $@
345
346 dest: \
347     ${DEST}/lib/afs/libsys.a \
348     ${DEST}/etc/rmtsysd \
349     ${DEST}/bin/pagsh \
350     ${DEST}/bin/pagsh.krb \
351     ${DEST}/include/afs/afssyscalls.h \
352     ${DEST}/include/afs/afs.exp \
353     ${DEST}/include/afs/xfsattrs.h
354         @set -x; case ${SYS_NAME} in \
355         *_darwin_*) \
356             ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}';; \
357         *) \
358             ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG}';; \
359         esac
360
361 ${DEST}/lib/afs/libsys.a: libsys.a
362         ${INSTALL} $? $@
363
364 ${DEST}/include/afs/afs.exp: afs.exp
365         @set -x; case ${SYS_NAME} in \
366                 rs_aix* ) \
367                         ${INSTALL} $? $@ ;; \
368         esac
369
370 ${DEST}/include/afs/xfsattrs.h: xfsattrs.h
371         ${INSTALL} $? $@
372
373 ${DEST}/include/afs/afssyscalls.h: afssyscalls.h
374         ${INSTALL} $? $@
375
376 ${DEST}/etc/rmtsysd: rmtsysd
377         ${INSTALL} $? $@
378
379 ${DEST}/bin/pagsh: pagsh
380         ${INSTALL} $? $@
381
382 ${DEST}/bin/pagsh.krb: pagsh.krb
383         ${INSTALL} ${NO_STRIP_KRB} $? $@
384
385 #
386 # Misc targets
387 #
388 include ../config/Makefile.version
389
390 clean:
391         $(RM) -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
392         rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
393         rmtsysd AFS_component_version_number.c pagsh pagsh.krb \
394         afs.exp afsl.exp libafssetpag.* Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c
395         $(RM) -rf picobj