5e86b4016708f4da998a2e6cff8c657df7f0e6c4
[openafs.git] / src / ptserver / 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 srcdir=@srcdir@
8 include @TOP_OBJDIR@/src/config/Makefile.config
9 INSTALL = @INSTALL@
10 INSTALL_DATA = @INSTALL_DATA@
11 INSTALL_PROGRAM = @INSTALL_PROGRAM@
12 INSTALL_SCRIPT = @INSTALL_SCRIPT@
13 ENABLE_PTHREADED_UBIK=@ENABLE_PTHREADED_UBIK@
14
15 INCLS=${TOP_INCDIR}/ubik.h \
16         ${TOP_INCDIR}/lock.h  \
17         ${TOP_INCDIR}/lwp.h \
18         ${TOP_INCDIR}/rx/rx.h \
19         ${TOP_INCDIR}/rx/xdr.h \
20         ${TOP_INCDIR}/afs/keys.h \
21         ${TOP_INCDIR}/afs/cellconfig.h \
22         ptserver.h ptclient.h ptuser.h ptint.h pterror.h map.h ptprototypes.h
23
24 LINCLS=${TOP_INCDIR}/ubik.h \
25         ${TOP_INCDIR}/lock.h \
26         ${TOP_INCDIR}/rx/rx.h \
27         ${TOP_INCDIR}/rx/xdr.h  \
28         ${TOP_INCDIR}/rx/rxkad.h \
29         ${TOP_INCDIR}/afs/auth.h \
30         ${TOP_INCDIR}/afs/cellconfig.h \
31         ptclient.h ptuser.h ptint.h pterror.h
32
33 LIBS=${TOP_LIBDIR}/libubik.a \
34         ${TOP_LIBDIR}/libauth.a \
35         ${TOP_LIBDIR}/librxkad.a \
36         ${TOP_LIBDIR}/librxstat.a \
37         ${TOP_LIBDIR}/librx.a \
38         ${TOP_LIBDIR}/liblwp.a \
39         ${TOP_LIBDIR}/libdes.a \
40         ${TOP_LIBDIR}/libcmd.a \
41         ${TOP_LIBDIR}/libcom_err.a \
42         ${TOP_LIBDIR}/libsys.a \
43         ${TOP_LIBDIR}/libafsutil.a
44
45
46 all: ptserver pts pt_util db_verify ${TOP_LIBDIR}/libprot.a \
47         depinstall readgroup readpwd testpt
48
49 depinstall: \
50         ptint.cs.c ptint.xdr.c \
51         ${TOP_INCDIR}/afs/prclient.h \
52         ${TOP_INCDIR}/afs/prerror.h \
53         ${TOP_INCDIR}/afs/print.h \
54         ${TOP_INCDIR}/afs/prserver.h \
55         ${TOP_INCDIR}/afs/ptclient.h \
56         ${TOP_INCDIR}/afs/ptuser.h \
57         ${TOP_INCDIR}/afs/pterror.h \
58         ${TOP_INCDIR}/afs/ptint.h \
59         ${TOP_INCDIR}/afs/ptserver.h
60
61 ${TOP_LIBDIR}/libprot.a: libprot.a
62         ${INSTALL_DATA} $? $@
63
64 ${TOP_INCDIR}/afs/prclient.h: ptclient.h
65         ${INSTALL_DATA} $? $@
66
67 ${TOP_INCDIR}/afs/prerror.h: pterror.h
68         ${INSTALL_DATA} $? $@
69
70 ${TOP_INCDIR}/afs/print.h: ptint.h
71         ${INSTALL_DATA} $? $@
72
73 ${TOP_INCDIR}/afs/prserver.h: ptserver.h
74         ${INSTALL_DATA} $? $@
75
76 ${TOP_INCDIR}/afs/ptclient.h: ptclient.h
77         ${INSTALL_DATA} $? $@
78
79 ${TOP_INCDIR}/afs/ptuser.h: ptuser.h
80         ${INSTALL_DATA} $? $@
81
82 ${TOP_INCDIR}/afs/pterror.h: pterror.h
83         ${INSTALL_DATA} $? $@
84
85 ${TOP_INCDIR}/afs/ptint.h: ptint.h
86         ${INSTALL_DATA} $? $@
87
88 ${TOP_INCDIR}/afs/ptserver.h: ptserver.h
89         ${INSTALL_DATA} $? $@
90
91 #
92 # Build targets
93 #
94 ptserver: ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${TOP_LIBDIR}/libaudit.a map.o
95         $(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o map.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
96
97 ptserver.o: ptserver.c ${INCLS} AFS_component_version_number.c
98
99 # When supergroups is enabled, some parts of ptserver cast between
100 # incompatible structs.
101 ptutils.o: ptutils.c ${INCLS}
102         $(CCOBJ) $(CFLAGS) @CFLAGS_NOSTRICT@ -c ${srcdir}/ptutils.c
103
104 ptprocs.o: ptprocs.c ${INCLS}
105         $(CCOBJ) $(CFLAGS) @CFLAGS_NOSTRICT@ -c ${srcdir}/ptprocs.c
106
107 utils.o: utils.c ${INCLS} 
108
109 map.o: map.c ${INCLS}
110
111 ptint.ss.o: ptint.ss.c ptint.xdr.c ptint.xg
112 ptint.cs.o: ptint.cs.c ptint.xdr.c ptint.xg
113 ptint.xdr.o: ptint.xdr.c ptint.h ptint.xg
114
115 ptint.cs.c: ptint.xg
116         ${RXGEN} -A -x -C -u -o $@ ${srcdir}/ptint.xg
117
118 ptint.ss.c: ptint.xg
119         ${RXGEN} -A -x -S -o $@ ${srcdir}/ptint.xg
120
121 ptint.xdr.c: ptint.xg
122         ${RXGEN} -A -x -c -o $@ ${srcdir}/ptint.xg
123
124 ptint.h: ptint.xg
125         ${RXGEN} -A -x -h -u -o $@ ${srcdir}/ptint.xg
126
127 ptint.cs.c: ptint.h
128 ptint.ss.c: ptint.h
129 ptint.xdr.c: ptint.h
130
131 Kptint.cs.c: ptint.xg Kptint.h
132         ${RXGEN} -A -x -k -C -o Kptint.cs.c ${srcdir}/ptint.xg
133
134 Kptint.xdr.c: ptint.xg
135         ${RXGEN} -A -x -k -c -o Kptint.xdr.c ${srcdir}/ptint.xg
136
137 Kptint.h: ptint.xg
138         ${RXGEN} -A -x -k -h -o Kptint.h ${srcdir}/ptint.xg
139
140 display.o: display.c ${INCLS}
141
142 db_verify.o: db_verify.c ${INCLS} AFS_component_version_number.c
143
144 db_verify: db_verify.o pterror.o display.o $(LIBS)
145         $(CC) ${CFLAGS} -o db_verify db_verify.o display.o pterror.o $(LIBS) ${XLIBS}
146
147 ptclient: ptclient.o display.o libprot.a $(LIBS)
148         $(CC) ${CFLAGS} -o ptclient ptclient.o display.o libprot.a $(LIBS) ${XLIBS}
149
150 ptclient.o: ptclient.c ${INCLS} AFS_component_version_number.c
151
152 ptuser.o: ptuser.c ${LINCLS}
153
154 pterror.h pterror.c: pterror.et
155         $(RM) -f pterror.h pterror.c
156         ${COMPILE_ET} -p ${srcdir} pterror
157
158 libprot.a: ptuser.o pterror.o ptint.cs.o ptint.xdr.o AFS_component_version_number.o
159         $(RM) -f $@
160         $(AR) crv $@ ptuser.o pterror.o ptint.cs.o ptint.xdr.o AFS_component_version_number.o
161         $(RANLIB) $@
162
163 pts: pts.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS)
164         $(CC) ${CFLAGS} -o pts pts.o ${TOP_LIBDIR}/libcmd.a libprot.a ${LIBS} ${XLIBS}
165
166 pts.o: pts.c ${LINCLS} ${TOP_INCDIR}/afs/cmd.h AFS_component_version_number.c
167
168 readgroup: readgroup.o libprot.a $(LIBS)
169         $(CC) ${CFLAGS} -o readgroup readgroup.o libprot.a ${LIBS} ${XLIBS}
170
171 readgroup.o: readgroup.c ${LINCLS} AFS_component_version_number.c
172
173 readpwd: readpwd.o libprot.a $(LIBS)
174         $(CC) ${CFLAGS} -o readpwd readpwd.o libprot.a ${LIBS} ${XLIBS}
175
176 readpwd.o: readpwd.c ${LINCLS} AFS_component_version_number.c
177
178 testpt: testpt.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS)
179         case "$(SYS_NAME)" in \
180         *_darwin_12 ) \
181                 $(CC) ${CFLAGS} -o testpt testpt.o ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ;; \
182         * ) \
183                 $(CC) ${CFLAGS} -o testpt testpt.o -lm ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ${XLIBS} ;; \
184         esac
185
186 testpt.o: testpt.c ${INCLS} ${TOP_INCDIR}/afs/cmd.h AFS_component_version_number.c
187
188 pt_util: pt_util.o ptutils.o ubik.o utils.o map.o libprot.a $(LIBS)
189         $(CC) ${CFLAGS} -o pt_util pt_util.o ptutils.o ubik.o utils.o map.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS) ${XLIBS}
190
191 ubik.o: ubik.c ${INCLS}
192
193 prerror.h: pterror.h
194         ${INSTALL_DATA} $? $@
195         echo '#define ERROR_TABLE_BASE_pr ERROR_TABLE_BASE_PT' >> $@
196
197 #
198 # Installation targets
199 #
200 install: ptserver pts pt_util db_verify libprot.a ptclient.h pterror.h \
201                 ptint.h ptserver.h
202         ${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}
203         ${INSTALL} -d ${DESTDIR}${afssrvbindir}
204         ${INSTALL} -d ${DESTDIR}${afssrvsbindir}
205         ${INSTALL} -d ${DESTDIR}${bindir}
206         ${INSTALL} -d ${DESTDIR}${libdir}/afs
207         ${INSTALL} -d ${DESTDIR}${includedir}/afs
208         if [ "x$(ENABLE_PTHREADED_UBIK)" != "xyes" ] ; then
209                 ${INSTALL_PROGRAM} ptserver ${DESTDIR}${afssrvlibexecdir}/ptserver \
210                 ${INSTALL_PROGRAM} pts ${DESTDIR}${afssrvbindir}/pts \
211                 ${INSTALL_PROGRAM} pts ${DESTDIR}${bindir}/pts \
212                 ${INSTALL_PROGRAM} pt_util ${DESTDIR}${afssrvsbindir}/pt_util \
213                 ${INSTALL_PROGRAM} db_verify ${DESTDIR}${afssrvsbindir}/prdb_check \
214         fi
215         ${INSTALL_DATA} libprot.a ${DESTDIR}${libdir}/afs/libprot.a
216         ${INSTALL_DATA} ptclient.h ${DESTDIR}${includedir}/afs/prclient.h
217         ${INSTALL_DATA} pterror.h ${DESTDIR}${includedir}/afs/prerror.h
218         ${INSTALL_DATA} ptint.h ${DESTDIR}${includedir}/afs/print.h
219         ${INSTALL_DATA} ptserver.h ${DESTDIR}${includedir}/afs/prserver.h
220         ${INSTALL_DATA} ptclient.h ${DESTDIR}${includedir}/afs/ptclient.h
221         ${INSTALL_DATA} ptuser.h ${DESTDIR}${includedir}/afs/ptuser.h
222         ${INSTALL_DATA} pterror.h ${DESTDIR}${includedir}/afs/pterror.h
223         ${INSTALL_DATA} ptint.h ${DESTDIR}${includedir}/afs/ptint.h
224         ${INSTALL_DATA} ptserver.h ${DESTDIR}${includedir}/afs/ptserver.h
225
226 dest: ptserver pts pt_util db_verify libprot.a ptclient.h pterror.h \
227                 ptint.h ptserver.h
228         ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
229         ${INSTALL} -d ${DEST}/bin
230         ${INSTALL} -d ${DEST}/etc
231         ${INSTALL} -d ${DEST}/lib/afs
232         ${INSTALL} -d ${DEST}/include/afs
233         if [ "x$(ENABLE_PTHREADED_UBIK)" != "xyes" ] ; then \
234                 ${INSTALL_PROGRAM} ptserver ${DEST}/root.server/usr/afs/bin/ptserver; \
235                 ${INSTALL_PROGRAM} pts ${DEST}/root.server/usr/afs/bin/pts; \
236                 ${INSTALL_PROGRAM} pts ${DEST}/bin/pts; \
237                 ${INSTALL_PROGRAM} pt_util ${DEST}/root.server/usr/afs/bin/pt_util; \
238                 ${INSTALL_PROGRAM} db_verify ${DEST}/etc/prdb_check; \
239         fi;
240         ${INSTALL_DATA} libprot.a ${DEST}/lib/afs/libprot.a
241         ${INSTALL_DATA} ptclient.h ${DEST}/include/afs/prclient.h
242         ${INSTALL_DATA} pterror.h ${DEST}/include/afs/prerror.h
243         ${INSTALL_DATA} ptint.h ${DEST}/include/afs/print.h
244         ${INSTALL_DATA} ptserver.h ${DEST}/include/afs/prserver.h
245         ${INSTALL_DATA} ptclient.h ${DEST}/include/afs/ptclient.h
246         ${INSTALL_DATA} ptuser.h ${DEST}/include/afs/ptuser.h
247         ${INSTALL_DATA} pterror.h ${DEST}/include/afs/pterror.h
248         ${INSTALL_DATA} ptint.h ${DEST}/include/afs/ptint.h
249         ${INSTALL_DATA} ptserver.h ${DEST}/include/afs/ptserver.h
250
251 #
252 # Misc. targets
253 #
254 clean:
255         $(RM) -f *.a *.o ptserver ptint.cs.c ptint.ss.c ptclient ptint.xdr.c ptint.h \
256         libprot.a pts readgroup readpwd db_verify testpt pt_util pterror.h pterror.c \
257         core AFS_component_version_number.c Kptint.cs.c Kptint.h Kptint.xdr.c
258
259 include ../config/Makefile.version