4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
28 PROTOCOL_DIR
= $(ROOT
)/usr
/include/rpcsvc
37 PROG
= $(BINPROG
) $(SBINPROG
) $(RPROG
) $(SPROG
) $(WPROG
) $(TPROG
)
47 SCLNTOBJS
= spray.o spray_clnt.o
48 SSVCOBJS
= spray_subr.o spray_svc.o
49 WCLNTOBJS
= rwall.o rwall_clnt.o
50 WSVCOBJS
= rwall_subr.o rwall_svc.o
51 TSVCOBJS
= rstat_main.o rstat_proc.o rstat_svc.o rstat_v2_svc.o rstat_v2_xdr.o
53 DERIVED_FILES
= rstat.x rstat.h rstat_svc.c rstat_v2.h rstat_v2_svc.c \
54 rstat_v2_xdr.c spray.x spray.h spray_clnt.c spray_svc.c \
55 rwall.x rwall.h rwall_svc.c rwall_clnt.c
57 include ..
/Makefile.cmd
59 ROOTMANIFESTDIR
= $(ROOTSVCNETWORKRPC
)
61 CPPFLAGS
= -I.
$(CPPFLAGS.master
)
62 CERRWARN
+= -_gcc
=-Wno-implicit-function-declaration
63 CERRWARN
+= -_gcc
=-Wno-unused-variable
64 CERRWARN
+= -_gcc
=-Wno-parentheses
65 CERRWARN
+= -_gcc
=-Wno-extra
66 CERRWARN
+= -_gcc
=-Wno-unused-function
68 rusers
:= CFLAGS
+= $(CCVERBOSE
)
69 $(BINPROG
) := LDLIBS
+= -lrpcsvc
70 $(RPROG
) := LDLIBS
+= -lrpcsvc
71 $(SPROG
) := LDLIBS
+= -lrpcsvc
72 $(TPROG
) := LDLIBS
+= -lrpcsvc
73 spray
:= LDLIBS
+= -lrpcsvc
76 SUBDIRS
= rpc.bootparamd
77 OBJS
= $(SCLNTOBJS
) $(SSVCOBJS
) $(WCLNTOBJS
) $(WSVCOBJS
) $(TSVCOBJS
)
78 SRCS
= $(OBJS
:%.o
=%.c
) rusers.c rpc.rusersd.c rup.c
82 TXTS
= $(ETCFILES
:%=net_files
/%)
84 NETSVC
= $(ROOTLIB
)/netsvc
86 RWALL
= $(NETSVC
)/rwall
87 RUSERS
= $(NETSVC
)/rusers
88 SPRAY
= $(NETSVC
)/spray
89 RSTAT
= $(NETSVC
)/rstat
99 IBINPROG
= $(BINPROG
:%=$(ROOTBIN
)/%)
100 ISBINPROG
= $(SBINPROG
:%=$(ROOTUSRSBIN
)/%)
101 IWPROG
= $(WPROG
:%=$(RWALL
)/%)
102 ISPROG
= $(SPROG
:%=$(SPRAY
)/%)
103 IRPROG
= $(RPROG
:%=$(RUSERS
)/%)
104 ITPROG
= $(TPROG
:%=$(RSTAT
)/%)
105 IETCFILES
= $(ETCFILES
:%=$(ROOTETC
)/%)
107 # non-default file attributes
108 $(ROOTETC
)/rpc
:= FILEMODE
= 0644
111 install:= TARGET
= install
112 clean:= TARGET
= clean
113 clobber:= TARGET
= clobber
116 rpc.rstatd
:= LDLIBS
+= -lkstat
117 rwall
:= CPPFLAGS
+= -D_REENTRANT
118 rpc.rwalld
:= CPPFLAGS
+= -D_REENTRANT
122 $(RWALL
)/% $(SPRAY
)/% $(RUSERS
)/% $(RSTAT
)/%: %
125 $(ROOTETC
)/%: .
/net_files
/%
130 all: $(PROG
) $(TXTS
) $(SUBDIRS
)
132 # multi-object targets
135 $(LINK.c
) $(SCLNTOBJS
) -o
$@
$(LDLIBS
)
138 spray_svc.o spray_clnt.o
: spray.h
140 rpc.sprayd
: $(SSVCOBJS
)
141 $(LINK.c
) $(SSVCOBJS
) -o
$@
$(LDLIBS
)
144 rwall_svc.o rwall_clnt.o
: rwall.h
147 $(LINK.c
) $(WCLNTOBJS
) -o
$@
$(LDLIBS
)
150 rpc.rwalld
: $(WSVCOBJS
)
151 $(LINK.c
) $(WSVCOBJS
) -o
$@
$(LDLIBS
)
154 rstat_main.o
: rstat.h rstat_v2.h
158 rstat_V2_svc.o rstat_V2_xdr.o
: rstat_v2.h
160 rpc.rstatd
: $(TSVCOBJS
)
161 $(LINK.c
) $(TSVCOBJS
) -o
$@
$(LDLIBS
)
164 install: $(PROG
) $(TXTS
) .WAIT
$(ROOTDIRS
) .WAIT
$(IBINPROG
) $(ISBINPROG
) \
165 $(IWPROG
) $(ISPROG
) $(IRPROG
) $(ITPROG
) $(IETCFILES
) $(SUBDIRS
) \
166 $(ROOTMANIFEST
) $(ROOTSVCMETHOD
)
172 @cd
$@
; pwd
; $(MAKE
) $(TARGET
)
178 rstat.x
: $(PROTOCOL_DIR
)/rstat.x
180 $(CP
) $(PROTOCOL_DIR
)/rstat.x rstat.x
182 rstat.h
: $(PROTOCOL_DIR
)/rstat.h
184 $(CP
) $(PROTOCOL_DIR
)/rstat.h rstat.h
187 $(RPCGEN
) -C
-m rstat.x
> $@
189 rstat_v2.h
: rstat_v2.x
190 $(RPCGEN
) -C
-h rstat_v2.x
> $@
192 rstat_v2_svc.c
: rstat_v2.x
193 $(RPCGEN
) -C
-m rstat_v2.x
> $@
195 rstat_v2_xdr.c
: rstat_v2.x
196 $(RPCGEN
) -c rstat_v2.x
> $@
198 spray.x
: $(PROTOCOL_DIR
)/spray.x
200 $(CP
) $(PROTOCOL_DIR
)/spray.x spray.x
202 spray.h
: $(PROTOCOL_DIR
)/spray.h
204 $(CP
) $(PROTOCOL_DIR
)/spray.h spray.h
207 $(RPCGEN
) -s datagram_v
-s circuit_v spray.x
> $@
209 spray_clnt.c
: spray.x
210 $(RPCGEN
) -l spray.x
> $@
212 rwall.x
: $(PROTOCOL_DIR
)/rwall.x
214 $(CP
) $(PROTOCOL_DIR
)/rwall.x rwall.x
216 rwall.h
: $(PROTOCOL_DIR
)/rwall.h
218 $(CP
) $(PROTOCOL_DIR
)/rwall.h rwall.h
221 $(RPCGEN
) -A
-s datagram_v rwall.x
> $@
223 rwall_clnt.c
: rwall.x
224 $(RPCGEN
) -l
-M rwall.x
> $@
226 check: $(CHKMANIFEST
)
229 -$(RM
) $(OBJS
) $(DERIVED_FILES
)
234 $(LINT.c
) $(WCLNTOBJS
:%.o
=%.c
) -lnsl
-lrpcsvc
235 $(LINT.c
) $(WSVCOBJS
:%.o
=%.c
) -lnsl
-lrpcsvc
236 $(LINT.c
) rusers.c
-lnsl
-lrpcsvc
240 include ..
/Makefile.targ