10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
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]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25 #
26 # cmd/rpcsvc/Makefile
27
28 PROTOCOL_DIR= $(ROOT)/usr/include/rpcsvc
29
30 BINPROG= rusers rup
31 SBINPROG= rwall spray
32 RPROG= rpc.rusersd
33 SPROG= rpc.sprayd
34 WPROG= rpc.rwalld
35 TPROG= rpc.rstatd
36
37 PROG= $(BINPROG) $(SBINPROG) $(RPROG) $(SPROG) $(WPROG) $(TPROG)
38
39 MANIFEST= \
40 rusers.xml \
41 spray.xml \
42 wall.xml \
43 rstat.xml
44
45 SVCMETHOD=
46
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
52
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
56
57 include ../Makefile.cmd
58
59 ROOTMANIFESTDIR= $(ROOTSVCNETWORKRPC)
60
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
67 LDLIBS += -lnsl
68 rusers := CFLAGS += $(CCVERBOSE)
69 $(BINPROG) := LDLIBS += -lrpcsvc
70 $(RPROG) := LDLIBS += -lrpcsvc
71 $(SPROG) := LDLIBS += -lrpcsvc
72 $(TPROG) := LDLIBS += -lrpcsvc
73 spray := LDLIBS += -lrpcsvc
74
75
76 SUBDIRS= rpc.bootparamd
77 OBJS= $(SCLNTOBJS) $(SSVCOBJS) $(WCLNTOBJS) $(WSVCOBJS) $(TSVCOBJS)
78 SRCS= $(OBJS:%.o=%.c) rusers.c rpc.rusersd.c rup.c
79
80 ETCFILES= rpc
81
82 TXTS= $(ETCFILES:%=net_files/%)
83
84 NETSVC= $(ROOTLIB)/netsvc
85 NIS = $(NETSVC)/nis
86 RWALL= $(NETSVC)/rwall
87 RUSERS= $(NETSVC)/rusers
88 SPRAY= $(NETSVC)/spray
89 RSTAT= $(NETSVC)/rstat
90
91 ROOTDIRS= \
92 $(NETSVC) \
93 $(NIS) \
94 $(RWALL) \
95 $(RUSERS) \
96 $(SPRAY) \
97 $(RSTAT)
98
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)/%)
106
107 # non-default file attributes
108 $(ROOTETC)/rpc := FILEMODE= 0644
109
110 all:= TARGET= all
111 install:= TARGET= install
112 clean:= TARGET= clean
113 clobber:= TARGET= clobber
114 lint:= TARGET= lint
115
116 rpc.rstatd:= LDLIBS += -lkstat
117 rwall:= CPPFLAGS += -D_REENTRANT
118 rpc.rwalld:= CPPFLAGS += -D_REENTRANT
119
120 # install rules
121
122 $(RWALL)/% $(SPRAY)/% $(RUSERS)/% $(RSTAT)/%: %
123 $(INS.file)
124
125 $(ROOTETC)/%: ./net_files/%
126 $(INS.file)
127
128 .KEEP_STATE:
129
130 all: $(PROG) $(TXTS) $(SUBDIRS)
131
132 # multi-object targets
133 #
134 spray: $(SCLNTOBJS)
135 $(LINK.c) $(SCLNTOBJS) -o $@ $(LDLIBS)
136 $(POST_PROCESS)
137
138 spray_svc.o spray_clnt.o: spray.h
139
140 rpc.sprayd: $(SSVCOBJS)
141 $(LINK.c) $(SSVCOBJS) -o $@ $(LDLIBS)
142 $(POST_PROCESS)
143
144 rwall_svc.o rwall_clnt.o: rwall.h
145
146 rwall: $(WCLNTOBJS)
147 $(LINK.c) $(WCLNTOBJS) -o $@ $(LDLIBS)
148 $(POST_PROCESS)
149
150 rpc.rwalld: $(WSVCOBJS)
151 $(LINK.c) $(WSVCOBJS) -o $@ $(LDLIBS)
152 $(POST_PROCESS)
153
154 rstat_main.o: rstat.h rstat_v2.h
155
156 rstat_svc.o: rstat.h
157
158 rstat_V2_svc.o rstat_V2_xdr.o: rstat_v2.h
159
160 rpc.rstatd: $(TSVCOBJS)
161 $(LINK.c) $(TSVCOBJS) -o $@ $(LDLIBS)
162 $(POST_PROCESS)
163
164 install: $(PROG) $(TXTS) .WAIT $(ROOTDIRS) .WAIT $(IBINPROG) $(ISBINPROG) \
165 $(IWPROG) $(ISPROG) $(IRPROG) $(ITPROG) $(IETCFILES) $(SUBDIRS) \
166 $(ROOTMANIFEST) $(ROOTSVCMETHOD)
167
168 $(ROOTDIRS):
169 $(INS.dir)
170
171 $(SUBDIRS): FRC
172 @cd $@; pwd; $(MAKE) $(TARGET)
173
174 #
175 # Derived files
176 #
177
178 rstat.x: $(PROTOCOL_DIR)/rstat.x
179 $(RM) rstat.x
180 $(CP) $(PROTOCOL_DIR)/rstat.x rstat.x
181
182 rstat.h: $(PROTOCOL_DIR)/rstat.h
183 $(RM) rstat.h
184 $(CP) $(PROTOCOL_DIR)/rstat.h rstat.h
185
186 rstat_svc.c: rstat.x
187 $(RPCGEN) -C -m rstat.x > $@
188
189 rstat_v2.h: rstat_v2.x
190 $(RPCGEN) -C -h rstat_v2.x > $@
191
192 rstat_v2_svc.c: rstat_v2.x
193 $(RPCGEN) -C -m rstat_v2.x > $@
194
195 rstat_v2_xdr.c: rstat_v2.x
196 $(RPCGEN) -c rstat_v2.x > $@
197
198 spray.x: $(PROTOCOL_DIR)/spray.x
199 $(RM) spray.x
200 $(CP) $(PROTOCOL_DIR)/spray.x spray.x
201
202 spray.h: $(PROTOCOL_DIR)/spray.h
203 $(RM) spray.h
204 $(CP) $(PROTOCOL_DIR)/spray.h spray.h
205
206 spray_svc.c: spray.x
207 $(RPCGEN) -s datagram_v -s circuit_v spray.x > $@
208
209 spray_clnt.c: spray.x
210 $(RPCGEN) -l spray.x > $@
211
212 rwall.x: $(PROTOCOL_DIR)/rwall.x
213 $(RM) rwall.x
214 $(CP) $(PROTOCOL_DIR)/rwall.x rwall.x
215
216 rwall.h: $(PROTOCOL_DIR)/rwall.h
217 $(RM) rwall.h
218 $(CP) $(PROTOCOL_DIR)/rwall.h rwall.h
219
220 rwall_svc.c: rwall.x
221 $(RPCGEN) -A -s datagram_v rwall.x > $@
222
223 rwall_clnt.c: rwall.x
224 $(RPCGEN) -l -M rwall.x > $@
225
226 check: $(CHKMANIFEST)
227
228 clean: $(SUBDIRS)
229 -$(RM) $(OBJS) $(DERIVED_FILES)
230
231 clobber: $(SUBDIRS)
232
233 lint:
234 $(LINT.c) $(WCLNTOBJS:%.o=%.c) -lnsl -lrpcsvc
235 $(LINT.c) $(WSVCOBJS:%.o=%.c) -lnsl -lrpcsvc
236 $(LINT.c) rusers.c -lnsl -lrpcsvc
237
238 FRC:
239
240 include ../Makefile.targ
|
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
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]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25 #
26 # cmd/rpcsvc/Makefile
27
28 PROTOCOL_DIR= $(ROOT)/usr/include/rpcsvc
29
30 include ../Makefile.cmd
31
32 SUBDIRS= rpc.bootparamd
33 ETCFILES= rpc
34
35 TXTS= $(ETCFILES:%=net_files/%)
36
37 NETSVC= $(ROOTLIB)/netsvc
38 NIS = $(NETSVC)/nis
39
40 ROOTDIRS= \
41 $(NETSVC) \
42 $(NIS) \
43
44 IETCFILES= $(ETCFILES:%=$(ROOTETC)/%)
45
46 # non-default file attributes
47 $(ROOTETC)/rpc := FILEMODE= 0644
48
49 all:= TARGET= all
50 install:= TARGET= install
51 clean:= TARGET= clean
52 clobber:= TARGET= clobber
53 lint:= TARGET= lint
54
55 # install rules
56
57 $(ROOTETC)/%: ./net_files/%
58 $(INS.file)
59
60 .KEEP_STATE:
61
62 all: $(TXTS) $(SUBDIRS)
63
64 install: $(TXTS) .WAIT $(ROOTDIRS) .WAIT $(IETCFILES) $(SUBDIRS)
65
66 $(ROOTDIRS):
67 $(INS.dir)
68
69 $(SUBDIRS): FRC
70 @cd $@; pwd; $(MAKE) $(TARGET)
71
72 check:
73
74 clean: $(SUBDIRS)
75
76 clobber: $(SUBDIRS)
77
78 lint:
79
80 FRC:
81
82 include ../Makefile.targ
|