1#         $NetBSD: bsd.rpc.mk,v 1.13 2013/12/15 00:28:45 christos Exp $
2
3.include <bsd.init.mk>
4
5RPC_XDIR?=          ${.CURDIR}/
6RPCGEN_FLAGS?=      -B
7
8# We don't use implicit suffix rules here to avoid dependencies in the
9# Installed files.
10
11.if defined(RPC_INCS)                                                           # {
12
13.for I in ${RPC_INCS}
14${I}: ${I:.h=.x}
15          ${_MKTARGET_CREATE}
16          ${TOOL_RPCGEN} ${RPCGEN_FLAGS} -h ${RPC_XDIR}${I:.h=.x} -o ${.TARGET}
17.endfor
18
19DPSRCS+=  ${RPC_INCS}
20CLEANFILES+=        ${RPC_INCS}
21
22.endif                                                                          # }
23
24
25.if defined(RPC_XDRFILES)                                             # {
26
27.for I in ${RPC_XDRFILES}
28${I}: ${RPC_XDIR}${I:_xdr.c=.x}
29          ${_MKTARGET_CREATE}
30          ${TOOL_RPCGEN} ${RPCGEN_FLAGS} -c ${RPC_XDIR}${I:_xdr.c=.x} -o ${.TARGET}
31.endfor
32
33DPSRCS+=  ${RPC_XDRFILES}
34CLEANFILES+=        ${RPC_XDRFILES}
35
36.endif                                                                          # }
37
38
39.if defined(RPC_SVCFILES)                                             # {
40
41.for I in ${RPC_SVCCLASS}
42_RPCS += -s ${I}
43.endfor
44
45.for I in ${RPC_SVCFILES}
46
47${I}: ${RPC_XDIR}${I:_svc.c=.x}
48          ${_MKTARGET_CREATE}
49          ${TOOL_RPCGEN} ${RPCGEN_FLAGS} ${_RPCS} ${RPC_SVCFLAGS} ${RPC_XDIR}${I:_svc.c=.x} \
50                    -o ${.TARGET}
51.endfor
52
53DPSRCS+=  ${RPC_SVCFILES}
54CLEANFILES+=        ${RPC_SVCFILES}
55
56.endif                                                                          # }
57
58.if defined(RPC_CLNTFILES)                                            # {
59
60.for I in ${RPC_CLNTFILES}
61
62${I}: ${RPC_XDIR}${I:_clnt.c=.x}
63          ${_MKTARGET_CREATE}
64          ${TOOL_RPCGEN} ${RPCGEN_FLAGS} -l ${_RPCS} ${RPC_CLNTFLAGS} \
65                    ${RPC_XDIR}${I:_clnt.c=.x} -o ${.TARGET}
66.endfor
67
68DPSRCS+=  ${RPC_CLNTFILES}
69CLEANFILES+=        ${RPC_CLNTFILES}
70
71.endif                                                                          # }
72
73##### Pull in related .mk logic
74.include <bsd.obj.mk>
75.include <bsd.sys.mk>
76.include <bsd.clean.mk>
77