pagsh dependencies don't get to include system libs
[openafs.git] / src / sys / Makefile.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 # Portions Copyright (c) 2003 Apple Computer, Inc.
9
10 srcdir=@srcdir@
11 include @TOP_OBJDIR@/src/config/Makefile.config
12 INSTALL = @INSTALL@
13 INSTALL_DATA = @INSTALL_DATA@
14 INSTALL_PROGRAM = @INSTALL_PROGRAM@
15 INSTALL_SCRIPT = @INSTALL_SCRIPT@
16
17 CFLAGS=${DBUG} ${COMMON_INCL} ${XCFLAGS} ${ARCHFLAGS}
18 SFLAGS=-I${TOP_INCDIR}
19 LIBS=libsys.a ${TOP_LIBDIR}/librx.a libsys.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a ${XLIBS}
20
21 OBJECTS= afssyscalls.o setpag.o pioctl.o glue.o \
22         AFS_component_version_number.o
23 SHLIBOBJS = picobj/setpag.o picobj/glue.o syscall.o
24 RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o 
25
26 all: \
27     rmtsysd \
28     pagsh \
29     pagsh.krb \
30     ${TOP_INCDIR}/afs/afssyscalls.h \
31     ${TOP_INCDIR}/afs/afs.exp \
32     ${TOP_INCDIR}/afs/xfsattrs.h \
33     ${TOP_INCDIR}/afs/sys_prototypes.h \
34     ${TOP_LIBDIR}/afs.exp \
35     ${TOP_LIBDIR}/libsys.a \
36     ${KERNELDIR}/afs/xfsattrs.h \
37     ${UKERNELDIR}/afs/afsl.exp
38
39 ${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
40         ${INSTALL_DATA} $? $@
41
42 ${TOP_INCDIR}/afs/rmtsys.h: rmtsys.h
43         ${INSTALL_DATA} $? $@
44
45 ${TOP_INCDIR}/afs/afs.exp: afs.exp
46         @set -x; case ${SYS_NAME} in \
47                 rs_aix* ) \
48                         ${INSTALL_DATA} $? $@ ;; \
49         esac
50
51 ${TOP_LIBDIR}/afs.exp: afs.exp
52         @set -x; case ${SYS_NAME} in \
53                 rs_aix* ) \
54                         ${INSTALL_DATA} $? $@ ;; \
55         esac
56
57 ${TOP_INCDIR}/afs/xfsattrs.h: xfsattrs.h
58         ${INSTALL_DATA} $? $@
59
60 ${TOP_INCDIR}/afs/sys_prototypes.h: sys_prototypes.h
61         ${INSTALL_DATA} $? $@
62
63 ${TOP_LIBDIR}/libsys.a: libsys.a
64         ${INSTALL_DATA} $? $@
65
66 ${UKERNELDIR}/afs/afsl.exp: afsl.exp
67         ${INSTALL} -d ${UKERNELDIR}/afs
68         @set -x; case ${SYS_NAME} in \
69                 rs_aix* ) \
70                         ${INSTALL_DATA} $? $@ ;; \
71         esac
72
73 ${KERNELDIR}/afs/xfsattrs.h: xfsattrs.h
74         ${INSTALL} -d ${KERNELDIR}/afs
75         ${INSTALL_DATA} $? $@
76
77 depinstall: \
78         ${TOP_INCDIR}/afs/afssyscalls.h \
79         ${TOP_INCDIR}/afs/rmtsys.h \
80         ${TOP_INCDIR}/afs/afs.exp \
81         ${TOP_INCDIR}/afs/xfsattrs.h \
82         ${TOP_INCDIR}/afs/sys_prototypes.h \
83         ${KERNELDIR}/afs/xfsattrs.h \
84         ${UKERNELDIR}/afs/afsl.exp \
85         Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c rmtsys.h 
86
87 libsys.a: ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp AFS_component_version_number.o
88         $(RM) -f $@
89         @set -e; set -x; case "$(SYS_NAME)" in \
90         sgi_* | hp_ux10*) \
91                 ${AR} crv $@ ${OBJECTS} ${RMTOBJS} syscall.o ;; \
92         rs_aix*) \
93                 ${AR} crv $@ ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp ;; \
94         *) \
95                 ${AR} crv $@ ${OBJECTS} ${RMTOBJS} ;; \
96         esac
97         $(RANLIB) $@
98
99 tests:  pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
100
101 syscall.o: syscall.s
102         @set -e; set -x; case "$(SYS_NAME)" in \
103         sgi_*) \
104                 ${CC} ${CFLAGS} -c ${srcdir}/syscall.s; \
105                 ;; \
106         rs_aix* | hp_ux10*) \
107                 $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
108                 as -o syscall.o syscall.ss; \
109                 $(RM) syscall.ss; \
110                 ;; \
111         *) \
112                 touch syscall.o ; \
113                 ;; \
114         esac
115
116 afssyscalls.o: afssyscalls.c afssyscalls.h
117         ${CCOBJ} ${CFLAGS} -c ${srcdir}/afssyscalls.c
118
119 glue.o: glue.c afssyscalls.h
120         ${CCOBJ} ${CFLAGS} -c ${srcdir}/glue.c
121
122 setpag.o: setpag.c afssyscalls.h
123         ${CCOBJ} ${CFLAGS} -c ${srcdir}/setpag.c
124
125 pioctl.o: pioctl.c afssyscalls.h
126         ${CCOBJ} ${CFLAGS} -c ${srcdir}/pioctl.c
127
128 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
129 rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
130
131 rmtsys.cs.c: rmtsys.xg
132         ${RXGEN} -A -C -o $@ ${srcdir}/rmtsys.xg
133
134 rmtsys.ss.c: rmtsys.xg
135         ${RXGEN} -A -S -o $@ ${srcdir}/rmtsys.xg
136
137 rmtsys.xdr.c: rmtsys.xg
138         ${RXGEN} -A -c -o $@ ${srcdir}/rmtsys.xg
139
140 rmtsys.h: rmtsys.xg
141         ${RXGEN} -A -h -o $@ ${srcdir}/rmtsys.xg
142
143 Krmtsys.cs.c: rmtsys.xg Krmtsys.h
144         ${RXGEN} -A -k -C -o Krmtsys.cs.c ${srcdir}/rmtsys.xg
145
146 Krmtsys.xdr.c: rmtsys.xg
147         ${RXGEN} -A -k -c -o Krmtsys.xdr.c ${srcdir}/rmtsys.xg
148
149 Krmtsys.h: rmtsys.xg
150         ${RXGEN} -A -k -h -o Krmtsys.h ${srcdir}/rmtsys.xg
151
152 rmtsysd: rmtsysd.o libsys.a
153         ${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
154
155 pagsh:  libsys.a AFS_component_version_number.o pagsh.c
156         ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c
157         ${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
158
159 pagsh.krb: libsys.a pagsh.c ${TOP_LIBDIR}/libauth.krb.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a
160         ${CC} ${CFLAGS} -o pagsh.krb.o -c ${srcdir}/pagsh.c -DAFS_KERBEROS_ENV
161         ${CC} ${CFLAGS} -o pagsh.krb pagsh.krb.o ${TOP_LIBDIR}/libauth.krb.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a ${LIBS}
162
163 #
164 # Test programs.
165 #
166
167 iinc:   iinc.c 
168         $(CC) -o iinc ${CFLAGS} ${srcdir}/iinc.c ${LIBS}
169
170 idec:   idec.c  AFS_component_version_number.c
171         $(CC) -o idec ${CFLAGS} ${srcdir}/idec.c ${LIBS}
172
173 icreate:icreate.c  AFS_component_version_number.c
174         $(CC) -o icreate ${CFLAGS} ${srcdir}/icreate.c ${LIBS}
175
176 iopen:  iopen.c  AFS_component_version_number.c
177         $(CC) -o iopen ${CFLAGS} ${srcdir}/iopen.c ${LIBS}
178
179 iread:  iread.c  AFS_component_version_number.c
180         ${CC} -o iread ${CFLAGS} ${srcdir}/iread.c ${LIBS}
181
182 iwrite: iwrite.c  AFS_component_version_number.c
183         ${CC} -o iwrite ${CFLAGS} ${srcdir}/iwrite.c ${LIBS}
184
185 istat:  istat.c  AFS_component_version_number.c
186         $(CC) -o istat ${CFLAGS} ${srcdir}/istat.c ${LIBS}
187
188 fixit:  fixit.c AFS_component_version_number.c
189         $(CC) -o fixit ${CFLAGS} ${srcdir}/fixit.c ${LIBS}
190
191
192 xfsinode: xfsinode.c  AFS_component_version_number.c
193         @set -x; case "${SYS_NAME}" in \
194                 sgi_62 | sgi_64 ) \
195                 $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
196         esac
197
198 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
199         @set -x; case ${SYS_NAME} in \
200                 rs_aix[56]* ) \
201                         cp -p ${srcdir}/afs5.exp afs.exp ;; \
202                 rs_aix* ) \
203                         cp -p ${srcdir}/afs4.exp afs.exp ;; \
204                 * ) \
205                         touch afs.exp ;; \
206         esac
207
208 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
209         @set -x; case ${SYS_NAME} in \
210                 rs_aix[56]* ) \
211                         cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
212                 rs_aix* ) \
213                         cp -p ${srcdir}/afsl4.exp afsl.exp ;; \
214                 * ) \
215                         touch afsl.exp ;; \
216         esac
217
218 #
219 # Installation targets
220 #
221 install: libsys.a rmtsysd afssyscalls.h pagsh pagsh.krb afs.exp xfsattrs.h
222         ${INSTALL} -d ${DESTDIR}${libdir}/afs
223         ${INSTALL} -d ${DESTDIR}${sbindir}
224         ${INSTALL} -d ${DESTDIR}${includedir}/afs
225         ${INSTALL_DATA} libsys.a ${DESTDIR}${libdir}/afs/libsys.a
226         ${INSTALL_PROGRAM} rmtsysd ${DESTDIR}${sbindir}/rmtsysd
227         ${INSTALL_DATA} afssyscalls.h ${DESTDIR}${includedir}/afs/afssyscalls.h
228         ${INSTALL_PROGRAM} pagsh ${DESTDIR}${bindir}/pagsh
229         ${INSTALL_PROGRAM} pagsh.krb ${DESTDIR}${bindir}/pagsh.krb
230         ${INSTALL_DATA} xfsattrs.h ${DESTDIR}${includedir}/afs/xfsattrs.h
231         @set -x; case ${SYS_NAME} in \
232         rs_aix*) \
233                 ${INSTALL_DATA} afs.exp ${DESTDIR}${includedir}/afs/afs.exp;; \
234         esac
235
236 dest: libsys.a rmtsysd afssyscalls.h pagsh pagsh.krb afs.exp xfsattrs.h
237         ${INSTALL} -d ${DEST}/lib/afs
238         ${INSTALL} -d ${DEST}/etc
239         ${INSTALL} -d ${DEST}/bin
240         ${INSTALL} -d ${DEST}/include/afs
241         ${INSTALL_DATA} libsys.a ${DEST}/lib/afs/libsys.a
242         ${INSTALL_PROGRAM} rmtsysd ${DEST}/etc/rmtsysd
243         ${INSTALL_PROGRAM} pagsh ${DEST}/bin/pagsh
244         ${INSTALL_PROGRAM} pagsh.krb ${DEST}/bin/pagsh.krb
245         ${INSTALL_DATA} afssyscalls.h ${DEST}/include/afs/afssyscalls.h
246         ${INSTALL_DATA} xfsattrs.h ${DEST}/include/afs/xfsattrs.h
247         @set -x; case ${SYS_NAME} in \
248         rs_aix*) \
249                 ${INSTALL_DATA} afs.exp ${DEST}/include/afs/afs.exp ;; \
250         esac
251
252 #
253 # Misc targets
254 #
255 include ../config/Makefile.version
256
257 clean:
258         $(RM) -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
259         rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
260         rmtsysd AFS_component_version_number.c pagsh pagsh.krb \
261         afs.exp afsl.exp libafssetpag.* Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c
262         $(RM) -rf picobj