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